重申.那位能快速建组呀.就是GROUP
各位高人.那位能编一个快速建组的程序 <p>我经常要把一些图元做成组.那位能编一个快速建做的命令.就是GROUP命令</p> (defun c:gg(/ ss)<br/> (setq ss(ssget))<br/> (setvar "cmdecho" 0)<br/> (command "-group" "" "*" "" ss "")<br/> (setvar "cmdecho" 1)<br/> (princ "\n选定对象已经组合。")<br/> (princ)<br/>)<br/> 偶的作品:飞诗CAD程序管理大一统~内有两个源程序正是你想要的!:
;;制作匿名组
(defun c:mak_*group (/ ss)
(princ "\n选取制作匿名组的对象:")
(if (setq ss (ssget))
(fsxm-add-group ss "*")
)
(princ)
)
;;解散群组
(defun C:EXPLODE_GROUP (/ allg data group ss)
(if (setq ss (ssget))
(foreach en (fsxm-ss->enlist ss)
(setq data (entget en))
(setq group
(vl-remove-if
'(lambda (a)
(or (/= (car a) 330)
(/= (fsxm-getdxf 0 (entget (cdr a))) "GROUP")
)
)
data
)
)
(setq allg (reverse (dictsearch (namedobjdict) "ACAD_GROUP")))
(foreach a (mapcar 'cdr group)
(princ "\nEXPLODE GROUP : ")
(princ (cdadr (member (cons 350 a) allg)))
(entdel a)
)
)
)
(princ)
) mccad 发表于 2008-9-21 08:41
(defun c:gg(/ ss) (setq ss(ssget)) (setvar "cmdecho" 0) (command "-group" "" "*" " ...
还得是你啊,明总。 <p>用(command "_.group" ...)不是挺简单</p>
些言差异
大哥.我想用某个命令.在输入命令后.选择一些元素.然后回车.它就自动做成一个组了.它的默认名就用日期就行了.如果有这样的程序就好多了, 默认名用日期好象不行,如果当日再建另一个组就重名了。 哦.那默认名可以用GROUP1也行.因为只要把这个组COPY它就变成了GROUP2了,再COPY它就变成了GROUP2了,我在一张图里有很多地方要做成组.而且它们都不一样.要一样的话我就做成块好了.我就想输入一命令.选择它们,确定,它就是一个组了.再选择别的,再确定,然后别的也是一个组了,组名可以任意.说白了,就是不想到组的对话框里去弄.那样太慢了. <p>谢谢.我先试试</p> <p>行.高.不错.谢谢.谢谢.不剩感激,就是,这样就方便多了,而且更好用了,</p> <p>这里又出现了一个问题,要是我想炸开这些组呢,要是一个一个炸呢,输入一命令.选择它们,确定,这个组就炸掉了.我知道,有一个组的变量,变量值改为一所有组就是散的,但是那样的话,我还有别的组不想是散的.最好也像一个LSP一样.输入一命令.选择它们,确定,这个组就炸掉了.</p> 我的要求有点点过粉吧
页:
[1]
2