首先不知道图是如何画的。下面是根据可能的画法提出的编程思路: 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,用数据表中的点分别计算出线长,从而得到最未点,在图上标出最未点。 |