Skip to content

memoryseven/cad_develop

 
 

Repository files navigation

CAD_Develop

使用C#语言给CAD做一些插件开发。

代码测试平台为VS2022,NetFramework4.7和2020版CAD,不同版本的CAD所支持的NetFramework版本不一致,具体参考https://www.cnblogs.com/ztcad/p/14326230.html?ivk_sa=1024320u

土木设计狗天天加班到十二点多,而每天的事情无非就是那几个CAD命令翻来覆去的敲,身心疲惫。偶然突发奇想如果这些事情都能让电脑自己完成,那我岂不是就可以下岗了:sleeping:。于是在空余时间自学了C#,将代码放在这希望能够得到各位大佬的指导。当然如果也能帮到一些同行,哪怕少加两分钟班那它都是有意义的:kissing:。

食用方法:打开CAD》在CAD中输入netload》加载文件夹下main》obj》debug》main.dll; (不建议直接食用,里面命令都是乱设的,最好按照自己需要调整优化一下:pensive:)

01_创建类库

编写了一些常用的方法封装成类库,对方法进行了简单的测试,后续会慢慢完善:stuck_out_tongue_winking_eye:;

02_文字对齐

比较简单的一个功能,现在大多数插件都已具备该功能,不过多研究了:bowtie:;

03_统计线段长度

通过选择集去循环被选择对象,拿到被选择对象的终点,利用Curve类的getDistAtPoint方法,拿到线段长度:blush:;

04_判断线段是否为斜线

自己在画模板图的时候发现一些梁线,看着是直线,实际存在一些细小的倾斜。后续用YJK的导入CAD生成模型可能会存在梁斜着的情况,对计算影响并不大,但作为一名完美主义者(强迫症患者:weary:)必须保证每条线都是标准的横竖。代码先让用户选择一条线,获取该线段的图层,用作过滤条件去筛选选择集中的项目,对于存在倾斜的线段会生成一个红色方框包围该线段,让用户自己判断是否需要调整;

05_用lisp写菜单栏

lisp语言个人研究的比较少,但是lisp写出来的可以直接添加到CAD的启动组里面,这样打开CAD菜单栏就会出现。如果采用C#写菜单栏,打开CAD还需要输入命令后菜单栏才能出现;

About

使用C#语言给CAD做一些插件上的开发。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 94.6%
  • Common Lisp 2.7%
  • LiveScript 2.7%