暮雨寒阳 发表于 2018-10-11 11:37:00

求助如何批量上下连接多线段

有很多如下图所示的多线段,首尾的纵坐标是一致的,如何批量连接成一条线,或者批量闭合,最好是能输入模糊距离。CAD的PE命令输入之后默认的是延长相交的

前生 发表于 2018-10-14 15:50:01

选择二条线。
        (SETQ PS1 (vlax-curve-getstartpoint
                  (VLAX-Ename->VLA-Object (ssname SS1 0))
                  )                        ;起点坐标,世界坐标系
              PE1 (vlax-curve-getendpoint
                  (VLAX-Ename->VLA-Object (ssname SS1 0))
                  )                        ;终点坐标,世界坐标系。NC转出时,需要转成用户坐标系
        )
        (SETQ PS2 (vlax-curve-getstartpoint
                  (VLAX-Ename->VLA-Object (ssname SS1 1))
                  )                        ;起点坐标,世界坐标系
              PE2 (vlax-curve-getendpoint
                  (VLAX-Ename->VLA-Object (ssname SS1 1))
                  )                        ;终点坐标,世界坐标系。NC转出时,需要转成用户坐标系
        )
求二个先的起点终点。
二个起点,生成一条线。二个终点生成一条线。
pedit ,连接。

有精力的话,二个Pline的数据取出,长在一起

mikewolf2k 发表于 2018-10-15 15:45:37

前生 发表于 2018-10-14 15:50
选择二条线。
        (SETQ PS1 (vlax-curve-getstartpoint
                  (VLAX-Ename->VLA-Object (ssname SS1 0))


想法得太简单了。
1. 两根线未必是首尾同顺序的,可以需要头连尾。
2. 不止两根线,若干根线中哪两根才是配对的,然后这两根线的哪头连哪头。这就是难度所在。

mikewolf2k 发表于 2018-10-16 09:49:56

前生 发表于 2018-10-16 00:13
化繁为简,选择2条PLINe线。
4个端点判断距离。

没法简。
1. 用户要求批量处理,如果需要每一对线都手工选择,跟手工直接画封闭线段差距不大,也就失去意义了。
2. 端点判断也太简单了,万一端点距离都一样呢?

q3_2006 发表于 2018-10-11 20:39:24

处理后应该什么样..看不出来要干嘛呢?

panliang9 发表于 2018-10-12 13:24:20

多发点例图,论坛里才有气氛帮你看,泛泛的问不行的。

暮雨寒阳 发表于 2018-10-12 14:38:14

就是弄成如下图的模式

mikewolf2k 发表于 2018-10-12 16:39:55

两端没有相连,估计很难实现,要穷举实际中所有可能出现的情况才可能找出适合你的方法。

前生 发表于 2018-10-16 00:13:20

化繁为简,选择2条PLINe线。
4个端点判断距离。

rongyifei 发表于 2018-10-16 11:59:58

这个应该比较好实现的
页: [1] 2
查看完整版本: 求助如何批量上下连接多线段