嘻皮客娱乐学习网

标题: 分解cad中所有编组或是分解所有无名编组 [打印本页]

作者: xipick    时间: 2014-4-23 11:11
标题: 分解cad中所有编组或是分解所有无名编组
有时候在CAD中遇到炸不开的组,或是双击文字编组后无法进行修改或是复制,只能通过命令ed编辑修改编组过的文字,这就需要分解分组,请输入group命令,选择组,点击分解即可,但大量的组的话,需要编程解决。

以下是程序代码:
  1. (defun Example_Groups()
  2. ;;; 这个范例找出当前的Groups集合
  3. ;;; 接着将新的群组添加到该集合
  4.   (VL-LOAD-COM)
  5.   (setq AcadObject(vlax-get-acad-object)
  6.         AcadDocument(vla-get-ActiveDocument Acadobject)
  7.         mSpace(vla-get-ModelSpace AcadDocument)
  8.   )
  9.   (setq GroupColl(vla-get-Groups AcadDocument))
  10. )
  11. ;;; 分解所有组,假如想单独分解无名组,需另外判别f1是否以*开头,然后依次增加i

  12. (defun c:qqq ()
  13.   (example_groups)
  14.   (setq q1 (vla-get-count groupcoll))
  15.   (setq i 0)
  16.   (repeat q1
  17.     (setq a1 (vla-item groupcoll i))
  18.     (setq f1 (vla-get-name a1))
  19.     (command "_.group" "e" f1)
  20.   )
  21. )


  22. ;;; 只是分解无名组
  23. (defun c:qq ()
  24.   (example_groups)
  25.   (setq q1 (vla-get-count groupcoll))
  26.   (setq i 0)
  27.   (repeat q1
  28.     (setq a1 (vla-item groupcoll i))
  29.     (setq f1 (vla-get-name a1))
  30.     (if (= (substr f1 1 1) "*")
  31.       (command "_.group" "e" f1)
  32.       (setq i (1  i))
  33.     )
  34.   )
  35. )
复制代码
复制代码中的文字,新建一个文本文档,把代码全部粘贴进去,然后保存关闭该文档,修改名字为Example_Groups.lsp,注意,后缀名也改了,由txt后缀改为了lsp后缀,然后打开有编组的cad文件,把这个Example_Groups.lsp拖到绘图区域,然后如果需要分解所有编组,就在cad命令行输入qqq,如果只要分解无名编组,在cad命令行输入qq。

大家也可以直接下载下面的附件拖到cad绘图区,然后输入qq或是qqq进行操作

(, 下载次数: 203)




欢迎光临 嘻皮客娱乐学习网 (http://www.xipick.com/) Powered by Discuz! X3.3