明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3461|回复: 8

求一条多段线顶点到另一条多段线的最短距离,然后导出到excel,程序

[复制链接]
发表于 2009-12-16 11:54:00 | 显示全部楼层 |阅读模式
求一条多段线顶点到另一条多段线的最短距离,两条多段线不相交,然后将每个顶点对应的最小距离依照顺序导出到excel.每个顶点都求一次,太麻烦了.在此谢过拉.
 楼主| 发表于 2009-12-16 12:02:00 | 显示全部楼层

有高手晓得吗.这里我提供些我知道的资料


好象VLISP中有VLAX-CURVE-GETCLOSEDPOINTTO
这么一个函数直接返回点到曲线的最短距离.....


 

发表于 2009-12-18 12:40:00 | 显示全部楼层

时间问题,呵,有时间也许帮你坐坐

 楼主| 发表于 2009-12-21 09:59:00 | 显示全部楼层
huhu.没有人啊.哪个高人帮我解决下呀.
 楼主| 发表于 2009-12-21 10:03:00 | 显示全部楼层

帮帮忙啊 .555

发表于 2010-12-18 19:59:39 | 显示全部楼层
我的集成工具中“轴线至边线距离(平面)”可实现该功能,但得分两步,第一步,运用工具中桩号标注,将折点桩号标出,并形成数据文件,第二步,然后将数据文件中折点桩号列入EXCEL中,将鼠标点在首桩号,然后运行轴线至边线距离,可求得指定桩号的点到另一线的距离,但限于平面。
发表于 2010-12-22 17:26:37 | 显示全部楼层
高手在哪里呢
发表于 2010-12-23 09:18:18 | 显示全部楼层
路过...
未能理出编程所需的具体素材来
上个图再加以说明会好些
发表于 2010-12-23 13:41:03 | 显示全部楼层
请试试这个函数,是到CSV文件的。excel有点麻烦

  1. ;;;参数 SourcePoly 要计算的多段线图元名 TargetPoly 另一条多段线 CSVFile 输出文件名
  2. (defun NearstPtoCSV (SourcePoly TargetPoly CSVFile)
  3.   (setq f (open CSVFile "a"))
  4.   (if (vlax-curve-isClosed SourcePoly)
  5.     (setq n (fix(1- (vlax-curve-getEndParam SourcePoly))))
  6.     (setq n (fix(vlax-curve-getEndParam SourcePoly)))
  7.     )
  8.   (setq nn 0)
  9.   (repeat n
  10.     (setq p (vlax-curve-getPointAtParam SourcePoly nn)
  11.           p1 (vlax-curve-getClosestPointTo TargetPoly p)
  12.           d (rtos (distance p p1) 2 3)
  13.           rtn (cons d rtn)
  14.           )
  15.     (setq nn (1+ nn))
  16.     )
  17.   (setq rtn (reverse rtn))
  18.   (setq str "" nn 0)
  19.   (repeat n
  20.     (if (/= str "")
  21.       (setq str (strcat str "," (nth nn rtn)))
  22.       (setq str (nth nn rtn))
  23.       )
  24.     )
  25.   (write-line str f)
  26.   (close f)
  27.   str
  28.   )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 16:19 , Processed in 0.178851 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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