设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[建筑工程] 分解cad中所有编组或是分解所有无名编组

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-23 11:11:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有时候在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进行操作

Example_Groups.lsp (909 Bytes, 下载次数: 202)
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-4-28 18:24 , Processed in 0.206870 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表