求大神修改这个源码为按相同高度选择
本帖最后由 Ly123l 于 2015-5-14 18:10 编辑求大神修改这个源码为按相同高度选择,现在这个是一键选择相同大小,我想改成一键选择相同高度的门窗
;; 一次性选中相同大小图元
(vl-load-com)
(Defun c:tt (/ sc e1 e1xc e1mj e2xc e2mj e2 new i)
(setq rc 1)
(setq e1 (car (entsel "\n选择源对象:")) e1xc (tlen e1) e1mj (area e1))
(setq ss (ssget "_X" '((0 . "LWPOLYLINE"))))
(setq i -1 new (ssadd))
(while
(setq e2 (ssname ss (setq i (1+ i))))
(setq e2xc (tlen e2) e2mj (area e2))
(if (and (< (- e1xc rc) e2xc (+ e1xc rc))
(< (- e1mj rc) e2mj (+ e1mj rc))
)
(setq new (ssadd e2 new))
)
)
(sssetfirst nil new)
(princ (strcat "\n找到" (rtos (sslength new) 2 0) "个"))
(princ)
)
(defun tlen (ename)
(vlax-curve-getdistatparam ename (vlax-curve-getendparam ename))
)
(defun area (ename)
(vla-get-area (vlax-ename->vla-object ename))
)
本帖最后由 danxingpen 于 2015-5-19 15:01 编辑
请提供样图,这个程序本身只是判断面积和周长相等的情况下就认同为两个图元相等,严格上来说要想判断高度这个理论上的东西很难,因为对于线条来说,长宽高,,,都是自己定义的,,,,
页:
[1]