- UID
- 525
- 积分
- 3148
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-1-14
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
使用AutoCAD三维命令自动成生成机件三视图,剖面图的程序实例

- (defun c:test ()
- (vl-cmdf "vpoint" "0,0,1")
- (vl-cmdf "ucs" "")
- (setvar "osmode" 0)
- (setq h0 5.9055 ;150
- h1 1.9685 ;50
- h2 3.937 ;100
- l3 1.1811 ;30
- l4 1.1811 ;30
- l5 1.5748 ;40
- l6 0.19685 ;5
- l7 1.1811 ;30
- r0 0.7874 ;20
- r1 0.7874 ;20
- l0 3.937 ;100
- )
- (setq p0 (getpoint "\nEnter the Base point: "))
- (setq l2 (* 1.414 (- h2 h1))
- l1 (- l0 l3))
- (vl-cmdf "pline" p0
- (setq p1 (polar p0 0 l0))
- (setq p2 (polar p1 (/ pi 2) h1))
- (setq p3 (polar p2 pi l1))
- (setq p4 (polar p3 (/ pi 4) l2))
- (setq p5 (polar p4 pi l3))
- (setq p6 (polar p5 (* pi 1.25) l2)) "c")
- (vl-cmdf "extrude" "l" "" h0 "")
- (setq e0 (entlast))
- (vl-cmdf "vpoint" "1,1,1")
- (vl-cmdf "ucsicon" "OR")
- (vl-cmdf "ucs" "o" p0 "ucs" "y" "90")
- (vl-cmdf "ucs" "o" (list (- h0) 0 0))
- (vl-cmdf "box" "" (list l5 l4) l0)
- (setq e1 (entlast))
- (vl-cmdf "box" (list h0 0)(list (- h0 l5) l4) l0)
- (setq e2 (entlast))
- (vl-cmdf "cylinder" (list (/ h0 2.0)(/ h1 2.0) 0) r0 l0)
- (setq e3 (entlast))
- (vl-cmdf "subtract" e0 "" e1 e2 e3 "")
- (setq e0 (entlast))
- (vl-cmdf "slice" e0 "" (list (+ l5 l6) 0 0)(list l5 l6 0)(list l5 l6 h2)
- (list (/ h0 2.0)(/ h1 2.0)))
- (vl-cmdf "slice" e0 "" (list (- h0 l5 l6) 0 0)(list (- h0 l5) l6 0)
- (list (- h0 l5) l6 h2)(list (/ h0 2.0)(/ h1 2.0)))
- (vl-cmdf "section" e0 "" "xy" (list 0 0 (/ l0 2.0)))
- (setq e (entlast))
- (vl-cmdf "ucs" "")
- (vl-cmdf "ucs" "o" p4 "ucs" "z" "135" "ucs" "y" "-90")
- (vl-cmdf "pline" (setq p1 (list (- (/ h0 2.0) r1) 0))
- (setq p2 (polar p1 (/ pi 2) l7))
- "a" "d" (polar p2 (/ pi 2) l0)
- (setq p3 (polar p2 0 (* 2 r1)))
- "l" (polar p3 (- (/ pi 2)) l7)
- "c")
- (vl-cmdf "extrude" "l" "" (- l3) "")
- (setq e4 (entlast))
- (vl-cmdf "subtract" e0 "" e4 "")
- (vl-cmdf "ucs" "")
- (vl-cmdf "vpoint" "0,-1,0")
- (vl-cmdf "vports" "s" "main")
- (vl-cmdf "vpoint" "0,0,-1")
- (vl-cmdf "vports" "s" "bottom")
- (vl-cmdf "vpoint" "1,0,0")
- (vl-cmdf "vports" "s" "right")
- (vl-cmdf "vpoint" "-1,-1,1")
- (vl-cmdf "vports" "s" "swiv")
- (vl-cmdf "vpoint" "1,0,0")
- (vl-cmdf "ucs" "v")
- (vl-cmdf "move" e "" (setq p0 (list 0 0))(polar p0 0 15))
- (vl-cmdf "zoom" "all")
- (vl-cmdf "hatch" "ansi31" "2" "0" e "")
- (vl-cmdf "pan" p0 (polar p0 0 20))
- (vl-cmdf "zoom" "c" (polar p0 0 15)(* 2 h0))
- (vl-cmdf "vports" "s" "sect")
- (if (= (getvar "tilemode") 1)(setvar "tilemode" 0))
- (vl-cmdf "pspace")
- (vl-cmdf "limits" "0,0" "12,9")
- (vl-cmdf "zoom" "all")
- (vl-cmdf "mview" "R" "main" "0,10.0" "2.5,6.0")
- (vl-cmdf "mview" "R" "bottom" "2.5,10.0" "5.0,6.0")
- (vl-cmdf "mview" "R" "right" "5.0,10.0" "7.5,6.0")
- (vl-cmdf "mview" "R" "sect" "0,2" "3.75,6.0")
- (vl-cmdf "mview" "R" "swiv" "3.75,2" "7.5,6.0")
- (princ)
- )
|
|