明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4598|回复: 20

[求助]***非常神的移动智能调整程序,高手不要错过!

    [复制链接]
发表于 2008-2-29 15:14:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-3-1 16:11:43 编辑

下图中,最左为原图,中间图为本人预期希望实现图,最右边为程序实际结果图。工作中频繁遇到这样的动作,如图移动红色线条,青色线会自动延伸,黑色线会自动剪切,绿色线则不需要进行操作。注意以上线条颜色只是为了问题。

请高手优化以下几点:1.不剪切绿色线条(没被红线截断的线条)。2.红色线条(移动对象)推广至多段线。 3.红色线条(移动对象)推广至可以多选。

程序意图的就是在某些线条移动后,被其截断的线条(原来端点在这些线条上的线条)要保正端点继续在这些线条上,达不到的要延伸,超出的要剪切。

 

本帖子中包含更多资源

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

x
发表于 2017-12-18 10:35:14 | 显示全部楼层
明总写的,标注尺寸驱动程式
发表于 2008-2-29 19:03:00 | 显示全部楼层
不用那么复杂吧?可以直接用stretch指令完成这个操作。
  1. (defun c:tt ()
  2. (setvar "CMDECHO" 0)
  3. (IF (and (setq S1 (ENTSEL "\nSelect a Line :"))
  4.           (setq ent (ENTGET(CAR S1)))
  5.     (= (cdr(assoc 0 ent)) "LINE")) (progn
  6.   (setq p1 (cdr(assoc 10 ent))
  7.         p2 (cdr(assoc 11 ent)))
  8.   (command ".stretch" "c" p1 p2 "" p1 pause)
  9. ))
  10. (setvar "CMDECHO" 1)
  11. (princ)
  12. )
 楼主| 发表于 2008-3-1 10:11:00 | 显示全部楼层
不愧是高手,能否加入以下功能:1.将红色线条(移动对象)推广至多段线;2.红色线条(移动对象)推广至可以多选。
发表于 2008-3-1 10:18:00 | 显示全部楼层

多选?怎么选?给个示意图看看。

 楼主| 发表于 2008-3-1 10:49:00 | 显示全部楼层
本帖最后由 作者 于 2008-3-1 16:00:44 编辑

请高手不吝赐教!!!两条红色多段线同时一起上移,其它端点在其上面的线条做相应剪切或延伸,以保证端点继续在各红色线条上。

本帖子中包含更多资源

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

x
发表于 2008-3-1 11:21:00 | 显示全部楼层
仅对5楼样图有效。
  1. (defun c:tt ()
  2.   (setvar "CMDECHO" 0)
  3.   (IF (and (setq S1 (ENTSEL "\nSelect first Line :"))
  4.            (setq ent (ENTGET(CAR S1)))
  5.            (= (cdr(assoc 0 ent)) "LINE")
  6.         (setq S2 (ENTSEL "\nSelect next line :"))
  7.            (setq ent2 (entget(car s2)))
  8.            (= (cdr (assoc 0 ent2)) "LINE")) (progn
  9.    (setq p1 (cdr(assoc 10 ent))
  10.          p2 (cdr(assoc 11 ent))
  11.    P3 (cdr(assoc 10 ent2))
  12.    p4 (cdr(assoc 11 ent2))
  13.    pt1 (list (min (car p1) (car p2) (car p3) (car p4))
  14.    (min (cadr p1) (cadr p2) (cadr p3) (cadr p4)))
  15.    pt2 (list (max (car p1) (car p2) (car p3) (car p4))
  16.    (max (cadr p1) (cadr p2) (cadr p3) (cadr p4))))
  17.    (command ".stretch" "c" pt1 pt2 "" pt1 pause)
  18.   ))
  19.   (setvar "CMDECHO" 1)
  20.   (princ)
  21. )
 楼主| 发表于 2008-3-1 11:37:00 | 显示全部楼层
本帖最后由 作者 于 2008-3-1 16:08:00 编辑

以上程序只能选直线,不能选多段线。我想功能应用范围扩大,红色线条如果能推广至能同时选多条直线、多段线及其它图元,其它线条跟着一起调整,就非常完美了。 

请高手重新过目,发挥你的光和热,这对我的工作非常有帮助,经常碰到这样的情况。谢谢!!!

本帖子中包含更多资源

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

x
发表于 2008-3-1 16:20:00 | 显示全部楼层
我看了半天S命令都可以实现你的要求啊,S一选,把不要拉伸的剔掉不就完事了。
 楼主| 发表于 2008-3-2 20:39:00 | 显示全部楼层
本帖最后由 作者 于 2008-3-3 8:25:31 编辑

是不是太难了,明经高手让我有点失望!!!

 楼主| 发表于 2008-3-3 08:30:00 | 显示全部楼层
本帖最后由 作者 于 2008-3-3 8:32:49 编辑

本来我对明经寄了很大希望,但是我觉得这个程序对真正的高手应该不算非常难,为什么那么多人看了都没有留言?

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

本版积分规则

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

GMT+8, 2025-5-19 19:04 , Processed in 0.192692 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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