love12314 发表于 2016-9-25 12:52:56

求一个这样效果插件!

输入命令,选取第一点,第二点,输入等分数,生成点来等分,谢谢!!

cable2004 发表于 2016-9-25 12:52:57

本帖最后由 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))
    )

)

vectra 发表于 2016-9-25 13:38:56

divide 命令

love12314 发表于 2016-9-25 13:47:35

vectra 发表于 2016-9-25 13:38
divide 命令

DIV 不方便,不是等分线长

wuzheng80425 发表于 2016-9-27 13:49:42

(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]
查看完整版本: 求一个这样效果插件!