Poniżej przedstawiam przykład procedury wykonującej drukowanie. 

Drukowane bedzą wszystkie arkusze aktualnego rysunku. W ostatniej linii na stałe wpisane jest urządzenie drukujące. Może w ramach ćwiczeń ktoś dopisze procedurę wyboru drukarki spośród zainstalowanych w systemie.

  LISP do drukowania wszystkich arkuszy

 

Polecenie do uruchomienia skryptu LISP: WieloDruk

 

Kod źródłowy z opisem

 

;;; Drukowanie wielu arkuszy
;;; zwcad.pl
;;; Polecenie do uruchomienia skryptu LISP: WieloDruk
;;; Opis: https://www.zwcad.pl/materialy-edukacyjne/kurs-lisp/przyklady-lisp/209-drukowanie-wielu-arkuszy.html
(vl-load-com)
(setq *ZWCAD* (vlax-get-acad-object))
(setq *Rysunek* (vla-get-activedocument *ZWCAD*))
(setq *Model* (vla-get-Modelspace *Rysunek*))
(defun C:WieloDruk ( / )
;----------------------------------------------------------
; funkcja drukuje wszystkie arkusze z rysunku zgodnie z ich domyślnymi ustawieniami
; Argumenty:
; Wynik:
;----------------------------------------------------------
(setq Layouts(vlax-get-property *Rysunek* 'Layouts ))
(setq LayCnt(vlax-get-property Layouts 'Count ))
(setq LayList nil )
(vlax-for % Layouts (setq LayList (append LayList (list (vlax-get-property % 'Name ) ) ) ))
(setq LayArr (vlax-make-safearray vlax-vbString (cons 1 (length LayList ))))
(vlax-safearray-fill LayArr LayList)
(setq Plot_obj(vlax-get-property *Rysunek* 'PLot ))
(vlax-put-property Plot_obj 'numberofcopies 1 )
(vlax-invoke-method Plot_obj 'SetLayoutsToPlot LayArr )
(vlax-invoke-method Plot_obj 'PlotToDevice "Microsoft Print to PDF")

Wykonanie w ZWCAD 2023

 druk wielu arkuszy

 

Wykonanie w ZWCAD 2015

LISP WieloDruk 2015

* Lisp nie jest kompatybilny z ZWCAD Classic