求块炸开成组,组变成块!
版主好!大家好!我工作中有时候需要在块的环境下进行工作,有时候又想在组的环境下进行工作,大家都知道这两者各有优点。组支持stretch,但
块支持编辑锁定,
但我总想着有一个程序可以随时切换两种对象,这样我就可以根据需要进行调整。同时拥有两者的优点。
在网络上找了一下,找到两个程序,一个是将块炸成组,一个是将选中的对象做块(本版版主帮我写的),但这两个程序
现在都是单步操作。即不能一下子就将多个块变成组,或者将一下子将多个组变成块。只能一个一个的弄。
版主和各位大大谁能帮我弄一个程序,可以实现将一堆块炸开成组(组名即块名,如果不方便,匿名组也很好了),需要的话又能一下将一堆组一下变块,就是可以反复的操作!这样我想用组就可以用组,想用块就可以用块,工作就会非常方便了!
版主和各位大大谁有空帮我弄一下,我这里先谢过了!
下面是我在网上找到的单步程序:
网上找到的块炸开成组:
:: Explode and group a block
:: Revised by cadmoogle 08/13/08
:: Original code/idea by Tony Tanzillo 09/24/99
(defun c:G ( / blk bname)
(defun *error* (msg)
(princ "\nMissed, try again")
)
(setq blk (entsel "\nSelect block to explode and group: "))
(setq bname (cdr (assoc 2 (entget (car blk)))))
(setvar "cmdecho" 0)
(command "._undo" "_begin"
"._explode" (car blk)
"._-group"
"_create" "*"
(strcat "explode:" bname)
(ssget "p")
""
"._undo" "_end"
)
(princ "\nThe process is now complete")
(princ)
)
——————————————————
不用选点的做块程序,这是版主大人帮我写的一个东西。
(defun c:a (/ ss os cmdecho)
(setq os (getvar 'osmode))
(setq cmdecho (getvar 'cmdecho))
(setvar 'osmode 0)
(setvar 'cmdecho 0)
(princ "\n选择要做块实体:")
(while (setq ss (ssget))
;;时间为块名
(setq name (rtos (getvar 'cdate) 2 8))
(command "block" name"0,0,0" ss "")
(command "insert" name "0,0,0" 1 1 0)
(princ "\n回车结束<继续做块>:")
)
(setvar 'osmode os)
(setvar 'cmdecho cmdecho)
(princ)
) 批量由块到组命令: B2G 批量由组到块命令: G2B
源码下载:
**** Hidden Message *****
Gu_xl 发表于 2012-4-17 21:46
批量由块到组命令: B2G 批量由组到块命令: G2B
源码下载:
这个插件很好用,非常感谢!!! Gu_xl 发表于 2012-4-17 21:46
批量由块到组命令: B2G 批量由组到块命令: G2B
源码下载:
感谢大佬分享 自己顶一个,都快沉底了。
CAD中最好用的命令据说就是stretch,但这个命令无法对块进行操作,组本身也可以有层次,但易用性没有块好。如果有这个命令就可以集两者的优点为一身了。
G版的程序必看
版主终于现身了!
今晚国外论坛都搜了一遍,都没找到,还是版主好人!
我会一直支持明经和版主您的!
G版那块变组OK,组变块不行?
直支持明经和版主您的!
看看G版的思路! 版主,今早上班赶快试了一下,块转组没有问题,组转块没有成功,系统提示:
NO FUNCTION DIFINITION: GXL-SEL-LIST->SS
我用的CAD是2007,这个程序是不是和具体的那个版本有配合,还是缺一个函数,版主再帮我看一下! 来顶gu版的贴