基于C#进行AutoCAD二次开发初探(一)——调用dll库

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cfttony/article/details/82290240

自己是测绘行业,不可避免要跟CAD打交道。因为之前用C#写了一个小软件,希望能够自动调用CAD画等高线,所以想基于C#进行Autocad的二次开发。但自己在此方面真的是零基础菜鸟一只。搜了大量的资料,但感觉入门还是很难。在网上找了一个入门级的开发案例,但搞了大半天,费了好大的劲儿才成功。虽然这对于老手而言是不值一提的小事,但对于我来说也是一个重要的开端吧。

      CSDN上的某位前辈的一篇文章很好:https://blog.csdn.net/bullzerone/article/details/73744540,步骤很清晰,但我高了半天还是不成功,我在这里指出问题所在,希望以后的菜鸟们能够用得上。

      平台说明:我用的VS2010和Autocad2014

      1、该前辈添加引用:AcCui.dll,acdbmgd.dll,acmgd.dll,但在我这里还不够,我又添加了accoremgd.dll类库才得以顺利进行。注意:此处的dll库在AutoCAD的安装目录下,版本不同类库也随之变化,务必要引用安装目录下的dll库。

      2、该前辈指出要将编译平台由.NET 4.0更改为.NET3.5或以下,但这个是随AutoCAD版本不同而变化的,在 vs2010 中 开发,默认的版本是.NET Framework 4.0版本高,对于引用AutoCAD 2008,将无法编译。解决方式有两种:一、改用AutoCAD2014,对应的编译平台就是.NET 4.0;二、将.NET4.0改为.NET3.5,就可以对应AutoCAD2008了。

       以上两个问题解决之后,我还遇到过一个问题。添加启动外部选项时,我开始用的是AutoCAD2006,但启动调试之后,CAD会卡在那里,这个问题我一时半会儿也解决不了,所以就换成AutoCAD2014,后来就成功了。

     该方法是用C#生成一个类库(dll),然后在AutoCAD命令行里输入“NETLOAD”,加载dll,然后再输入C#里面的函数命令,略显繁琐,但是一个基本的方法。我将在基于C#进行AutoCAD二次开发初探(二)介绍,如何在C#里编辑代码,然后自启动AutoCAD,并显示图形等。

展开阅读全文

没有更多推荐了,返回首页