求教大神指导给编个画人行横道的小程序
(defun c:rxd()(SETVAR "CMDECHO" 0)
(setq ss1(entsel "\n 请选择一个人行横断线:"))
(setq ss2 (entsel "\n 请选择边界:"))
(command "array" "" SS1 """PA" "" SS2 "" "i" "1" "" "" "" )
(prin1)
)
感觉这个不需要再编辑lisp了吧,使用常青藤里面的“实体曲线阵列”功能,完全可以实现你想要的效果 (defun C:coi ( / ss ang bp cnt dist d)
(cond
((setq ss (ssget))
(initget 1)
(setq pt1 (getpoint "\n基点: "))
(initget 1)
(setq pt3 (getpoint pt1 "\n阵列距离: "));getangle
(setq dis (rtos (distance pt1 pt3) 2 0));此函数将返回 3D pt1 pt2 之间的距离。
(setq dist (readdis));字符转数字
(setq pt2 (getpoint pt1 "\n阵列方向: "));getangle
(setq ang (angle pt1 pt2))
;;; (setq dist 20)
(setq cnt1 (rtos (distance pt1 pt2) 2 0));此函数将返回 3D pt1 pt2 之间的距离。
(setq cnt2 (readcnt1));字符转数字
(setq cnt (+(/ cnt2 dist) 1) )
(setq d 0.0)
(setvar "cmdecho" 0)
(command "_.undo" "_g" "_.copy" ss "" "_m" pt1)
(repeat (1- cnt)
(command (polar pt1 ang (setq d (+ d dist)))))
(command "" "_.undo" "_e"))
)
( 用鸿业画也可以 谢谢! chenbh2 分享程序,收藏了!!!!!
页:
[1]