远方小山 发表于 2018-11-6 15:55:57

求教大神指导给编个画人行横道的小程序

(defun c:rxd()

(SETVAR "CMDECHO"   0)

(setq ss1(entsel "\n 请选择一个人行横断线:"))
   (setq ss2 (entsel "\n 请选择边界:"))
(command "array" "" SS1 """PA" "" SS2 "" "i" "1" "" "" "" )
(prin1)
)



20060510412 发表于 2018-11-6 17:00:43

感觉这个不需要再编辑lisp了吧,使用常青藤里面的“实体曲线阵列”功能,完全可以实现你想要的效果

chenbh2 发表于 2018-11-6 17:28:02

(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"))
)
(

spp_wall 发表于 2018-11-6 23:40:22

用鸿业画也可以

yoyoho 发表于 2018-11-7 18:49:44

谢谢! chenbh2 分享程序,收藏了!!!!!
页: [1]
查看完整版本: 求教大神指导给编个画人行横道的小程序