你好
我正在尝试修改我经常使用的lisp:
- ;PLOT WITH ONE CLICK - PREDEFINE SETTINGS and PICK OBJECTS (FRAME) RECTANGLE
- (defun c:VLD_PLT-REC2 (/ ss SHEETSIZE mn mx PSC FILENAME)
- (vl-load-com)
- ;REDEFINE SHEETSIZE:
- (progn (initget "A4 A3 A2 A1 A0")
- (setq SHEETSIZE (getkword "\nChoose [A4/A3/A2/A1/A0] <A4>: "))
- (if (null SHEETSIZE)
- (setq SHEETSIZE "A4")
- )
- (cdr
- (assoc SHEETSIZE
- '(
- ("A4" . "ISO full bleed A4 (297.00 x 210.00 MM)")
- ("A3" . "ISO full bleed A3 (420.00 x 297.00 MM)")
- ("A2" . "ISO full bleed A2 (594.00 x 420.00 MM)")
- ("A1" . "ISO full bleed A1 (841.00 x 594.00 MM)")
- ("A0" . "ISO full bleed A0 (841.00 x 1189.00 MM)")
- )
- )
- )
- )
- ;REDEFINE ORIENTATION Landscape/Portrait
- (progn (initget "Landscape Portrait")
- (setq OR-LP (getkword "\nChoose [Landscape/Portrait] <Landscape>: "))
- (if (null OR-LP)
- (setq OR-LP "Landscape")
- )
- )
- ;REDEFINE PLOTSCALE:
- (progn (setq PSC (getstring "\nINPUT PLOT SCALE (X=XXX/FIT) <FIT> :"))
- (if (eq PSC "")
- "FIT"
- PSC
- )
- )
- ;Pick object, type name and plot:
- (while (setq ss (ssget "_:S:E" '((0 . "INSERT,LWPOLYLINE"))))
- (progn
- (vla-getboundingbox (vlax-ename->vla-object (ssname ss 0)) 'mn 'mx)
- (command "PLOTTRANSPARENCYOVERRIDE" "2")
- (command "plot"
- "yes"
- "model"
- "DWG To PDF.pc3"
- SHEETSIZE
- "Millimeters"
- OR-LP
- "no"
- "Window"
- (trans (vlax-safearray->list mn) 0 1)
- (trans (vlax-safearray->list mx) 0 1)
- PSC
- "Center"
- "Y"
- "BLACK-GRAY-WHITE.ctb"
- "Y"
- "As displayed"
- (progn (setq FILENAME (getstring T "\nNAME OF THE FILE <ASD>:"))
- (if (eq FILENAME "")
- "ASD"
- FILENAME
- )
- )
- "Y"
- "Y"
- )
- )
- )
- (princ)
- )
但我不知道在“选择对象,键入名称和绘图”之后有什么问题。
有人能帮我吗?提前谢谢! |