Can#039;没有发现问题
你好我正在尝试修改我经常使用的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>: "))
(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>: "))
(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)
)
但我不知道在“选择对象,键入名称和绘图”之后有什么问题。
有人能帮我吗?提前谢谢! 尝试以下操作-我还没有测试过:
;PLOT WITH ONE CLICK - PREDEFINE SETTINGS and PICK OBJECTS (FRAME) RECTANGLE
(defun c:VLD_PLT-REC2 ( / fnm mn mx or-lp psc pto sht ss )
(initget "A4 A3 A2 A1 A0")
(setq sht
(cdr
(assoc (cond ((getkword "\nChoose <A4>: ")) ("A4"))
'(
("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)")
)
)
)
)
(initget "Landscape Portrait")
(setq OR-LP (cond ((getkword "\nChoose <Landscape>: ")) ("Landscape")))
(if (= "" (setq PSC (getstring "\nINPUT PLOT SCALE (X=XXX/FIT) <FIT> :")))
(setq PSC "FIT")
)
(if (setq pto (getvar 'plottransparencyoverride))
(setvar 'plottransparencyoverride 2)
)
(while (setq ss (ssget "_:S:E" '((0 . "INSERT,LWPOLYLINE"))))
(vla-getboundingbox (vlax-ename->vla-object (ssname ss 0)) 'mn 'mx)
(command "_.-plot" "_Y" "Model" "DWG To PDF.pc3" sht "_M" OR-LP "_N" "_W"
(trans (vlax-safearray->list mn) 0 1)
(trans (vlax-safearray->list mx) 0 1)
PSC "_C" "_Y" "BLACK-GRAY-WHITE.ctb" "_Y" "_A"
(if (= "" (setq fnm (getstring t "\nNAME OF THE FILE <ASD>:"))) "ASD" fnm)
"_Y" "_Y"
)
)
(if pto (setvar 'plottransparencyoverride pto))
(princ)
)
(vl-load-com) (princ) 哇!李,你的日常工作进展得很快!
我的猜测是使用VLA的好处。
谢谢你! 不客气,我很高兴它对你有用。
页:
[1]