明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2844|回复: 13

平行的多段线顶点相连

  [复制链接]
发表于 2011-12-15 10:41:13 | 显示全部楼层 |阅读模式
哪位高手能否编一个程序解决两条平行的多段线顶点相连问题啊。。如图所示。求助!

本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 收起 理由
yan19851204 + 1

查看全部评分

发表于 2019-9-6 19:07:27 | 显示全部楼层
能框选就完美了,哪位大师弥补下
发表于 2019-11-23 20:25:39 | 显示全部楼层
很实用的程序啊正需要
发表于 2019-9-9 17:48:18 | 显示全部楼层
源码用不了
发表于 2011-12-15 11:40:00 | 显示全部楼层
求助版主!

评分

参与人数 1明经币 +1 收起 理由
10410024 + 1

查看全部评分

发表于 2011-12-15 12:03:30 | 显示全部楼层
  1. (defun c:pxlj(/ e1 e2 vla_e1 vla_e2 pts1 pts2 fglst lst_dist&p)
  2.   (setq e1(car(entsel"\n 选择第一条曲线:"))
  3.   e2(car(entsel"\n 选择第二条曲线:"))
  4.   vla_e1(vlax-ename->vla-object e1)
  5.   vla_e2(vlax-ename->vla-object e2)
  6.   pts1(vlax-safearray->list(vlax-variant-value(vla-get-coordinates vla_e1)))
  7.   pts2(vlax-safearray->list(vlax-variant-value(vla-get-coordinates vla_e2)))
  8.   )
  9.   (fgb pts1)
  10.   (setq pts1 fglst fglst nil)
  11.   (fgb pts2)
  12.   (setq pts2 fglst fglst nil)
  13.   (setq i 0 m 0)
  14.   (while(< i(length  pts1))
  15.      (setq x (nth i pts1))
  16.      (while (< m(length  pts2))
  17.        (setq y (nth m pts2))
  18.        (setq lst_dist&p (append lst_dist&p (list(list x y (distance x y)))))
  19.        (setq m(1+ m))
  20.         )
  21.     (setq lst_dist&p(vl-sort lst_dist&p(function(lambda(x1 x2)(< (caddr x1)(caddr x2))))))
  22.     (command "line" (caar lst_dist&p)(cadar lst_dist&p) "")
  23.     (setq pts1(vl-remove (caar lst_dist&p) pts1)
  24.     pts2(vl-remove (cadar lst_dist&p) pts2)
  25.     )
  26.     (setq lst_dist&p nil)
  27.     (if(not  pts1)(setq i (1+ i)))
  28.     (if(not  pts2)(setq m (1+ m))(setq m 0))
  29.      )
  30.   )
  31.    
  32. ;;;;;;;;;;;;;;;;;;;;;;;;;;;将表内元素每2个进行分割重新组表;;;;;;;;;;;;;;;;;;;;;;;;;
  33. (defun fgb(lst1 / fglst1 dxf10 n)
  34. (setq n 0 i 0)
  35. (repeat (/(length lst1)2)
  36.    (repeat 2
  37.     (setq  dxf10 (nth n lst1))
  38.     (setq fglst1 (append fglst1 (list dxf10 )))
  39.     (setq n (1+ n))
  40.     )
  41.   (setq fglst (append  fglst (list fglst1 )))
  42.   (setq fglst1 nil)
  43.   (setq i(1+ i))
  44.   )
  45.   )

本帖子中包含更多资源

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

x

评分

参与人数 2金钱 +25 收起 理由
yoyoho + 20 不错,学习了!
yan19851204 + 5 很给力!

查看全部评分

发表于 2011-12-16 10:50:29 | 显示全部楼层
yjr111 发表于 2011-12-15 12:03

高手,谢谢!
发表于 2011-12-16 11:06:51 | 显示全部楼层
程序实用学习了!
发表于 2011-12-16 15:03:44 | 显示全部楼层
yjr111 发表于 2011-12-15 12:03

朋友:改成框选的吧!更快捷!~~呵呵!~~
发表于 2012-1-13 20:51:39 | 显示全部楼层
很实用的程序谢谢
发表于 2012-3-10 11:15:04 | 显示全部楼层
本帖最后由 xingyun300 于 2012-3-10 11:18 编辑

是,能框选就好了!大侠,再改改呗!还有,能不能选择直线呢?不是平行的直线能完成这样的操作吗?
发表于 2012-3-10 21:03:27 | 显示全部楼层
顶上去,请高手改为框选!
发表于 2012-3-11 10:00:56 | 显示全部楼层
在论坛收集后整理的3p线对应顶点连线程序。

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-6 08:12 , Processed in 0.192038 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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