- (defun c:test ()
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (setq DN (getreal "\n输入法兰公称通径(10/15/20/25):"))
- (cond ((= DN 10)
- (setq D 75
- K 50
- L 11
- C 12
- B1 15
- )
- )
- ((= DN 15)
- (setq D 80
- K 55
- L 11
- C 12
- B1 19
- )
- )
- ((= DN 20)
- (setq D 90
- K 65
- L 11
- C 14
- B1 26
- )
- )
- ((= DN 25)
- (setq D 100
- K 75
- L 11
- C 14
- B1 33
- )
- )
- (T
- (setq D 100)
- (setq K 75)
- (setq L 11)
- (setq C 14)
- (setq B1 33)
- )
- )
- (setq f1 2)
- (setq p0 (getpoint "\n选取法兰基点:"))
- (setq p01 (polar p0 (* 0.5 pi) (- C f1)))
- (setq p1 (polar p0 pi (/ D 2)))
- (setq p2 (polar p0 pi (+ (/ K 2) (/ L 2))))
- (setq p3 (polar p0 pi (- (/ K 2) (/ L 2))))
- (setq p4 (polar p0 pi (/ B1 2)))
- (setq p5 (polar p0 0.0 (/ B1 2)))
- (setq p6 (polar p0 0.0 (- (/ K 2) (/ L 2))))
- (setq p7 (polar p0 0.0 (+ (/ K 2) (/ L 2))))
- (setq p8 (polar p0 0.0 (/ D 2)))
- (setq p9 (polar p8 (* 0.5 pi) (- C f1)))
- (setq p10 (polar p01 0.0 (+ (/ K 2) (/ L 2))))
- (setq p11 (polar p10 pi L))
- (setq p12 (polar p11 pi 5))
- (setq p02 (polar p0 (* 0.5 pi) C))
- (setq p13 (polar p12 (* 0.5 pi) f1))
- (setq p14 (polar p02 0.0 (/ B1 2)))
- (setq p15 (polar p02 pi (/ B1 2)))
- (setq p20 (polar p1 (* 0.5 pi) (- C f1)))
- (setq p19 (polar p01 pi (+ (/ K 2) (/ L 2))))
- (setq p18 (polar p19 0.0 L))
- (setq p17 (polar p18 0.0 5))
- (setq p16 (polar p17 (* 0.5 pi) f1))
- (command "line" p1 p8 p9 p12 p13 p16 p17 p20 "")
- (command "line" p1 p20 "")
- (command "line" p2 p19 "")
- (command "line" p3 p18 "")
- (command "line" p4 p15 "")
- (command "line" p5 p14 "")
- (command "line" p6 p11 "")
- (command "line" p7 p10 "")
- (command "hatch" "u" 45 3 "n" "" "y" p1 p2 p19 p20
- "c" p3 p4 p15 p16 p17 p18 "c" p5 p6 p11 p12
- p13 p14 "c" p7 p8 p9 p10 "c" ""
- )
- (setvar "osmode" os)
- (princ)
- )
|