求一个这样效果插件!
输入命令,选取第一点,第二点,输入等分数,生成点来等分,谢谢!!本帖最后由 cable2004 于 2016-9-25 15:50 编辑
(defun c:tt()
(setq p1 (getpoint "\n起点")
p2 (getpoint p1"\n终点")
nn (getint "分段数:")
lst nil)
(if (and p1 p2 nn)
(progn (setvar"pdmode"35)
(setq lst (dividex p1 p2 nn))
(mapcar '(lambda (x)(entmakex (list (cons 0 "POINT")(cons 10 x)))) (cdr(reverse(cdr lst ))))
))
)(princ)
(defun dividex ( s e i / a r sl)
(setq r (list s)
a (angle s e)
sl (/ (distance s e) i)
)
(repeat (fix i)
(setq r (cons (polar (car r) a sl) r))
)
)
divide 命令 vectra 发表于 2016-9-25 13:38
divide 命令
DIV 不方便,不是等分线长 (defun c:ab8()
(setvar "cmdecho" 0)
(setq nn (getint "\n份数<5>: "))
(if (null nn) (setq nn 5))
(setq pt1 (getpoint "\n第一点: "))
(setq pt2 (getpoint pt1 "\n第二点: "))
(setq ww (distance pt1 pt2))
(setq ang (angle pt1 pt2))
;---------------------------
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq wwn (/ ww nn));每小段距离
(command "xline" "v" pt1)
(repeat nn
(setq pt1 (polar pt1 (+ ang 0) wwn))
(command pt1)
)
(command "") ;封闭线段
(setvar "osmode" os)
(prin1)
)
页:
[1]