谢谢亨里克的努力。
您提供的代码按顺序打印pdf文件名,但当我们取消并重新启动或在绘图中进行几次修改后的某个时间后打印时,该命令只需从它开始打印,直到之前结束。
例如,我们从一个文件中画出5个不同的页面,它以“file-name-5.pdf”结尾,当我们开始打印这些页面时,它以“file-name-6.pdf”开头。
我认为在scipt结束时,函数必须将sheetnum值置零。这可能会奏效。
另外,我尝试在下面的代码中匹配此代码,但未能成功。你能这样做吗?提前谢谢。
- ; Batch plot using object in landscape mode a4 sheet
- (defun prl ( mnp mxp /)
- (setq cm (getvar 'CMDECHO))
- (setvar 'CMDECHO 0)
- (setq fd (getvar 'filedia))
- (setvar 'filedia 0)
-
- (setq pdfname(strcat (getvar 'DWGPREFIX)(vl-filename-base (getvar 'DWGNAME))))
- (command "-plot" "Y" "model" "DWG To PDF.pc3" "ISO A4 (210.00 x 297.00 MM)" "Millimeters" "Landscape" "Y" "Window" mnp mxp "Fit"
- "0.00, 0.00" "Y" "monochrome.ctb" "Y" "Wireframe" pdfname "N" "Y")
-
- (setvar 'CMDECHO cm)
- (setvar 'filedia fd)
-
-
- )
- ; Batch plot using object in portrait mode a4 sheet
- (defun prp ( mnp mxp /)
- (setq cm (getvar 'CMDECHO))
- (setvar 'CMDECHO 0)
- (setq fd (getvar 'filedia))
- (setvar 'filedia 0)
-
- (setq pdfname(strcat (getvar 'DWGPREFIX)(vl-filename-base (getvar 'DWGNAME))))
- (command "-plot" "Y" "model" "DWG To PDF.pc3" "ISO A4 (210.00 x 297.00 MM)" "Millimeters" "Portrait" "N" "Window" mnp mxp "Fit"
- "0.00, 0.00" "Y" "monochrome.ctb" "Y" "Wireframe" pdfname "N" "Y")
-
- (setvar 'CMDECHO cm)
- (setvar 'filedia fd)
-
-
- )
- (defun c:pblock (/ ob ss bn mn mx)
- (vl-load-com)
- (if (and (progn
- (initget "B")
- (setq ob (entsel "\nSelect rectangular Block/B for blockname: "))
- (cond
- ((eq ob "B")
- (setq bn (getstring "\nEnter rectangular block name: "))
- )
- ((and (eq (type ob) 'LIST)
- (vlax-method-applicable-p (vlax-ename->vla-object (car ob)) 'getboundingbox))
- (setq bn (cdr (assoc 2 (entget (car ob))))))))
- (tblsearch "BLOCK" bn)
- bn
- (setq ss (ssget "_X" (list '(0 . "INSERT")'(410 . "Model")(cons 2 bn))))
- )
-
-
- (progn
- (vla-zoomextents (vlax-get-acad-object))
- (repeat (setq i (sslength ss))
- (vla-getboundingbox (vlax-ename->vla-object (ssname ss (setq i (1- i)))) 'mn'mx)
- (setq mnp (trans (vlax-safearray->list mn) 0 1))
- (setq mxp (trans (vlax-safearray->list mx) 0 1))
- (if (< (car (mapcar '- mxp mnp)) (cadr (mapcar '- mxp mnp)))
- (prp mnp mxp)
- (prl mnp mxp)
- )
- )
- )
- (princ "\nNo Blocks Selected: ")
- )(princ)
- )
|