c# CAD二次开发入门学习一

上个月开始接触C# 的CAD二次开发,通常使用cad的人群都是学习工程或是设计行业的。我在这里发表一下学习的过程,写得不好勿喷,只希望能帮到有需要的人。

下面我们直接开始进入主题吧:

首先我们需要安装好AutoCAD 绘图工具,接下来需要引用到绘图工具的程序集。

接下来我们进入到项目,我们需要引用 Interop.ACFOCUSCTRLLib.dll    Autodesk.AutoCAD.Interop.dll  Autodesk.AutoCAD.Interop.Common.dll  ,这几个文件可以到你安装包里面的文件夹里找到。

c# CAD二次开发入门学习一_第1张图片

 

准备工作完成了,接着下一步。这里我先建立了一个CAD启动类CadClass,实现打开CAD绘图工具,最后返回的是一个AcadApplication对象,

public class CadClass
    {

        public static AcadApplication GetObject()
        {
            AcadApplication oAcadApplication;
            try
            {
                bool isExist = false;
                Process[] oProcess = Process.GetProcesses();
                foreach (var oItem in oProcess)
                {
                    if (oItem.ProcessName.Contains("acad"))
                    {
                        //判断是否一定打开CAD绘图工具
                        if ((int)oItem.MainWindowHandle == 0)
                        {
                            if (!oItem.HasExited)
                            {
                                oItem.Kill();
                            }
                            else
                            {
                                oItem.Close();
                                oItem.Dispose();
                            }
                        }
                        else
                        {
                            isExist = true;
                            break;
                        }
                    }
                }
                object o = new object();
                if (!isExist)
                {
                    Type oType = Type.GetTypeFromProgID("AutoCAD.Application.18");
                    o = Activator.CreateInstance(oType);
                    //新创建的就设置最大化信息
                    oAcadApplication = (AcadApplication)o;
                }
                else
                {
                    o = Marshal.GetActiveObject("AutoCAD.Application.18");
                    oAcadApplication = (AcadApplication)o;
                    oAcadApplication.Visible = true;
                }
                return oAcadApplication;
            }
            catch (COMException x)
            {
                throw new COMException("请重试\r\n" + x.Message);
            }

        }

    }

 有了画板之后,我们就要打开一张图纸来进行绘图,并获取一个图形 对象 oAcadDocument  

 string FileName = @"E:\模板\sketch_Drawing_05.dwg";
 AcadApplication oAcadApplication = CadClass.GetObject();
//最大化autoCAD
 oAcadApplication.WindowState = Autodesk.AutoCAD.Interop.Common.AcWindowState.acMax;
//打开并获取当前AutoCAD活动图形对象
  AcadDocument oAcadDocument = oAcadApplication.Documents.Open(FileName, null, null);

 到这里我们已经成功用程序实现打开了一张dwg图纸。

 c# CAD二次开发入门学习一_第2张图片

 

CAD二次开发学习二,进入详细的线条描绘说明。

 

你可能感兴趣的:(-)