明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1329|回复: 4

求助如何框选使两条不平行的多义线相交但不闭合

[复制链接]
发表于 2013-1-5 19:44:52 | 显示全部楼层 |阅读模式
如题,在工程设计中经常要用到,请高手帮帮忙。现在经常是两条线延伸,然后剪切掉两头多余的线,或者是倒直角,然后打断闭合多义线,这样都不方便,在论坛找了找也没有这方面的东西。
发表于 2013-1-5 20:57:33 | 显示全部楼层
  1. ;;;1、只有一边会相交,若可能双边的话自加判断
  2. ;;;2、可以用pedit命令连接断线,自理
  3. (defun c:tt(/ SS interp)
  4.   (setq ss(ssget))
  5.   (setq        interp
  6.          (vlax-safearray->list
  7.          (vlax-variant-value
  8.          (vla-IntersectWith
  9.            (vlax-ename->vla-object (setq e1(ssname ss 0)))
  10.            (vlax-ename->vla-object (setq e2(ssname ss 1)))
  11.            acExtendBoth
  12.          )
  13.          )
  14.          )
  15.   )
  16.   (entmake (list(CONS 0 "LINE")(cons 10(vlax-curve-getclosestpointto e1 interp))(cons 11 interp)))
  17.   (entmake (list(CONS 0 "LINE") (cons 10(vlax-curve-getclosestpointto e2 interp))(cons 11 interp)))
  18.   (PRINC)
  19.   )
  20.   
 楼主| 发表于 2013-1-6 12:37:14 | 显示全部楼层
谢谢yjr111 老大,我试了一下程序,可以将两条不相交的多义线线连接起来,但是连接的方法是重新画了两条细线,不是原来多义线的宽度,且与原来的多义线是断开的。最好能达到像两条不相交的线延伸相交,但是不闭合,谢谢了!
发表于 2013-1-6 17:08:46 | 显示全部楼层
  1. ;;;仅适用多段线
  2. (defun c:tt(/ SS interp)
  3. (setq ss(ssget))
  4. (setq interp(vlax-safearray->list(vlax-variant-value(vla-IntersectWith
  5. (vlax-ename->vla-object (setq e1(ssname ss 0)))
  6. (vlax-ename->vla-object (setq e2(ssname ss 1)))
  7. acExtendBoth
  8. ))))
  9. (setq s1(entget e1)s2(entget e2))
  10. (mapcar '(lambda(x)
  11.   (equal x (vlax-curve-getclosestpointto e1 interp)1e-3)
  12.   (entmod (subst (cons 10 interp) x s1))
  13.            )
  14.         s1
  15.         )
  16. (mapcar '(lambda(x)
  17.   (equal x (vlax-curve-getclosestpointto e2 interp)1e-3)
  18.   (entmod (subst (cons 10 interp) x s2))
  19.            )
  20.         s2
  21.         )
  22. (PRINC)
  23. )
 楼主| 发表于 2013-1-6 20:33:06 | 显示全部楼层
谢谢yjr111,您的程序已经完全可以解决我的问题了,这样平时画流程图的时候快多了,再次感谢。。只是两条多义线连接后,每条相交线变成了中间有端点的两条线连接起来的,看着有点别扭。当然,程序不影响使用,也不影响美观和整体效果,可能是个人比较挑剔,呵呵,再次表示感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-2 11:31 , Processed in 0.208804 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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