明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2486|回复: 8

如何编程求两条平行线间的距离?[菜鸟求助]

[复制链接]
发表于 2002-7-11 07:49 | 显示全部楼层 |阅读模式
发表于 2002-7-11 08:16 | 显示全部楼层

不管你编什么程,总要分别选择两条直线吧?

你就打命令di,然后拉一条垂直于两条直线的线段,就可以了。
发表于 2002-7-11 12:55 | 显示全部楼层

标个尺寸岂不是更简捷...

 楼主| 发表于 2002-7-11 22:45 | 显示全部楼层

因为dist比较麻烦,要捕捉垂足什么的,我还是想知道怎样分别选择两条直线,就给出距

因为dist比较麻烦,要捕捉垂足什么的,我还是想知道怎样分别选择两条直线,就给出距离?[br]
发表于 2002-7-13 00:24 | 显示全部楼层

这个好办。

1、entsel: line1 line2
2. (setq angle1 (angle line1_firstpt line1_endpt))
4、(setq tmp_firstpt (polar line1_endpt (angle1+90 ) 100))
   (setq tmp_endpt (polar line1_endpt (angle1-90) 100))
5、(setq inters_pt
    (inters tmp_firstpt tmp_endpt line2_firstpt line2_endpt nil)
    )
6.(distance line1_endpt inters_pt)
发表于 2002-7-14 13:01 | 显示全部楼层

直接查距离

发表于 2006-2-19 13:03 | 显示全部楼层

那如果是多线断的中间距离

该怎样做呢?

发表于 2006-2-19 19:55 | 显示全部楼层
  1.   
  2. (load "xyp_lib.vlx") ;版本 V.20060210
  3. ;|下载和加载通用函数(可在签名栏直接下载后放到搜索路径下)
  4. 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
  5. ★1·在acad.lsp中增加(load"xyp_lib")
  6. ■2·在每个程序内增加(load"xyp_lib")
  7. ■3·在command下,输入(load"xyp_lib")
  8. ■4·在菜单.mnl中增加(load"xyp_lib")
  9. ■5·将xyp_lib.vlx文件直接拽到cad屏幕
  10. [COLOR=red] ★通用函数下载地址:[/COLOR]
  11. [url]http://bbs.mjtd.com/forum.php?mod=viewthread&tid=37554[/url]
  12. |;
  13. ;;;平行线之距离
  14. (defun c:test ()
  15.   (CMDLA0)
  16.   (setq s1  (car (USEL 0 "LINE" "LINE线"))
  17. s2  (car (USEL 0 "LINE" "LINE线"))
  18. ang (abs (- (xyp-get-AngleAtPoint s1 (xyp-get-dxf 10 s1))
  19.       (xyp-get-AngleAtPoint s2 (xyp-get-dxf 10 s2))
  20.    )
  21.      )
  22.   )
  23.   (while (>= ang pi)
  24.     (setq ang (- ang pi))
  25.   )
  26.   (if (< (abs ang) 0.00000001)
  27.     (progn
  28.       (setq pt1  (xyp-get-dxf 10 s1)
  29.      pt2  (xyp-get-FaxianAtPoint s1 pt1 100)
  30.      pt3  (xyp-get-dxf 10 s2)
  31.      pt4  (xyp-get-dxf 11 s2)
  32.      pt22 (inters pt1 pt2 pt3 pt4 nil)
  33.      dist (distance pt1 pt22)
  34.       )
  35.       (princ "\n两平行线距离 = ")
  36.       (princ dist)
  37.     )
  38.     (princ "\n两线不平行!")
  39.   )
  40.   (CMDLA1)
  41. )
发表于 2006-2-19 23:03 | 显示全部楼层
谢谢 xyp1964 您的程序,但我要的是一次全选后求出,不是一段一段来求出,不知道这样可以完成吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-6 12:51 , Processed in 0.219573 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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