开发工具

虽然Civil3D .NET API是基于AutoCAD .NET API开发的,但是做Civil3D二次开发的时候,我们并不直接需要用到ObjectArx。Civil3D Plugin project需要reference 的DLL是

    o AcDbMgd.dll

    o AcCoreMgd.dll

    o AcMgd.ll

    o AecBaseMgd.dll

    o AeccDbMgd.dll

其中,Ac开头的DLL是AutoCAD的API,Aec开头的是ACA的API,Aecc开头的是Civil3D的API。这些DLL,我们在Civil3D的安装目录下面都能找到,直接拷到project里就能使用了,并不需要从ObjectArx里找。

那么为什么Civil3D二次开发还是需要ObjectArx呢?

最重要的是需要ObjectArx的文档。因为Civil3D API只提供了数据层的API,而一个plugin不可能没有用户交互,这些都是通过AutoCAD API来完成的。AutoCAD的API相对来说比较复杂,因此我们经常需要仔细查找和阅读ObjectArx的文档。

另一个作用是里面有一些Sample project也是非常值得学习了。

还有一个作用就是里面提供的一个小工具ArxDBG,这个后文会仔细介绍。

另外,虽然Civil3D二次开发是基于.NET API开发的,但是有时候可能会需要定义自定义实体(Custom Entity),那么这个就完全是基于ObjectArx C++ API来实现了,这就一定需要ObjectArx了。高级一点的二次开发,可以先用C++定义自定义实体,然后用C++/CLI封装自己的.NET API,再用C#来进行各种操作,这就需要开发人员熟悉各种语言。

clip_image001

ObjectArx是免费的,下载链接:

http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=785550
原文地址:https://www.cnblogs.com/civil3ddevelop/p/6616005.html