爱T帮
我们的信心,源于客户的信赖
帮助企业构建数字化管理体系、统一规范企业管理结构,更以专业、周到的服务在业界有口皆碑!

AutoCAD二次开发之路-基础

日期:2022-10-29
已查看:0
点赞:

学习AutoCAD二次开发已经有一段时间了,磕磕碰碰,十分的艰辛枯燥。但回想一下还是会有些小激动,嘿嘿!这段时间一直都有这么个想法,就是将我学习CAD二次开发的过程用文字的方式记录下来,形成系列,并定期更新。主要内容就是记录自己每天学习过程中所碰见的问题和感悟,并总结今天所学到的内容。目的一是激励自己坚持下去,看着自己一步一步的提高,多有成就感。还有就是和大家积极沟通,希望能够指正我的错误,减少我的弯路。再者就是望能给后面学习的人一点点借鉴经验,好吧其实还有点装B的心里。废话不多说就进入今天的正题:

使用工具:VisualStudio2013和AutoCAD2010

学习工具:《AutoCADVBA和VB.NET开发基础和实例教程》C#版、《深入浅出AutoCAD.NET二次开发》、《AutoCAD.net开发人员手册》和网络(目前)

操作系统:Win1064位

开发语言:C#

软件设置:

1.打开VisualStudio2013,新建一个【类库】项目;

2.在软件右侧【解决方案资源管理器】(如果没有,在【视图】中选择选项即可)的项目内找到“引用”,右击选择【添加引用】,然后选择【浏览】选项卡,接着找到CAD安装目录下的acdbmgd.dll和acmgd.dll这两个文件,【确定】;

3.在“引用”中找到刚引用的两个文件acdbmgd.dll和acmgd.dll,右击选择属性,将他们【复制本地】的值设为“False”,双击即可更改。顾名思义,如果【复制本地】的值为“True”时,会将这两个文件复制到当前所创建项目下,会导致AutoCAD运行时发生未知错误(其实我也没试过),在【解决方案资源管理器】里可以包含多个类库文件,每个类库里也可以添加多个类文件(.cs)。每次添加新的【类库】时,都要引用acdbmgd.dll和acmgd.dll这两个文件。

4.右击类库名,选择属性,将【应用程序】中“目标框架”里面的内容改为“.NETFramework3.5”,将【生成】中“目标平台”改为“X64”(这个是根据操作系统来选择的,X86是32位,X64则为64位,貌似不改也可以)。

AutoCAD.NET与VisualStudio版本对应关系AutoCAD版本.NET版本VisualStudio版本2010-2011(R18.0-R18.1)3.5VS2008SP12012(R18.2)4VS20102013(R19.0)4VS2010SP1
CAD二次开发之路-基础

5.添加命名空间,目的是为了方便调用命名空间中的集成函数,刚看到这得时候也不是很理解,但到后面的具体实例,亲自动手实验了下,就明白了。前几天刚看了教学视频,其中有一句话对我影响很大,他是说不要心疼电脑的键盘,学习编程就要不断的敲击键盘,当你敲坏一个键盘的时候,你就入门了,当你敲得代码有10G的时侯,你就出师了。下面是常用的几个命名空间:

Autodesk.AutoCAD.DatabaseServices;命名空间中的类包括直线、圆、圆弧等,以及层、线型和样式等。

Autodesk.AutoCAD.Runtime;命名空间中的类提供了系统级别的功能,比如常用的CommandMethod属性。(其实我也没理解)

Autodesk.AutoCAD.ApplicationServices;命名空间中的类用来定义和注册新的AutoCAD命令。

Autodesk.AutoCAD.EditorInput;命名空间提供了与用户交互有关的类,比如提示用户输入等。通过这句话就能理解出命名空间的作用。

Autodesk.AutoCAD.Colors;命名空间提供了与颜色有关的类。

Autodesk.AutoCAD.Geometry;命名空间中的类被用来执行2D和3D的几何操作。

6.要能使能在AutoCAD中能调用命令的方法(比如画直线的命令“L”),执行代码,就需要在类代码开头加入CommandMethod属性。

7.打开AutoCAD,输入NETLOAD,浏览项目目录...项目名称bindebug文件夹下的dll文件,然后输入相应命令即可。

感谢:《AutoCADVBA和VB.NET开发基础和实例教程》C#版的作者才鸟,其中大部分知识都是学习这本书上的,再次感谢。我学的时候并没有挨着学习,而是根据具体例子来跳跃学习,具体实例会在今后的日记中说明。

专业的数字化顾问服务,确保每一个案例切实落地

咨询热线:400-165-0388