(defun C:X
-PLOT
(/ dcl_id status plsize pltyp plstyle view userclick
)
;;;############################### DCL Dialog Box Handling ##############################;;;
(load_dialog "K:\\wallsend\\Electrical\\LISP\\x-plot.dcl") )
(setq plstyle
"standard.ctb") (setq plsize
"ISO A0 (841.00 x 1189.00 MM)") (setq pltyp
"DWG to PDF.pc3")
;;;################################ Plot Style Selection ################################;;;
"rb1"
"(setq plstyle \"standard.ctb\")"
)
"rb2"
"(setq plstyle \"hyd circuit.ctb\")"
)
"rb3"
"(setq plstyle \"colour assy.ctb\")"
)
;;;############################# Size and Output Selection #############################;;;
"op1"
"(progn
(set_tile op3 \"0\")
(setq op1 $value op3 \"\")
(set_tile op2 \"0\")
(setq op1 $value op2 \"\")
)"
)
"op2"
"(progn
(set_tile op1 \"0\")
(setq op2 $value op1 \"\")
(set_tile op3 \"0\")
(setq op2 $value op3 \"\")
)"
)
"op3"
"(progn
(set_tile op2 \"0\")
(setq op3 $value op2 \"\")
(set_tile op1 \"0\")
(setq op3 $value op1 \"\")
)"
)
;;;################################ OK/Cancel Selection ################################;;;
"cancel"
"(done_dialog)(setq userclick nil)"
)
"accept"
"(done_dialog) (setq userclick T)"
)
)
)
)
;;;======================================================================================;;;
;;;############################# Processing Print Selection #############################;;;
(cond ; Conditional test of radio button
;;;#################################### A0 PDF Print ####################################;;;
((= op1 "rb5")
(setq plsize
"ISO expand A0 (841.00 x 1189.00 MM)") (setq pltyp
"DWG to PDF.pc3") (setq ofst '
(1160.0 812.0 0.0))
(blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A1 PDF Print ####################################;;;
((= op1 "rb6")
(setq plsize
"ISO expand A1 (841.00 x 594.00 MM)") (setq pltyp
"DWG to PDF.pc3") (setq ofst '
(812.0 563.0 0.0))
(blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A2 PDF Print ####################################;;;
((= op1 "rb7")
(setq plsize
"ISO expand A2 (594.00 x 420.00 MM)") (setq pltyp
"DWG to PDF.pc3") (setq ofst '
(564.0 388.0 0.0))
(blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A3 PDF Print ####################################;;;
((= op1 "rb8")
(setq plsize
"ISO expand A3 (420.00 x 297.00 MM)") (setq pltyp
"DWG to PDF.pc3") (setq ofst '
(396.0 270.0 0.0))
(blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A4 PDF Print ####################################;;;
((= op1 "rb9")
(setq plsize
"ISO expand A4 (297.00 x 210.00 MM)") (setq pltyp
"DWG to PDF.pc3") (setq ofst '
(277.0 187.0 0.0))
(blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
;;; (setq dwgname (strcat (vl-filename-base (getvar "dwgname"))))
;;; (setq path (strcat "C:\\PDF\\" dwgname))
;;; (if
;;; (setq ss (ssget "_X" '((0 . "INSERT") (2 . "*A*BORDER*"))))
;;; (repeat (setq i (sslength ss))
;;; (setq hnd (ssname ss (setq i (1- i)))
;;; tab (cdr (assoc 410 (entget hnd)))
;;; lst (cons (cons tab hnd) lst)
;;; )
;;; (setq at (entnext hnd)
;;; ax (entget at)
;;; )
;;; (while
;;; (/= "SEQEND" (cdr (assoc 0 ax)))
;;; (if
;;; (= "SHEETNO" (cdr (assoc 2 ax)))
;;; (progn (setq shtno (cdr (assoc 1 ax))))
;;; )
;;; (setq at (entnext at)
;;; ax (entget at)
;;; )
;;; ) ;_while
;;; (setq file (strcat
;;; dwgname
;;; "_SHEET_"
;;; shtno
;;; ".pdf"
;;; )
;;; )
;;; (setq
;;; dest (strcat path "\\" file)
;;; )
;;; (vla-getboundingbox (vlax-ename->vla-object hnd) 'mn 'mx)
;;; (setq llpt (vlax-safearray->list mn)
;;; urpt (vlax-safearray->list mx)
;;; ;A4 URPT is LLPT +396, +270
;;; )
;;; (mainplot pltyp plsize llpt urpt plstyle dest)
;;; ; call mainplot function
;;; ) ;_repeat
;;;
;;; ) ;_if
)
;;;#################################### A3 O1D Paper Print ####################################;;;
((= op2 "rb10")
; (setq pltyp "Office 1 Downstairs Printer Colour.pc3")
(setq pltyp
"\\\\TW3\\Office 1 Downstairs Printer") (blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
) ;_while
;;;#################################### A4 O1D Paper Print ####################################;;;
((= op2 "rb11")
; (setq pltyp "Office 1 Downstairs Printer Colour.pc3")
(setq pltyp
"\\\\TW3\\Office 1 Downstairs Printer") (blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A3 O1U Paper Print ####################################;;;
((= op2 "rb12")
; (setq pltyp "Office 1 Upstairs Printer.pc3")
(setq pltyp
"\\\\TW3\\OFFICE1UP") (blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A4 O1U Paper Print ####################################;;;
((= op2 "rb13")
; (setq pltyp "Office 1 Upstairs Printer.pc3")
(setq pltyp
"\\\\TW3\\OFFICE1UP") (blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A3 i19 Paper Print ####################################;;;
((= op3 "rb14")
; (setq pltyp "i19DOWNSTAIRS.pc3")
(setq pltyp
"\\\\TT2\\i19DOWNSTAIRS") (blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A4 i19 Paper Print ####################################;;;
((= op3 "rb15")
; (setq pltyp "i19DOWNSTAIRS.pc3")
(setq pltyp
"\\\\TT2\\i19DOWNSTAIRS") (blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A3 O3 Paper Print ####################################;;;
((= op3 "rb16")
; (setq pltyp "Office 3.pc3")
(setq pltyp
"\\\\TW3\\Office 3") (blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
;;;#################################### A4 O3 Paper Print ####################################;;;
((= op3 "rb17")
; (setq pltyp "Office 3.pc3")
(setq pltyp
"\\\\TW3\\Office 3") (blockproc dwgname path ofst pltyp plsize)
; Call blocproc function and pass parameters
)
) ;_cond
) ;_progn
) ;_if
)
;;;################################ Block Processing Function ################################;;;
(defun blockproc
(dwgname path ofst pltyp plsize
/ ss i hnd tab lst at ax
shtno file dest llpt urpt mn mx
)
(if (setq ss
(ssget "_X" '
((0 .
"INSERT") (2 .
"*A*BORDER*")))) )
)
)
)
) ;_while
(setq file
(strcat dwgname
"_SHEET_" shtno
".pdf")) ;;; urpt (vlax-safearray->list mx)
)
(mainplot pltyp plsize llpt urpt plstyle dest)
; Call mainplot function and pass parameters
) ;_repeat
) ;_if
) ;_defun
;;;################### Plot Function ####################;;;
(defun mainplot
(pltyp plsize llpt urpt plstyle dest
) (if (= pltyp
"DWG to PDF.pc3") ; If PDF "Y" "Model" pltyp plsize "M" "L" "N"
"W" llpt urpt "F" "C" "Y" plstyle
"Y" "A" dest "N" "Y"
) ;_command
; Else run paper plot
(command "_.plot" "Y" "Model" pltyp plsize
"M" "L" "N" "W" llpt urpt "F" "C" "Y"
plstyle "Y" "A" "N" "N" "Y"
) ;_command
) ;_if
) ;_defun