明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 595|回复: 5

[函数] 如何获取鼠标拾取点与直线最近的交点和垂直点坐标

[复制链接]
发表于 2022-9-22 16:01 | 显示全部楼层 |阅读模式


(setq en1 (entsel "\n请选择梯段线(标靶靠钢梯一侧):");获取图元名
         px (cadr en1)                                                                  ;获取鼠标拾取点坐标
                 ss1 (entget (car en1))                                               ;获取图元联合资料串
                 ps1 (cdr (assoc 10 ss1))                                       ;获取开始坐标
                 ps2 (cdr (assoc 11 ss1))                                      ;获取结束坐标
        )

(setq sss (ssget "f" (list ps1 ps2) '((0 . "LINE"))))


(setq les (sslength sss))
    (repeat les
      (setq n1 (ssname sss (setq les (1- les)))
            d1 (cdr (assoc 10 (entget n1)))
            d2 (cdr (assoc 11 (entget n1)))
            In (inters ps1 ps2 d1 d2 t)   
            ns (cons In ns)                       ;取得直线交点坐标列表
      )
    )

如何获取鼠标拾取点与直线最近的交点和垂直点坐标

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-9-22 17:35 | 显示全部楼层
(osnap pt mode)

(setq pt2 (osnap pt1 "_Perp,_int"))

垂足不知道是不是Perp,
全称是,  Perpendicular
Perp不行就试一下per
 楼主| 发表于 2022-9-23 10:06 | 显示全部楼层
关键是如何从直线交点坐标列表ns中找出距鼠标拾取点px最近的那个交点
发表于 2022-9-23 13:21 | 显示全部楼层
szx025 发表于 2022-9-23 10:06
关键是如何从直线交点坐标列表ns中找出距鼠标拾取点px最近的那个交点

vl-sort排序
 楼主| 发表于 2022-9-26 08:36 | 显示全部楼层

老大,能否详细说说怎么排法
发表于 2022-9-26 10:30 | 显示全部楼层
szx025 发表于 2022-9-26 08:36
老大,能否详细说说怎么排法

(car(vl-sort ns '(lambda(a b)(<(distance px a)(distance px b))))))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 17:14 , Processed in 0.402619 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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