wngxb 发表于 2015-8-11 10:51:48

如何定义:延长线端的长度

如何只延伸框选的所有线条一头或者两头的指定长度呢,包括所有性质的线条。

Gu_xl 发表于 2015-8-11 14:49:25

本帖最后由 Gu_xl 于 2015-8-11 14:50 编辑

(defun c:tt ()
(if (and (setq ss (ssget '((0 . "*line,arc"))))
         (setq d (getdist "\n延伸长度:"))
         (progn
             (initget "Both")
             (setq pt (getpoint "\n延伸方向[两端延伸Both]"))
         )
      )
    (progn
      (command "lengthen" "de" d)
      (repeat (setq n (sslength ss))
      (cond ((= "Both" pt)
               (command      (list (setq e (ssname ss (setq n (1- n))))
                              (trans (vlax-curve-getstartpoint e) 0 1)
                        )
               )
               (command (list e (trans (vlax-curve-getendpoint e) 0 1)))

            )
            (t
               (command (list (setq e (ssname ss (setq n (1- n)))) pt))
            )
      )
      )
      (command "")
    )
)
(princ)
)

wngxb 发表于 2015-8-11 17:07:09

Gu_xl 发表于 2015-8-11 14:49 static/image/common/back.gif


G版就是G版,非常非常的厉害,厉害都还一般,重要的是这么大气的开源,谢谢您呢!

zrlmj 发表于 2023-7-7 15:00:10

Gu_xl 发表于 2015-8-11 14:49


G版就是G版,给力

zazhz123 发表于 2024-6-6 10:25:30

版主就是扎实,每一个指点和出品都是那么精悍完美。

zazhz123 发表于 2024-6-6 10:26:43

Gu_xl 发表于 2015-8-11 14:49


为版主的功底和强力点赞
页: [1]
查看完整版本: 如何定义:延长线端的长度