明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: xyp1964

[讨论] 表格处理:自动延伸+修剪

  [复制链接]
发表于 2013-10-3 10:29:32 | 显示全部楼层
Lisper 发表于 2013-10-1 22:47
**** 本内容被作者隐藏 ****

你的主体都出来了,感觉将到最近延申点的延申长度和可能要裁剪的长度做比较,前者长时裁剪删悬挂线,否则延申。
就是很好的代码了。
发表于 2013-10-3 20:08:49 | 显示全部楼层
xyp1964 发表于 2013-10-3 07:56
该延伸的延伸,该打断的打断

15.19楼的程序都试了一下,不好用,三行的应用之后变成二行了,还有很多。。08版测试,
不是很完善。。
院长的没试过,没代码。
发表于 2013-10-3 22:16:11 | 显示全部楼层
梦里水香 发表于 2013-10-3 20:08
15.19楼的程序都试了一下,不好用,三行的应用之后变成二行了,还有很多。。08版测试,
不是很完善。。
...

请上传具体的示例来说明一下!
发表于 2013-10-5 16:01:15 | 显示全部楼层
本帖最后由 crazylsp 于 2013-10-5 16:05 编辑

这个问题就是ZML大师编制的框选延伸的嘛,参见
http://bbs.mjtd.com/forum.php?mo ... 71&page=2#pid557756
(defun c:test (/ stn i stnn stnnt ptlst pt10 pt11)
    (setq dm(getvar "EDGEMODE" ))
    (setvar "EDGEMODE" 1)
    (setq i 0)
    (if        (setq stn (ssget))(progn
        (vl-cmdf "_undo"  "be")
        (repeat        (sslength stn)
            (setq stnn   (ssname stn i)
                  stnnt  (entget stnn)
                  pt10 (cdr (assoc 10 stnnt))
                  pt11 (cdr (assoc 11 stnnt))
            )
            (vl-cmdf "_extend"  "" (list stnn pt10) "")
            (vl-cmdf "_extend"  "" (list stnn pt11) "")
            (vl-cmdf "_trim"  "" (list stnn pt10) "")
            (vl-cmdf "_trim"  "" (list stnn pt11) "")
            (setq i (1+ i))
        )
        (vl-cmdf "_undo"  "e")
    ))
    (setq i 0 ptlst nil)
    (repeat (sslength stn)
            (setq stnn   (ssname stn i)
                  stnnt  (entget stnn)
                  pt10 (cdr (assoc 10 stnnt))
                  pt11 (cdr (assoc 11 stnnt))
                  ptlst(cons pt10 ptlst)
                  ptlst(cons pt11 ptlst)
                  i    (1+ i)
            )
    )
    (setq pt(maxmin ptlst))
    (vl-cmdf "_rectang" "non"(car pt) "non"(cadr pt))
    (setvar "EDGEMODE" dm)
    (princ)
)

(defun maxmin(lst / x n a b c d)
    (setq x (car lst)
          a (car x)   
          b (cadr x)  
          c (car x)   
          d (cadr x)  
          n 1
    )
    (repeat (max (- (length lst) 1) 0)
      (setq x (nth n lst)      
            a (min a (car x))  
            b (min b (cadr x))
            c (max c (car x))  
            d (max d (cadr x))
      )
      (setq n (1+ n))
    )
    (list (list a b) (list c d))
)
发表于 2014-5-23 17:27:41 | 显示全部楼层
这个还不错哦
发表于 2014-6-5 23:56:19 | 显示全部楼层
这个不错 不过我居然没阅读能力 我的天```````
发表于 2014-8-1 21:09:59 | 显示全部楼层
那就设计意图不明显,有时候不知道是修剪还是要延伸。
发表于 2016-7-7 16:50:16 | 显示全部楼层
院长的思路有么
发表于 2016-7-30 22:30:18 | 显示全部楼层
很有意思的想法
发表于 2021-8-15 08:42:39 | 显示全部楼层
好东西,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 10:57 , Processed in 0.169986 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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