沿直径画圆
(defun c:aaa()
(setq cen (getpoint "\n
请选择圆心位置
cen:"))
(setq r (getreal "\n
请输入圆的半径
r:"))
(command "circle" cen r "")
(setq n (getreal "\n
请输入小圆和大圆面积之比
n:"))
(setq m (/ 1 n))
(setq p (- m 1))
(fix p)
(setq r1 (/ r m))
(setq x (car cen))
(setq y (cadr cen))
(setq y1(- y (- r r1)))
(setq cen2 (list x y1))
(command "circle" cen2 r1 "")
(setq i 0)
(setq y2 (+ y1 (* 2 r1)))
(while (
(setq cen1 (list x y2))
(setq i (+ i 1))
(setq y2 (+ y2 (* 2 r1)))
(command "circle" cen1 r1 "")
)
)
梯形剖面线(直接打)
(defun c:ab()
(setq L1 (getreal "
等腰梯形下底
"))
(setq L2 (getreal "
等腰梯形上底
"))
(setq H (getreal "
等腰梯形腰长
"))
(setq a1 (/ (- L1 L2) 2))
(setq h
(sqrt (- (* H H) (* a1 a1)) ))
(setq BP (getpoint "
等腰梯形下底中心基点
"))
(setq p1 (polar BP 0 (/ L1 2)))
(setq p2 (polar p1 pi L1 ))
(setq BP1 (polar BP (/ pi 2) h))
(setq p3 (polar BP1 0 (/ L2 2)))
(setq p4 (polar p3 pi L2 ))
(command "layer" "M" "cuxian" "C" 7 "" "L" "Continuous" "" "LW" 0.35 "" "")
(command "line" p1 p3 p4 p2 p1 "")
(command "layer" "M" "zhongxian" "C" 2 "" "L" "Centerx2" "" "LW" 0.2 "" "")
(setvar "ltscale" 2.5)
(command "line" BP BP1 "")
(setq s1 (polar BP (/ pi 3) (/ h 2) ))
(setq s2 (polar BP (/ pi 1.5) (/ h 2) ))