;直径整除了。- ;绘制螺(孔邹锋 2013.5.10 http://bbs.mjtd.com/thread-100947-3-1.html)
- (defun zlk()
- (command "undo" "be")
- (setq la (getvar "clayer"))
- ; (if (= a nil) (setq a 8))
- ; (setq x (getreal (strcat "\n请输入螺孔规格(M" (rtos (fix a) 2) "):")))
- ; (or x (setq x 8))
- ; (cond
- ; ((= nil (numberp x)) (setq x a))
- ; ((= T (numberp x)) (setq a x))
- ; )
- (setq pb (getpoint "\n请指定放置位置:"))
- (setq m (/ a 2.0)
- m1 (* 0.85 m)
- p1 (polar pb pi m)
- p2 (polar pb (* pi 1.5) m))
- (command "layer" "m" "螺纹" "c" "53" "" "lw" "0.13" "" "")
- (command "arc" p2 "e" p1 pb)
- (command "layer" "m" "3中心线" "c" "1" "" "lw" "0.13" "" "lt" "CENTER" "" "")
- (command "circle" pb m1)
- (setvar "clayer" la)
- ;*********************
- ;计算两条直线四个点
- (setq pt1 (polar pb 0 (* 1.2 m)))
- (setq pt3 (polar pb pi (* 1.2 m)))
- (setq pt2 (polar pb (* 0.5 pi) (* 1.2 m)))
- (setq pt4 (polar pb (* 1.5 pi) (* 1.2 m)))
- (entmake (list (cons 0 "LINE") (cons 8 "3中心线") (cons 10 pt1) (cons 11 pt3)))
- (entmake (list (cons 0 "LINE") (cons 8 "3中心线") (cons 10 pt2) (cons 11 pt4)))
- (command "undo" "e")
- (princ)
- )
- (defun c:3 ()(setq a 3)(zlk))
- (defun c:4 ()(setq a 4)(zlk))
- (defun c:5 ()(setq a 5)(zlk))
- (defun c:6 ()(setq a 6)(zlk))
- (defun c:8 ()(setq a 8)(zlk)))
- (defun c:10 ()(setq a 10)(zlk))
- (defun c:12 ()(setq a 12)(zlk))
- (defun c:14 ()(setq a 14)(zlk))
- (defun c:16 ()(setq a 16)(zlk))
- (defun c:18 ()(setq a 18)(zlk))
- (defun c:20 ()(setq a 20)(zlk))
- (defun c:22 ()(setq a 22)(zlk))
- (defun c:24 ()(setq a 24)(zlk))
|