明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3310|回复: 16

★大侠高抬贵手,框选多段线顶点延伸

  [复制链接]
发表于 2011-12-14 01:05:02 | 显示全部楼层 |阅读模式
工作上经常用到顶点延伸功能,由左图框选顶点实现右图效果,请高手写一段代码实现,不胜感激!

本帖子中包含更多资源

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

x
发表于 2019-11-23 21:25:02 | 显示全部楼层
学习一下好看东西
发表于 2011-12-14 08:40:58 | 显示全部楼层
思路:1、框选得到多义线
      2、求出多义线顶点坐标
      3、判断在框选范围内的顶点
      4、循环对在框选内的顶点进行原点打断,再选择过这点的对象,分别对该对象更新顶点坐标。
发表于 2011-12-14 12:19:39 | 显示全部楼层
;;; No error check
;;; For test only
(defun C:Test ()
   (setq ss (ssget '((0 . "LINE")))
         nn (sslength ss)
        pts (acet-geom-ss-extents ss nil)
         pa (car  pts)
         pc (cadr pts)
         pb (list (car pc) (cadr pa))
         ee (ssname (ssget "w" pa pb '((0 . "LINE"))) 0)
         dd (getdist "\n 加长: ")
   )
   (entdel ee)
   
   (command "change" pa "" (mapcar '- pa (list 0 dd)))
   (setq e1 (ssname (ssget pa '((0 . "LINE"))) 0))
   (entdel e1)
   
   (command "change" pb "" (mapcar '- pb (list 0 dd)))
   (setq e2 (ssname (ssget pb '((0 . "LINE"))) 0))
   (entdel e2)
   
   (entdel ee)
   (command "change" pa "" (mapcar '- pa (list dd 0)))
   (command "change" pb "" (mapcar '+ pb (list dd 0)))
   (entdel e1)
   (entdel e2)
)
 楼主| 发表于 2011-12-14 18:37:54 | 显示全部楼层
不行啊,不能适应多段线,也不能伸长,只是删除了一根直线,效果见右图。

本帖子中包含更多资源

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

x
发表于 2011-12-14 18:39:45 | 显示全部楼层
如果是直线的话就好办的多
发表于 2011-12-14 22:43:47 | 显示全部楼层
1、框选打断得到图元
2、用length命令分别延伸即可
 楼主| 发表于 2011-12-15 00:00:37 | 显示全部楼层
高手能帮我写代码吗?
发表于 2011-12-15 00:05:57 | 显示全部楼层
你把要求达到的功能说得再清楚一点,我可以试试
 楼主| 发表于 2011-12-15 00:55:03 | 显示全部楼层
麻烦大侠了!在多段线上框选我需要的顶点,由顶点反向伸长一段距离,完成后所有线段还保持多段线性质。

点评

你的要求2楼已经准确无误的给出答案了  发表于 2011-12-15 09:12
发表于 2011-12-15 14:29:04 | 显示全部楼层
...完成后所有线段还保持多段线性质...
命題不清
如何的保法?
Jpg 換成 Dwg 如何
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-18 13:01 , Processed in 0.166772 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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