liminnet 发表于 2008-11-25 14:18:00
caoyin 发表于 2008-11-25 14:23:00
<p>问题不是太明白:</p><p>假如块A中有子块B和若干图元,</p><p>子块B中有子块C和若干图元,</p><p>你是想求哪个块插入点,假如 nentsel点中的不是 块B,那如何求啊</p>liminnet 发表于 2008-11-25 14:31:00
liminnet 发表于 2008-11-25 14:33:00
caoyin 发表于 2008-11-25 16:21:00
<p>笨方法:原理很简单,但写出来就会有点烦</p><p>(defun c:tt (/ a lst p an pt)<br/> (if (setq a (nentsel))<br/> (progn<br/> (setq lst (mapcar '(lambda (x / y)<br/> (setq y (entget x))<br/> (list (cdr (assoc 10 y))<br/> (cdr (assoc 50 y))<br/> )<br/> )<br/> (last a);;套嵌块图元名列表<br/> )<br/> )<br/> (setq lst (reverse lst)<br/> p (caar lst)<br/> an (cadar lst)<br/> pt '(0 0 0)<br/> lst (cdr lst)<br/> )<br/> (foreach x lst<br/> (setq a (+ an (angle '(0 0 0) (car x)))<br/> pt (polar pt a (distance '(0 0 0) (car x)))<br/> an (+ an (cadr x))<br/> )<br/> )<br/> (mapcar '+ pt p)<br/> )<br/> )<br/>)</p>liminnet 发表于 2008-11-25 17:51:00
flowerson 发表于 2009-1-22 16:05:00
本帖最后由 作者 于 2009-1-22 16:06:24 编辑 <br /><br /> <p><font face="宋体" size="2">本人在弄批量打印图框,但有一两个图框出错。找到原因是插入点用CAD 中 CTRL+1 看的和用(setq e1 (entget (car (entsel)))) 看的 插入点(10 194.941 397.694 0.0) 有出入!各位高手帮忙!先谢谢了。同样的外部参照在其它的图有正确的。</font> 用5楼程序得到的也是错的。</p><p></p>狂刀无痕 发表于 2009-1-23 00:55:00
nentselp 取实体,返回表中最后一个是个嵌套表。。。。。。jxphklibin 发表于 2009-1-23 14:15:00
狂刀无痕发表于2009-1-23 0:55:00static/image/common/back.gifnentselp 取实体,返回表中最后一个是个嵌套表。。。。。。<p>楼上,你所的返回表中的最后一个是个嵌套表,非也,你说错了,这不是一个嵌套表,是个单层表,标的结构是这样的:</p><p>嵌套最内层的图块图元名排在第一个,以此类推,最外一层的图块图元名排在最后一个:</p><p>(<嵌套最内层的图块图元名>。。。。。。。。。。。。<最外一层的图块图元名>)</p>
狂刀无痕 发表于 2009-1-23 23:40:00
本帖最后由 作者 于 2009-1-23 23:41:28 编辑呵呵,是我没有表达清楚,我本意是想说表达实体嵌套关系的表,太省略了引起歧义。
页:
[1]