htlaser 发表于 2019-4-21 15:41:50

按线长 画圆

因每次画这样的图都要计算 画图好慢
参照直线的长度孔左右移指定距离孔到边   为圆心   孔中间的距离平分平分数要与设定值相除 只能小于或等于设定值
比如选择的线长580      左右孔心到边是45   距离值小于或等于150   计算(580-45-45)/150=3.769向上取整为平分数量


zxp2007 发表于 2019-4-21 15:41:51

(defun c:ww ()
        (setvar "cmdecho" 0)
        (setq osm (getvar "osmode"))
(while (setq p1 (getpoint "\n指定第一点:"))
(setq p2 (getpoint p1 "\n指定第二点:"))
(setq l(abs (distance p1 p2)))
(setq ang(angle p1 p2))
(setq c(+ 1 (fix (/ (- l 90) 150))))
(setq d(/ (- l 90) c))
(setvar "osmode" 0)
(command "CIRCLE" (polar (polar p1 (+ ang 0) 45) (+ ang (* 0.5 pi)) 12.5) "3.5")
(command "copy" "l" "" p1 "A" (+ c 1)(polar p1 (+ ang 0) d) )
(setvar "osmode" osm));开捕捉       
(setvar "cmdecho" 1);开回显
(princ)
        )

xyp1964 发表于 2019-4-21 20:16:07


htlaser 发表于 2019-4-22 15:13:53

快沉了自己顶顶   目前找到用插块的方法有没画法!

alexmai 发表于 2019-4-24 11:54:45

用动态块做,very easy
页: [1]
查看完整版本: 按线长 画圆