Message 1 of 6
Batch Plot multiple drawings in one drawing file using model space
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Writing lisp to plot multiple drawings located in a single file using their title block information to set the plot parameters. The plot file will not take and bring up the "Write the plot to file [Yes No]" question followed by the dialog box prompt. Want to plot the drawings with no interaction. Please Help...
;; Auto Plot Final 24x36; 30x42; 36x48
(defun C:aplot (/ ss ans fname pt1 cki cname)
(setvar "cmdecho" 0)
(setvar "filedia" 0)
(setvar "attdia" 0)
(setvar "osmode" 0)
(setq PLD "Adobe PDF" ; << Ploting Device
PS "designjet 500.ctb" ) ; << Plot Style Table
;0 Get Sheets to Plot
(princ "\n Select Sheets to Plot or <Return> to Select All: ")
(setq ss (ssget "_:L" '((0 . "INSERT") (66 . 1))))
(if (= ss nil) (setq ss (ssget "_X" '((0 . "INSERT") (66 . 1)))) )
;1 get Title Block Project Info
(if ss (progn
(repeat (setq i (sslength ss))
(setq obj (vlax-ename->vla-object (ssname ss (setq i (1- i)))) ;get block
bname (vla-get-effectivename obj)) ;get block name
(if (or (= bname "00100028")(= bname (strcat (substr (getvar "dwgname") 1 4) "****"))) (progn
(setq d1 (LM:getdynpropvalue obj "Distance1") ;get distance to determine sheet size used with block
bsc (cdr (assoc 41 (entget (ssname ss i)))) ;scale
ipt (cdr (assoc 10 (entget (ssname ss i)))) ) ;insertion point
(if (setq job (LM:vl-getattributevalue obj "JOB")) ;get attribute value for job
(princ (strcat "\nPlot File: " job " "))
(setq job (getstring "\nEnter Job Number: ")) )
(if (setq shtno (LM:vl-getattributevalue obj "SHTNO")) ;get attribute value for sheet no
(princ shtno)
(setq shtno (getstring "\nEnter Sheet Number: ")) )
(setq pname (strcat job " " shtno " 00 " datetag) ;s;set plot name
plotfile (strcat (getvar "dwgprefix") "01 PDF\\" pname ".pdf") )
;plotfile (strcat (getvar "dwgprefix") "\\" pname ".pdf") )
(setq pfname (strcat (getvar "DWGPREFIX") (vl-filename-base (getvar "DWGNAME")) ".pdf"))
(redraw (ssname ss i) 3) ;highlight object plotting
;2 Plot Sheet
;(alert (strcat "Current file Plotting: " pname))
(cond
((<= d1 (* 800 bsc))
(setq pt1 (polar ipt (dtr 90) (* 30 bsc)) ;revised for 24x36 plot pt
pt12 (polar pt1 (dtr 270) (* 1190 bsc))
pt2 (polar pt12 (dtr 180) (* 1700 bsc))
PPS "ARCH D"))
((>= d1 (* 1200 bsc))
(setq pt1 (polar ipt (dtr 90) (* 30 bsc)) ;revised for 36x48 plot pt
pt12 (polar pt1 (dtr 270) (* 1740 bsc))
pt2 (polar pt12 (dtr 180) (* 2400 bsc))
PPS "ARCH E"))
(T
(setq pt1 (polar ipt (dtr 90) (* 30 bsc)) ;revised for 30x42 plot pt
pt12 (polar pt1 (dtr 270) (* 1440 bsc))
pt2 (polar pt12 (dtr 180) (* 2000 bsc))
PPS "ARCH E1")) );c
;;Start Plotting
(if (findfile plotfile)(vl-file-delete plotfile))
(princ (strcat "\nPlotting: " pfname))
(if (= (getvar "ctab") "Model")
(command ".PLOT" "Y" "Model" pld pps "I" "L" "N" "W" pt2 pt1 pltsts "C" "Y" ps "Y" "A" plotfile "N" "Y")
(command ".PLOT" "Y" (getvar "ctab") pld pps "I" "L" "N" "W" pt2 pt1 pltsts "C" "Y" ps "Y" "N" "N" "N" plotfile "N" "Y") );i
)) ;pi
)) ;rp
(alert "\nNo Selection Set Chosen to Plot") );i
(setvar "cmdecho" 1)
(setvar "filedia" 1)
(setvar "attdia" 1)
(princ)
); end aplot