风树 发表于 2013-10-3 10:29:32

Lisper 发表于 2013-10-1 22:47 static/image/common/back.gif
**** 本内容被作者隐藏 ****

你的主体都出来了,感觉将到最近延申点的延申长度和可能要裁剪的长度做比较,前者长时裁剪删悬挂线,否则延申。
就是很好的代码了。

梦里水香 发表于 2013-10-3 20:08:49

xyp1964 发表于 2013-10-3 07:56 static/image/common/back.gif
该延伸的延伸,该打断的打断

15.19楼的程序都试了一下,不好用,三行的应用之后变成二行了,还有很多。。08版测试,
不是很完善。。
院长的没试过,没代码。

Lisper 发表于 2013-10-3 22:16:11

梦里水香 发表于 2013-10-3 20:08 static/image/common/back.gif
15.19楼的程序都试了一下,不好用,三行的应用之后变成二行了,还有很多。。08版测试,
不是很完善。。
...

请上传具体的示例来说明一下!

crazylsp 发表于 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))
)

czb203 发表于 2014-5-23 17:27:41

这个还不错哦

鱼与熊掌 发表于 2014-6-5 23:56:19

这个不错 不过我居然没阅读能力 我的天```````

恕放之生命 发表于 2014-8-1 21:09:59

那就设计意图不明显,有时候不知道是修剪还是要延伸。

coverne 发表于 2016-7-7 16:50:16

院长的思路有么

tongtong3489 发表于 2016-7-30 22:30:18

很有意思的想法

tender138 发表于 2021-8-15 08:42:39

好东西,谢谢!
页: 1 2 [3] 4
查看完整版本: 表格处理:自动延伸+修剪