明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3021|回复: 15

[函数] 【求助】如何找到距离最近的直线???

  [复制链接]
发表于 2011-6-9 21:54:53 | 显示全部楼层 |阅读模式
给定1个点和n条直线,如何找到距离该点最近的直线?哪位帮忙研究1下,先谢了!!!
发表于 2011-6-9 23:11:04 | 显示全部楼层
分别求点到各直线的距离,将各直线的实体名和对应的距离组成表。
发表于 2011-6-9 23:15:48 | 显示全部楼层
(defun c:TT (/ SS PT I EN DI DD EE)
(setq SS (ssget '((0 . "LINE")))
      PT (getpoint "\n指定点: ")
)
(repeat (setq I (sslength SS))
  (setq I  (1- I)
        EN (ssname SS I)
        DI (distance PT (vlax-curve-getClosestPointTo EN PT))
  )
  (or DD (setq DD DI))
  (if (< DI DD)
    (setq DD DI
          EE EN
    )
  )
)
(sssetfirst nil (ssadd EE))
)
 楼主| 发表于 2011-6-9 23:41:58 | 显示全部楼层
谢谢,太牛了!!!
发表于 2011-6-17 23:59:28 | 显示全部楼层
(distance PT (vlax-curve-getClosestPointTo EN PT))   精辟,我一直用数学算法
发表于 2011-6-18 08:05:29 | 显示全部楼层
确实精辟,我认为 (or DD (setq DD DI))用的相当恰当;我原先对or的用法比较的片面。。。
发表于 2011-6-21 08:49:31 | 显示全部楼层
(or DD (setq DD DI))
精辟,学习了
发表于 2011-7-26 16:10:15 | 显示全部楼层
很不错的例子,学习了
 楼主| 发表于 2011-8-30 10:07:09 | 显示全部楼层
请帮忙看1下,上面的程序有时候出错。
错误: 参数类型错误: lentityp nil
 楼主| 发表于 2011-8-30 18:54:46 | 显示全部楼层
自己顶,高手在哪里?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-30 06:29 , Processed in 0.185903 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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