cad插件开发教程(CAD开发(不是开发CAD插件什么的,而是独立应用程...)

案例 2020-02-05 18:18:38

想学习cad插件开发,请大神给我介绍简单易懂的开门...

这本书可以看看


Autocad的插件是怎么制作的

1、启动AutoCAD。

2、然后点击菜单栏中的,工具-》加载应用程序。然后选择VLX格式的工具插件路径(建议放置到CAD安装目录下方),并点击加载。

3、然后关闭加载程序对话框。

4、然后可以从命令输入提示行中看到加载成功的字样。如果没有加载成功,请检查是工具插件文件是否完整。

5、然后在命令行中输入Y,并按回车。

6、这样就可以使用已经加载好的插件。

注意事项:

使用加载的插件工具进行统计可以事半功倍。

Z12-0307现代餐<a href=http://www.moxingzu.com/tag/5323/ target=_blank class=infotextkey>桌椅组合</a>Z12-0307现代餐桌椅组合


CAD开发(不是开发CAD插件什么的,而是独立应用程...

在CAD里面,判断图层打开与关闭有以下程序给你参考:

;;恢复图层状态;;
(defun unall ( / lay)
 (if (null vlax-dump-object) (vl-load-com) )
 (vlax-for lay (vla-get-layers (vla-get-activedocument  (vlax-get-acad-object)))
  (if (= (vla-get-lock lay) :vlax-true);如果图层锁定(【:vlax-false】未锁定)
   (vla-put-lock lay :vlax-false) ;解锁
  )
  (if (= (vlax-get-property lay "Freeze") :vlax-true);冻结(【:vlax-False】未冻结)
   (vla-put-Freeze lay :vlax-False);解冻
  )
  (if (= (vlax-get-property lay "LayerOn") :vlax-false);关闭(【:vlax-true】打开)
   (vla-put-LayerOn lay :vlax-true);打开
  )
 )
)

你的程序或许可以利用判断来动作:

(defun unall ( / lay)
 (if (null vlax-dump-object) (vl-load-com) )
 (vlax-for lay (vla-get-layers (vla-get-activedocument  (vlax-get-acad-object))) 
  (if (and (= (vla-get-lock lay) :vlax-false) 
           (= (vlax-get-property lay "Freeze") :vlax-false)
           (= (vlax-get-property lay "LayerOn") :vlax-true)
      )
      (progn
       ;(princ (setq lay1 (vla-get-name lay))) ;lay1是(图层的名称)
       ;在这个里面加你的动作
      )
  )
 )
)

不懂C#只会CAD,这个是,利用VBA获得图层情况。