C#操作CAD方法

操作cad等方式有许多,比方C,C++,vb、lisp(功率最高,可是语言结构性太差)和C#,由于我等个人习惯和便利等原因,在此讲解一下用C#操作流程,后续会更新操作图层、扩展数据、绘图等操作过程。当然前提是电脑上用cad程序,要不然没法调试哟!

1、第一步新建C#解决方案,然后新建类库。
2、引用cad内部dll接口。
引用acdbmgd.dll和acmgd.dll,它们在cad装置目录都能很简略找到。
别忘了引用后修改dll属性为仿制到本地。

C#


3、引用命名空间。
其实这一步可有可无,由于假如vs里边有类似resharp等插件等话,需要等时候会只能提示引用。在此把常用的命名空间写一下:
usingAutodesk.AutoCAD.DatabaseServices;//(Database,DBPoint,Line,Spline)
usingAutodesk.AutoCAD.Geometry;//(Point3d,Line3d,Curve3d)
usingAutodesk.AutoCAD.ApplicationServices;//(Application,Document)
usingAutodesk.AutoCAD.Runtime;//(CommandMethodAttribute,RXObject,CommandFlag)
usingAutodesk.AutoCAD.EditorInput;//(Editor,PromptXOptions,PromptXResult)
usingAcadApp=Autodesk.AutoCAD.ApplicationServices.Application;
为了后边编写代码的方面,也可有在类里边加上常用的类,比方:
publicDocumentdoc=AcadApp.DocumentManager.MdiActiveDocument;
publicDatabasedb=AcadApp.DocumentManager.MdiActiveDocument.Database;
publicEditored=AcadApp.DocumentManager.MdiActiveDocument.Editor;
4、与用户前台交互数据的方式有两种,一种是用指令行输入自定义命名,一种是经过自定义winform经过按钮操作,原理都是相同。在此逐个介绍。
首要,咱们需要会用指令与前台交互,由于winform也是需要用指令调出的,这是基础有必要掌握。
方法很简略,在类上加上标记就好了,比方:
[CommandMethod(“myZoom”)]
publicvoidZoom()
{
Documentdoc=Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Point2dpt1=newPoint2d(0,0);
Point2dpt2=newPoint2d(2,2);
stringcmd=string.Format(“Zoom{0},{1}{2},{3}”,pt1.X,pt1.Y,pt2.X,pt2.Y);
doc.SendStringToExecute(cmd,true,false,false);
}
这便是一个咱们自定义的图形缩放的指令,输入myZoom就可以自动缩放到由(0,0)和(2,2)为两个极点的矩形大小。
5、好了,一个简略的功用就完成了,生成dll后咱们该怎么调用呢?
很简略,打开用cad打开dwg图形,在指令行输入netload(或者在菜单栏挑选工具-加载net程序)然后挑选刚刚生成的dll文件就好了。
然后输入myZoom试试,看看有没有变化?假如你有什么问题,请直接留言回复,咱们一同学习一同进步。
后续请持续重视cad更多操作方式。

© 版权声明
好牛新坐标
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章