基于ObjectArx进行cad二次开发总结

最近有人问我ObjectArx怎么学?有c++的底子,懂一点MFC,会CAD的操作,基本上就可以了。写一些适合自己绘图的arx插件,很容易,也很方便。如果是想更深入的研究下去,那就需要更多的知识储备,包括计算机图形学,包括其他专业知识等等。以下是我当时跟他讲的一些我自己认为的CAD开发的知识点。
基于ObjectArx进行cad二次开发总结_第1张图片
老实说,一个人开发适合自己使用的工具集不难,难在大型商业,难在通用型软件。大型软件,自己一个人搞,太痛苦了,也太封闭了,你认为难写的东西可能别人已经做的很成熟了,所以平时可以多去论坛沟通,多看看别人写的优秀的插件。通用型就更不用说,就结构专业而言,你通过参数化绘图画出来的东西,可能和别人设计院的标准不一样,兴许连图层名称都不一样。市面上流传的大型软件一般来说都是具有领头羊性质,所有的设计院都使用了它的标准或者基于它的标准再定制,以天正和探索者为例子。
我当初在设计院工作的时候,公司有一个人懂得lisp开发,然后他做了一套工具集,类似于结构专业的小伙工具箱。它包含了结构需要的大部分功能,包括建模,计算书的插入归并,墙柱工具,基础,基本绘图-画墙梁板住,批量打印,审图标记,选择易,配筋助手,快速改筋还有大量的计算小软件等等,由于只在公司内部使用,所以它里面规定的图层,文字样式,线形,打印样式等都是独立的。这个软件可能到其他设计院,就没有那么强的通用性了。我记得有一次新版本演示的时候,当时结构老大说,这个工具经过公司结构部门的使用和反馈,如果没有问题,到时候公司20W的价格买下了。当然,软件的加密和后期的维护的价格肯定也算在这个价格里面,也不算多。我当时离开的时候,版本更新到了3.0,现在也不知道后面怎么样了。我唯一印象很深的是它里面有一个功能叫做文字替代,这个有啥用呢。假设有一个钢筋文字是2d20,2根20的钢筋,然后你想修改为2d10,那你怎么改,配筋助手倒是有这个功能,可以给个面板直接修改,但是也慢。也有类似屏幕改字的功能,但是都写的不好。它这个功能就是你按下1的数字建,然后鼠标点击到钢筋文字的2上面,就改好了,速度块。它唯一不好的地方在于牺牲了数字键改成快捷键的优势。有人喜欢把1,2,3等数字键改成修改实体颜色功能。。。
自己写插件,可以大大加快自己的画图效率,普通人用cad,学会使用样板文件,学会使用块,参照,学会cad的大部分功能,绘图效率就比大部分人强太多了。如果需要更快,那也只能从二次开发入手,lisp,c#,vba,c++都是合适的,c++算是里面难度较大的,但是效益也高。我本人不太喜欢lisp,感觉lisp编程有点反人类。但是lisp是可以和objectarx通信的,这一点倒是挺好,可以和别人合作。
关于写代码,一般来说搞画图的人学cad二次开发,代码质量一般都不是太好,这个就需要下功夫了,多看看别人好的代码是怎么写的。我记得有个网友给我看了他写的代码,一个工程里面写了好多通用类,比如CLineUtil,CArcUtil等等,但是他没有把这些封装到一个DLL里面,导致一个ARX的文件大小就5,6M,关键是这个ARX可能只有一个功能。还有就是一个cpp文件,里面的代码有1万多行。嗯,不多说了。。。

你可能感兴趣的:(AutoCad,ObjectARX编程)