admin管理员组

文章数量:1627439

C#用 AutoCAD2011 CAD转PDF

    • 先要安装AutoCAD2011,或者2020
    • 程序

先要安装AutoCAD2011,或者2020

2011
安装后C:\Program Files\Common Files\Autodesk Shared\acax18chs.tlb直接引用这个
2020
安装后C:\Program Files\Common Files\Autodesk Shared\acax23chs.tlb直接引用这个

程序

 private static AcadApplication _app = null;

private static void Initialization()
        {
            string programID = "AutoCAD.Application.18.1";
            try
            {
                //如果CAD已经打开,就直接获取
                _app = (AcadApplication)Marshal.GetActiveObject(programID);
            }
            catch
            {
                try
                {
                    //创建新的实例
                    _app = (AcadApplication)new AcadDocument().Application;
                }
                catch
                {
                    throw;
                }
            }
        }


public static void Dwg2Pdf()
        {
            Initialization();
            AcadDocument doc = null;
            string destPath = string.Empty;
            try
            {
                doc = _app.Documents.Open(@"F:\源码\新1\CAD\to8to\009.dwg", true);
                doc.SetVariable("sdi", 0);
                doc.SetVariable("Filedia", 0);
                doc.SetVariable("RASTERPREVIEW", 1);
                doc.SetVariable("BACKGROUNDPLOT", 0);
                //C:\Program Files\Common Files\Autodesk Shared\acax18chs.tlb
                doc.ActiveLayout.ConfigName = "DWG to PDF.pc3";//DWGtoPDF.pc3 或者 DWG to PDF.pc3
                doc.ActiveLayout.UseStandardScale = true;
                doc.ActiveLayout.StandardScale = AcPlotScale.acScaleToFit;
                doc.ActiveLayout.PlotType = AcPlotType.acExtents;
                doc.ActiveLayout.CenterPlot = true;
                doc.ActiveLayout.PlotRotation = AcPlotRotation.ac0degrees;
                doc.Plot.QuietErrorMode = true;
                destPath = Path.Combine(@"F:\源码\新1\CAD\to8to", "001.pdf");
                doc.Plot.PlotToFile(destPath);
                if (doc != null) doc.Close(false);
            }
            catch (System.Exception e)
            {
                throw e;
            }
            finally
            {
                try
                {
                    doc.Close(false);
                    _app.Quit();
                }
                catch { }
            }
        }

本文标签: PDFcad