lazybones 发表于 2003-1-20 17:49:00

如何编程实现选取一线段两端各伸长一定长度?

首先想到使用stretch命令,但是要crossing-window选取才行,有什么别的方案?

alin 发表于 2003-1-21 00:10:00

取中点为基点scale

CAD菜鸟 发表于 2003-1-21 08:58:00

摘录的一程序:

(defun C:ys(/ ent l el ps pe ps_new pe_new)
(setq ent (car (entsel "\n请选择实体:")));;未做保护,要确保选择的是直线段
(if ent
    (progn
      (setq l (getdist "\n请输入延伸长度:"))
      (if l
        (progn
          (setq el (entget ent))
          (setq ps (cdr (assoc 10 el)))
          (setq pe (cdr (assoc 11 el)))
          (setq ps_new (polar ps (angle pe ps) l))
          (setq pe_new (polar pe (angle ps pe) l))
          (setq el (subst (cons 10 ps_new) (assoc 10 el) el))
          (setq el (subst (cons 11 pe_new) (assoc 11 el) el))
          (entmod el)
          ))
      ))
(princ)
)
页: [1]
查看完整版本: 如何编程实现选取一线段两端各伸长一定长度?