多段线或者直线路径下与特定图层图元的交点表;有需要,拿去用
本帖最后由 韩飞翔 于 2025-2-28 15:00 编辑;;说明:特定曲线与特定图层图元的交点表(特定曲线指直线,多段线)
;;参数:ename:(car (entsel))
;;参数:laystr:图层字符串"S-BEAM-S,S-WALL-S" 图层可以为nil; 如果图层为nil便获取线条路径下所经过图元的所有相交点
;;返回:(fx-Get-CurveInters (car (entsel)) "S-BEAM-S,S-WALL-S")
(defun fx-Get-CurveInters (ename laystr / data enametype jdptn ptn)
(setq enametype (cdr (assoc 0 (setq data (entget ename)))))
(cond
(
(wcmatch enametype "*PO*")
(setq
ptn (mapcar '(lambda(x) (cdr x)) (vl-remove-if-not '(lambda(x) (= (car x) 10)) data))
jdptn (mapcar '(lambda(z)
(mapcar '(lambda(x) (cadr x))
(vl-remove-if-not '(lambda(y) (listp y)) z)
)
)
(ssnamex (ssget "f" ptn (if laystr (list (cons 8 laystr)))))
)
)
)
(
(wcmatch enametype "LINE")
(setq
ptn (list (cdr (assoc 10 data)) (cdr (assoc 11 data)))
jdptn (mapcar '(lambda(z)
(mapcar '(lambda(x) (cadr x))
(vl-remove-if-not '(lambda(y) (listp y)) z)
)
)
(ssnamex (ssget "f" ptn (if laystr (list (cons 8 laystr)))))
)
)
)
)
(apply 'append jdptn)
) 很好→很棒!很好~很棒!!很好……很棒!!!
(fx-Get-CurveInters ename laystr)多段线或者直线路径下与特定图层图元的交点表韩飞翔于2025-02-27明经
存起来了!主要是交点插块或者文字再就是编号!
页:
[1]