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/>&nbsp; (if (setq a (nentsel))<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq lst (mapcar '(lambda (x / y)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq y (entget x))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (list (cdr (assoc 10 y))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cdr (assoc 50 y))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (last a);;套嵌块图元名列表<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq lst (reverse lst)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p&nbsp;&nbsp; (caar lst)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; an&nbsp; (cadar lst)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pt&nbsp; '(0 0 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lst (cdr lst)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (foreach x lst<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq a&nbsp; (+ an (angle '(0 0 0) (car x)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pt (polar pt a (distance '(0 0 0) (car x)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; an (+ an (cadr x))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (mapcar '+ pt p)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<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>(&lt;嵌套最内层的图块图元名&gt;。。。。。。。。。。。。&lt;最外一层的图块图元名&gt;)</p>

狂刀无痕 发表于 2009-1-23 23:40:00

本帖最后由 作者 于 2009-1-23 23:41:28 编辑

呵呵,是我没有表达清楚,我本意是想说表达实体嵌套关系的表,太省略了引起歧义。
页: [1]
查看完整版本: caoyin大哥,帮个忙,块或子块 插入点坐标值