I have prepared some code in a simple way to extrude object. I could not see anything wrong in program but when I run it, it always went wrong way.
Program takes endpoint as a first point to draw a 3d polyline. Please help.
(defun c:cw ()
(setq getaxis (getstring "Please select plane :"))
(setq picker (getpoint "Please select endpoint of baseline :"))
(setq xpoint (car picker))
(setq ycdrpicker (cdr picker))
(setq ypoint (car ycdrpicker))
(setq zcdrpicker (cdr ycdrpicker))
(setq zpoint (car zcdrpicker))
(setq zxplus (+ xpoint 0.5))
(setq zxminus (- xpoint 0.5))
(setq zyplus (+ ypoint 0.5))
(setq zyminus (- ypoint 0.5))
(setq zzplus (+ zpoint 0.5))
(setq zzminus (- zpoint 0.5))
(setq yxplus (+ xpoint 0.5))
(setq yxminus (- xpoint 0.5))
(setq yyplus (+ ypoint 0.5))
(setq yyminus (- ypoint 0.5))
(setq yzplus (+ zpoint 0.5))
(setq yzminus (- zpoint 0.5))
(setq xxplus (+ xpoint 0.5))
(setq xxminus (- xpoint 0.5))
(setq xyplus (+ ypoint 0.5))
(setq xyminus (- ypoint 0.5))
(setq xzplus (+ zpoint 0.5))
(setq xzminus (- zpoint 0.5))
(if (= getaxis "z")
(progn
(setq firstpoint (list zxminus zyminus zpoint))
(setq secondpoint (list zxminus zyplus zpoint))
(setq thirdpoint (list zxplus zyplus zpoint))
(setq fourthpoint (list zxplus zyminus zpoint))
)
)
(if (= getaxis "y")
(progn
(setq firstpoint (list yxplus ypoint yzplus))
(setq secondpoint (list yxplus ypoint yzminus))
(setq thirdpoint (list yxminus ypoint yzminus))
(setq fourthpoint (list yxminus ypoint yzplus))
)
)
(if (= getaxis "x")
(progn
(setq firstpoint (list xpoint xyplus xzplus))
(setq secondpoint (list xpoint xyplus xzminus))
(setq thirdpoint (list xpoint xyminus xzminus))
(setq fourthpoint (list xpoint xyminus xzplus))
)
)
(command "3dpoly" firstpoint secondpoint thirdpoint fourthpoint firstpoint "")
(command "extrude" pause "" "path" pause)
(command "change" "last" "" "Properties" "LAyer" "335" "")
)