基于.net平台c#语言的AutoCAD二次开发入门
- 开发入门
1.1 软件准备
Visual Studio 2017 AutoCAD 2014
- 1
1.2 开发环境准备
首先打开我们的 Visual Studio软件,菜单栏点击“文件→新建→项目”,选择Visual C#下的“类库(.NET Framework)”,在下面的文字框内容填写类名与项目路径(由于我的AutoCAD是2014版本,在这里我们选择的是.NET Framework4,根据AutoCAD版本的不同,.NET Framework版本的选择要注意),点击“确定”,完成项目的创建。
在项目名FirstCad下,鼠标右键点击“引用→添加引用”按钮,弹出对话框,点击“浏览”,输入CAD的安装目录(*\Autodesk\AutoCAD XXXX),加载该目录下的acdbmgd.dll、acmgd.dll、accoremgd.dll、AcCui.dll文件,点击“确定”,我们所需要的几个动态链接库(.dll全称 Dynamic Link Library )被加载进来。选中这四个类库,右键进入“属性”,将“复制本地”选择框设置为false。
常用的AutoCAD .NET API的四个主要DLL文件
名称 | 作用 | 备注 |
---|---|---|
AcDbMgd.dll | 处理图形文件中存储的对象 | |
AcMgd.dll | 处理AutoCAD应用程序和用户接口 | |
AcCui.dll | 处理自定义文件 | |
AcCoreMgd.dll | 处理编辑器、发布与打印、定义AutoLISP命令和函数 | AutoCAD 2014版 |
在项目的调试选项中,添加启动外部选项,指定我们的CAD的启动目录(acad.exe),具体设置如下图。设置完毕后,在我们debug时自动启动CAD软件。
1.3 代码运行环境测试
在我们的Class1.cs里面引入刚导入的其他工作空间定义的类型(为了测试,暂时导入三个,以后会导入其他的),代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//导入的其他工作空间定义的类
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
namespace FirstCad
{
public class Class1
{
[CommandMethod(“HelloWorld”)]//设计的新命令
public void HelloWorld()//调用HelloWorld 命令要调用的函数
{
Document acDoc = Application.DocumentManager.MdiActiveDocument;//获取当前的活动文档
Editor acEd = acDoc.Editor;//当前的编辑器对象,命令行对象?
acEd.WriteMessage("Hello AutoDesk !! please take care of me!");//输出字符串
}
}
}
代码写好后,在项目名FirstCad上右键点击“调试→启动新实例”按钮,我们引入的CAD 软件会被打开(根据电脑运行速度的不同,有些首次运行可能会慢一点),在命令行输入【NETLOAD】命令,弹出对话框,选择我们编译生成的FirstCad.dll(*\FirstCad\FirstCad\bin\Debug\FirstCad.dll),然后在输入【HelloWorld】命令,命令行会输出我们设定的字符串(Hello AutoDesk !! please take care of me!)。这样的话,我们的测试就完成了,可以继续进行后续的开发。
————————————————
转载于:
原文链接:https://blog.csdn.net/qq_41441896/article/details/103578814