![]() |
caoyin大哥,帮个忙,块或子块 插入点坐标值
caoyin大哥,帮个忙,块或子块 插入点坐标值
www.dimcax.com caoyin大哥,帮个忙,块或子块 插入点坐标值 我用nentsel点中块中的一个对象后,我想找它所属的块或子块的插入点的wcs坐标是多少, 打个比如,一个块中有一个子块和几个图元,然后这个子块中又有几个图元,如果我点中的是这个子块中的对象,我想知道这个子块的插入点的wcs坐标是多少呀,我的一个程序就差这一步就通过啦,帮帮我caoyin大哥 d 问题不是太明白: 假如块a中有子块b和若干图元, 子块b中有子块c和若干图元, 你是想求哪个块插入点,假如 nentsel点中的不是 块b,那如何求啊 d 恭喜caoyin大哥做我们的老大,大家鼓掌。。。。。。。。 问题不是太明白: 假如块a中有子块b和若干图元a,b,c,d, 子块b中有子块c和若干图元e,f,g, 子块c中有若干图元h,i,j, 如果nentsel选中到是g图元,那就求b子块的插入点, 如果nentsel选中到是i图元,那就求c子块的插入点, 如果nentsel选中到是b图元,那就求a子块的插入点, d 其实就是把图元(不管有没有块在里面)做成块后的那个插入点 d 笨方法:原理很简单,但写出来就会有点烦 (defun c:tt (/ a lst p an pt) (if (setq a (nentsel)) (progn (setq lst (mapcar '(lambda (x / y) (setq y (entget x)) (list (cdr (assoc 10 y)) (cdr (assoc 50 y)) ) ) (last a);;套嵌块图元名列表 ) ) (setq lst (reverse lst) p (caar lst) an (cadar lst) pt '(0 0 0) lst (cdr lst) ) (foreach x lst (setq a (+ an (angle '(0 0 0) (car x))) pt (polar pt a (distance '(0 0 0) (car x))) an (+ an (cadr x)) ) ) (mapcar '+ pt p) ) ) ) d 谢谢啦caoyin大哥 |
| 所有的时间均为北京时间。 现在的时间是 03:52 PM. |