有哪位好心人有cad二次开发的实例,用vb货c语言编的都可以,不用太复杂简单点的就可以,希望好心人能帮忙

如题所述

觉得还是应该写写CAD二次开发的相关一些内容,原因是最近搜网上对于这种实例原理分享的内容忒少了,毫无头绪,因此进行一个简单的分享,希望和我一样的寻求如何对CAD进行二次开发的,亦或是不知道怎么做的,可以参考一下一些拙见。
最近由于公司业务逐渐的增多,而同事与cad相关的工作,有不少是重复性工作,而软件往往就是为了减少重复性的工作,增加创新性的工作,提高工作效率,减少差错率等~~说这么一句话,在CAD基础上开发插件,解决这些问题。。。只好硬着头皮上了

个人是选择C#进行CAD的二次开发,原因使用起来相对来说容易上手,首先C#是高级语言,面向对象,本身自己从Java出身;C#还有一个优势,就是依然可以调用C++库,可以很好的托管一些现有的功能,由于自己在C#和cad的使用完全是菜鸟,因此在网上找了两本现有可以找到的书《NET_CAD深居浅出AutoCAD二次开发 C#版》
和《深入浅出cad二次开发》,废话不说了,下面说一下代码实现倒圆角的原理,由于涉及到软件著作权,就不贴代码了
首先倒圆角从命令的使用时,选中命令,然后选择两条线,在给定的半径下进行画圆弧。介于以上的命令使用方式,因此开始考虑使用C#所支持sendstringtoexecute来调用fillet命令,如
sendstringtoexecute("._fillet \n r\n 0.7\n");
当写到这个命令时间,必须要指定两条线才能回画出,然后进行了仿照Lisp语言的ObjectID的获取,Handle的获取,HighLight的设置调用,均无效~~彻底失望,想了一年愣是没想出来怎么才能成功的调用语言,也可能是由于自己对于二次开发的经常不足吧,可能还不熟悉正确的调用方法。
因此进行了转换角度思考,C#既然进行arx等类库的封装,那么可以理解,一些基本的常用的功能都会实现,不用进行托管c++,并且如果调用命令的话,往往比较难以控制,因此就用数学算法的形式进行代码的开发。。。
两条线 l1和l2 可以获取两线的交点p,需要画的倒圆角的半径已知r,根据CAD的方法,Point3d中可以算出此两条线的夹角,因此可以使用数学函数sin,可以求出p点和圆心点的距离,进而根据Cure中的方法可以算出圆弧的圆心o,因此可以按照圆心o和半径r做圆,这样就会和l1、l2进行相切,这时间按照同样的思路可以获得两个切点,然后根据point2d的方法,获取切点和原型o的的角度,这样就可以获得起始角度和终点角度,加上o和半径r,这样就可以画圆弧了,最后这个圆弧就是倒圆角。
这么一说是不是觉得简单了呢~~
温馨提示:答案为网友推荐,仅供参考
相似回答