明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 549|回复: 1

多段线或者直线路径下与特定图层图元的交点表;有需要,拿去用

[复制链接]
发表于 2025-2-27 17:34:29 | 显示全部楼层 |阅读模式
本帖最后由 韩飞翔 于 2025-2-28 15:00 编辑

;;说明:特定曲线与特定图层图元的交点表(特定曲线指直线,多段线)
;;参数:enamecar (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)
)
回复

使用道具 举报

发表于 2025-2-28 14:48:27 | 显示全部楼层
很好→很棒!很好~很棒!!很好……很棒!!!
(fx-Get-CurveInters ename laystr)多段线或者直线路径下与特定图层图元的交点表韩飞翔于2025-02-27明经
存起来了!主要是交点插块或者文字再就是编号!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-4-12 09:20 , Processed in 0.157565 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表