PDA

View Full Version : 3d mini menu Toolbox



vizwhiz
4th Jul 2003, 01:16 am
hi There

check This out (and let me know if it works)

****

from CADdepot.com update newsletter

"Applying Customization: Right-Click Menus in LISP - AutoCAD tutorial on using the right-click capability to respond to prompts, Dave Pitzer, Autodesk.com"

http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=3369298&linkID=2475176

the original is:



(defun c: what ;;;etc bla bla bla
....
)

so check This out i couldnt resist Tinkering with the original code by Dave Pitzer

****

This is my version i renamed it to be 3d-doit.lsp

****



(defun c:3d-doit (/ qaz)
(initget 1 "B C L P R AR CO ER MO RO SC BX CX LX PX RE SB SL SU T U X XT")
(setq qaz (getkword "Draw 3d do-what: [<2d Doit>/Bpoly/Circle/Line/Pline/Rectang/<2d Edit>/ARray/COpy/ERase/MOve/ROtate/SCale/<3d Doit XL>/BoX/bPolyX/CircleX/pLineX/REctang/<3d Edit>/SUbtract/Union/inTersect/SLice/SBlice/eXtrude/eXTrudelast]:"))
(cond

;;;2d-doit commands go here

((= qaz "B")(command ".bpoly" pause ""))
((= qaz "C") (command ".circle" pause pause))
((= qaz "L") (command ".line"))
((= qaz "P") (command ".pline"))
((= qaz "R") (command ".rectang"))

;;;2d-edit commands go here

((= qaz "AR")(command ".array"))
((= qaz "CO")(command ".copy"))
((= qaz "ER")(command ".erase"))
((= qaz "MO")(command ".move"))
((= qaz "RO")(command ".rotate"))
((= qaz "SC")(command ".scale"))

;;;3d-doit commands go here

((= qaz "BX")(c:321)) ;;;(command ".box")
((= qaz "PX")(progn (command ".bpoly" pause "" "") (command ".extrude" "L" "" pause "" 0)))
((= qaz "CX")(progn (command ".circle" pause pause) (command ".extrude" "L" "" pause "" 0)))
((= qaz "LX")(progn (command ".pline") (command ".extrude" "L" "" pause "" 0)))
((= qaz "RE")(progn (command ".rectang" pause pause) (command ".extrude" "L" "" pause "" 0)))

;;;3d-edit commands go here

((= qaz "SL")(c:342)) ;;;(command ".slice"))
((= qaz "SB")(c:343)) ;;;(command ".slice")) keep Both option:
((= qaz "SU")(command ".subtract"))
((= qaz "T") (command ".intersect"))
((= qaz "U") (command ".union"))
((= qaz "X") (command ".extrude" pause "" pause "" 0 ""))
((= qaz "XT")(command ".extrude" "L" "" pause "" 0))

)
)

****

some of the options reference my own numerical alias system
just replace the front end numbers with the trailing code fragments

Thanks

Randy

superjari
6th Jul 2003, 11:09 pm
I just tried it, works great! :lol:

vlisp2012
23rd Oct 2012, 02:51 pm
Very good,Thanks!