这是一个将PT1设置为o,o,o的例程。但是当我尝试(在前一篇文章中)将SPT设置为“getpoint”时,例程失败了。
- ;;This program is to draw a 3d model of a studwall
- (defun c:STUDwall ( )
- (setq PT1 (list 0 0 0))
- (setq Ceilinghgt 96.0)
- (setq UnflrBeamhgt (+ Ceilinghgt 0.5));Gyproc thickness 0.5 off floor.
- (setq Wallth 180.0)
- (setq Width 3.5)
- (setq Hdrlth (+ Wallth Width))
- (setq Thk 1.5)
- (setq Studlth (- UnflrBeamhgt(* Thk 3)))
- (setq PT5x (car PT1))
- (setq PT5y (cadr PT1))
- (setq PT5z (+(last PT1)1.5))
- (setq PT5 (list PT5x PT5y PT5z))
- (setq PT2 (polar PT5 6.283185307 Thk))
- (setq PT3 (polar PT2 1.570796327 Width))
- (setq PT4 (polar PT3 3.141592654 Thk))
- (command "pline" PT5 PT2 PT3 PT4 PT5 "")
- (setq Wallstud (entlast ))
- (setq PT6 (polar PT1 6.283185307 Hdrlth))
- (setq PT7 (polar PT6 1.570796327 Width))
- (setq PT8 (polar PT7 3.141592654 Hdrlth))
- (setq PT9x (car PT1))
- (setq PT9y (cadr PT1))
- (setq PT9z (+(last PT1)91.5))
- (setq PT9 (list PT9x PT9y PT9z))
- (command "pline" PT1 PT6 PT7 PT8 PT1 "")
- (setq Wallhdr (entlast ))
- (command "extrude" Wallhdr "" Thk )
- (setq HdrFtr (entlast))
- (command "extrude" Wallstud "" Studlth )
- (setq Stud (entlast))
- (setq PT10x (car PT5))
- (setq PT10y (cadr PT5))
- (setq PT10z (+(last PT5)Studlth))
- (setq PT10 (list PT10x PT10y PT10z))
- (setq PT11x (car PT10))
- (setq PT11y (cadr PT10))
- (setq PT11z (+(last PT10)1.5))
- (setq PT11 (list PT11x PT11y PT11z))
- (setq PT12x (+(car PT1)(- Hdrlth 1.5)))
- (setq PT12y (cadr PT1))
- (setq PT12z (last PT1))
- (setq PT12 (list PT12x PT12y PT12z))
- (command "copy" Hdrftr "" PT1 PT10 )
- (setq Hdr1 (entlast))
- (command "copy" Hdr1 "" PT10 PT11)
- (setq Hdr2 (entlast))
- (command "copy" stud "" PT1 PT12)
- (setq Laststud (entlast))
- (command "copy" laststud "" "" -1.5 0 0 )
- (setq Secondlast (entlast))
- (command "copy" secondlast "" "" -1.5 0 0 )
- (setq NumStuds (/ (+ Wallth width)16))
- (setq Nstud (fix NumStuds))
- (command "array" stud "" "r" "1" Nstud 16 )
- (command "copy" stud "" "" 1.5 0 0 )
- (setq Firstud (entlast))
- (command "copy" Firstud "" "" 1.5 0 0 )
- (princ)(princ)
- )
|