明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: llc1968

[求助]查找最长线路

  [复制链接]
 楼主| 发表于 2008-8-13 07:48:00 | 显示全部楼层
winabcd发表于2008-8-12 15:58:00你的“最长线路”的含义?其它点CDE...是固定的吗?如是,其表示形式又如何?你的线路一定是水平或垂直的吗?会不会有斜的?。。。。。

我再传张图,

我想实现的功能:点选A点,程序能自动把线段ABCD、ABCEFG、ABHI的长度求出来,并判断ABCD、ABCEFG、ABHI那个是最长的,多谢了!!!

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-8-14 16:34:00 | 显示全部楼层

一直顶,哈哈,期待高人!!!

 楼主| 发表于 2008-8-15 08:05:00 | 显示全部楼层

顶,期待高手帮忙!!!

发表于 2008-8-15 09:31:00 | 显示全部楼层

这有点像树枝。。。

发表于 2008-8-15 11:50:00 | 显示全部楼层

应当不难,遍历即可。当中有个记录走过节点的变量。

 楼主| 发表于 2008-8-15 12:18:00 | 显示全部楼层
zml84发表于2008-8-15 11:50:00应当不难,遍历即可。当中有个记录走过节点的变量。

给个大概思路吧,谢谢!!!

 楼主| 发表于 2008-8-16 00:45:00 | 显示全部楼层
顶起!!!
发表于 2008-8-16 09:59:00 | 显示全部楼层

首先不知道图是如何画的。下面是根据可能的画法提出的编程思路:

1、给定开始点pt;

2、用(ssget "c" pt pt)得到该点的选择集;

3、如果该点实体数大于1,不符合端点要求,程序结束。

4、取行该实体的数据表,如果该实体是POLYLINE或LWPOLYLINE,炸开该实体,转第2步;

5、如果该实体不是LINE,无法有另一个端点,程序结束。

6、从实体数据表中取得线的首(pt1)未(pt2)点,判断两点与pt的距离确定实际的未点,并记录到数据表中。

7、用(ssget "c" pt1 pt1)得到选择集;

8、如果该选择集实体数大于3,则该线与其它线条有交点,转去交点处理;

9、如果该选择集实体数等于2,则去掉前个实体,取得第二个实体数据;

10、如果该实体是POLYLINE或LWPOLYLINE,炸开该实体,转第7步;

11、如果该实体不是LINE,程序结束。

12、做第6步;

13、做第7步;

14、如果该选择集实体数大于4,转去交点处理;

15、如果选择集实体数等于3,则去掉前两个实体,取得最后的实体,循环第10步。

16、如果选择休实体数等于2,则去掉前个实体。做第6步;

17,用数据表中的点分别计算出线长,从而得到最未点,在图上标出最未点。

 楼主| 发表于 2008-8-16 13:55:00 | 显示全部楼层
ZZXXQQ发表于2008-8-16 9:59:00首先不知道图是如何画的。下面是根据可能的画法提出的编程思路:1、给定开始点pt;2、用(ssget \"c\" pt pt)得到该点的选择集;3、如果该点实体数大于1,不符合端点要求,程序结束。4、取行该实

哈哈,太感谢了,消化中!!!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-19 03:48 , Processed in 0.156110 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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