wanhongron 发表于 2008-3-17 20:33:00

★★怎样获得前次生成的所有图元,entlast只能得一个★★

<p>经常碰到怎样的问题,若想修改连续偏移或复制后所有新图元的特性改颜色加粗之类什么的。但苦于找不到函数,entlast只能得最后一个,而ssget只能得到旧图元,而ssadd只能在循环程序中一个个添加图元,那么在我编的程序中新生成的所有图元用什么函数获取。</p><p>再如我选择了一些对象用ssget,然后炸开,然后我想修改这些炸开的图元的颜色或宽度什么的,那怎么选,用entlast只能选一个。请高手赐教!!!!</p>

caoyin 发表于 2008-3-17 21:38:00

<a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=66014&amp;replyID=86773&amp;skin=1">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=66014&amp;replyID=86773&amp;skin=1</a>

caoyin 发表于 2008-3-17 21:57:00

龙龙仔版主有个“J”的透明命令,好像是反应器,挺实用的。

wanhongron 发表于 2008-3-18 08:23:00

<p>这个程序有点问题,请高手帮帮忙!</p><p>&nbsp;</p><p>&nbsp;</p>

caoyin 发表于 2008-3-18 10:55:00

本帖最后由 作者 于 2008-3-18 11:07:38 编辑 <br /><br /> <p>有什么问题</p><p>(defun c:test (/ e ss)<br/>&nbsp; (princ "\n选择任意对象进行复制测试...")<br/>&nbsp; (setq e&nbsp; (entlast)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ss (ssget)<br/>&nbsp; )<br/>&nbsp; (command "_.copy" ss "" "\\" "\\")<br/>&nbsp; (if (setq ss (lt:ss-entnext e))<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (sssetfirst nil ss)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (princ "\n新对象被选取。")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ss<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>)</p><p></p>

byghbcx 发表于 2008-3-21 10:32:00

用这个看看
(DEFUN ENT_FROM (E / SS SN);返回自实体E之后生成的实体选择集
(IF (/= (TYPE E) (quote ENAME))
    (ALERT "Parameter ERROR in ENT_FROM")
)
(SETQ SS (SSADD))
(WHILE E
    (SETQ E (ENTNEXT E))
    (IF E
      (PROGN
(SETQ SN (CDR (ASSOC 0 (ENTGET E))))
(IF (NOT (MEMBER SN (quote ("ATTRIB" "VERTEX"
      "SEQEND"
       )
       )
   )
   )
   (SETQ SS (SSADD E SS))
)
      )
    )
)
SS
)

caoyin 发表于 2008-3-21 10:55:00

<p>关于<font color="#ff0000">
                </font><font color="#ff00ff">"ATTRIB"</font>
                <font color="#ff00ff">"VERTEX"</font>
                <font color="#ff00ff">"SEQEND" 的情况我也发现了,代码没有更新。</font></p><p><font color="#ff00ff">向楼上学习</font></p>

dl3335 发表于 2008-3-28 15:13:00

<font color="#ff00ff">学习学习</font>

jxphklibin 发表于 2009-1-19 13:20:00

这样就可以选择嵌套块炸开后的所有实体了!

zhuquanmao 发表于 2012-4-11 12:27:38

炸开嵌套块后怎么结合上面的代码 把炸碎后的图元再生成块?

本帖最后由 zhuquanmao 于 2012-4-11 12:49 编辑

这个怎么用啊 呵呵 我把一个嵌套块用下面的代码给炸开了
(setvar "qaflags" 1)
(setq ss (ssget '((0 . "INSERT"))))
(while (setq ss (ssget "P" '((0 . "INSERT"))))
    (command ".explode" ss "")
)
然后呢?
页: [1] 2
查看完整版本: ★★怎样获得前次生成的所有图元,entlast只能得一个★★