马之剑影 发表于 2014-12-25 17:16:37

怎样实现直线两端同时延伸相同长度

怎样实现直线两端同时延伸相同长度

llsheng_73 发表于 2014-12-30 15:14:44

(defun c:tt(/ e p1 p2 d a)
(setq d(getdist"延伸距离"))
(while(and(setq e(car(entsel"选择直线")))(equal'(0 . "LINE")(assoc 0(entget e))))
    (entmod(setq e(entget e)
               p1(cdr(assoc 10 e))
               p2(cdr(assoc 11 e))
               e(list(assoc -1 e)(cons 10(polar p1(angle p2 p1)d))(cons 11(polar p2(angle p1 p2)d)))))
    )
)

huxu823 发表于 2022-6-10 19:50:14

llsheng_73 发表于 2014-12-30 15:14


只能一条条线选择,如果加上可以框选就更好了,不知道怎么改

GDFGFGF 发表于 2022-6-9 20:49:55

lucas_3333 发表于 2014-12-25 19:24
收币 ,不喜勿下!

大师,能不能改为框选和可以支持多段线吗,

xyp1964 发表于 2014-12-25 19:16:35

;; tt(直线双向伸缩)
;; 需要e派工具箱(XCAD)的支持: http://yunpan.cn/cAtx5rcDR4VnY(提取码 eca7)
(defun c:tt ()
(setq dist (Udist 7 "" "距离<输入或鼠标直接量取>" dist nil))
(setq i -1)
(if (setq ss (ssget '((0 . "LINE"))))
    (while (setq s1 (ssname ss (setq i (1+ i))))
      (xyp-Lengthen-De s1 dist)
    )
)
(princ)
)

vectra 发表于 2014-12-25 19:16:56

(defun extentline (ent extent / ang dxf pt0 pt01 pt1 pt11)
(setq        dxf(entget ent)
        pt0(cdr (assoc '10 dxf))
        pt1(cdr (assoc '11 dxf))
        ang(angle pt0 pt1)
        pt01 (polar pt0 (- ang pi) extent)
        pt11 (polar pt1 ang extent)
        dxf(subst (cons '10 pt01) (cons '10 pt0) dxf)
        dxf(subst (cons '11 pt11) (cons '11 pt1) dxf)
)
(entmod dxf)
)

lucas_3333 发表于 2014-12-25 19:24:41

收币 ,不喜勿下!

s678z 发表于 2014-12-26 08:21:51

用LEN命令,选DE,点两端

ysq101 发表于 2014-12-31 20:16:15

llsheng_73 发表于 2014-12-30 15:14 static/image/common/back.gif


刚测试了一下。。原来还是可以缩短的。。
我再修改一下搞成批量。。
这算借鉴还是偷窃???

前生 发表于 2015-1-1 00:51:44

取二个点,算角度,更新二个点的坐标。

llsheng_73 发表于 2015-1-1 15:37:26

ysq101 发表于 2014-12-31 20:16 static/image/common/back.gif
刚测试了一下。。原来还是可以缩短的。。
我再修改一下搞成批量。。
这算借鉴还是偷窃???

黄老师说过:这算研究

ysq101 发表于 2015-1-2 13:05:24

llsheng_73 发表于 2015-1-1 15:37 static/image/common/back.gif
黄老师说过:这算研究

谢谢支持....
新手只求渔法
而你的渔法技术相当好...
像高飞,不死猫那种可望不可及..像是在看天书
谢谢你一直以来的指点
页: [1] 2
查看完整版本: 怎样实现直线两端同时延伸相同长度