明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 13648893846

[源码] 点到直线的距离,求大神优化,第一次写的

[复制链接]
 楼主| 发表于 2017-10-6 20:03:17 | 显示全部楼层
yuanziyou 发表于 2017-10-6 19:49
重新修改了下,你再试试

还有另一个BUG,当待求点从左侧垂直于起点时还是错误
发表于 2017-10-6 20:04:35 | 显示全部楼层
本帖最后由 vectra 于 2017-10-6 20:06 编辑

  1. (defun c:tt ()
  2.   (setq p1 (getpoint "\n请选择直线起点:"))
  3.   (setq p2 (getpoint "\n请选择直线第二点:"))
  4.   (setq p3 (getpoint "\n请输入待求点:"))

  5.   (abs (car (trans (mapcar '- p3 p1) 0 (mapcar '- p2 p1))))
  6. )


http://bbs.mjtd.com/forum.php?mo ... 954&highlight=trans
回复 支持 1 反对 0

使用道具 举报

发表于 2017-10-6 20:44:53 | 显示全部楼层
vectra 发表于 2017-10-6 20:04
http://bbs.mjtd.com/forum.php?mo ... 954&highlight=trans

这个还是
厉害!
发表于 2017-10-7 09:51:25 | 显示全部楼层
回帖是一种美德!感谢楼主的无私分享 谢谢
发表于 2017-10-7 11:48:31 | 显示全部楼层
本帖最后由 xyp1964 于 2017-10-7 11:51 编辑

(defun c:tt ()                                          ;点到直线的距离
  (setq s1 (car (entsel "\n选择直线: ")))
  (setq p0 (getpoint "\n请输入待求点: "))
  (setq pt (vlax-curve-getclosestpointto s1 p0))
  (setq d1 (distance p0 pt))
  (princ "\n待求点到直线垂足的距离D1为=")
  (princ d1)
  (princ)
)
 楼主| 发表于 2017-10-7 19:42:26 | 显示全部楼层
xyp1964 发表于 2017-10-7 11:48
(defun c:tt ()                                          ;点到直线的距离
  (setq s1 (car (entsel "\n ...

版主求延长线上的点有BUG
 楼主| 发表于 2017-10-7 19:47:57 | 显示全部楼层
vectra 发表于 2017-10-6 20:04
http://bbs.mjtd.com/forum.php?mo ... 954&highlight=trans

不好意思你的结果点那里都是7.0

点评

请问是怎么做到的  发表于 2017-10-7 20:12
发表于 2017-10-7 21:30:33 | 显示全部楼层
先AREA求出点ABC的面积,然后*2/BC不就是A点到线BC的距离了么?个人觉得这个方法最简单。
发表于 2017-10-8 18:07:41 | 显示全部楼层
13648893846 发表于 2017-10-7 19:42
版主求延长线上的点有BUG

(defun c:tt ()                                          ;点到直线的距离
  (setq s1 (car (entsel "\n选择直线: ")))
  (setq p0 (getpoint "\n请输入待求点: "))
  (setq pt (vlax-curve-getclosestpointto s1 p0 t))
  (Grvecs (list 1 p0 pt))
  (setq d1 (distance p0 pt))
  (princ "\n待求点到直线垂足的距离D1为=")
  (princ d1)
  (princ)
)
发表于 2017-10-11 09:06:45 | 显示全部楼层
支持楼主,这个刚好用的着
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 21:39 , Processed in 0.186968 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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