Hallo Forummitglieder,
wer kann mir hier weiter helfen mit der folgenden Funktion drucke ich einen Bestimmten Bereich im Modellbereich
hier ist ein Block den ich mit werten fülle und drucke, diese kann mehrfach hintereinander sein.
(defun f:hs_plot (P0 P1 ANZAHL DRUCKER STIFT_TABELLE / AL UL OB_R)
;p0 --> Punkt links unten
;p1 --> Punkt rechts oben
;ANZAHL --> Anzahl der zu druckenden Seiten
(setq AL (vla-item (vla-get-layouts(vla-get-ActiveDocument(vlax-get-acad-object)))"Model"))
(vla-put-configname AL DRUCKER)
(vla-put-CanonicalMediaName AL "A4")
(vla-put-plotrotation AL 0)
(vla-RefreshPlotDeviceInfo AL);; neu 22.06.2010 lt. cadmium
(vla-put-stylesheet AL STIFT_TABELLE);"niggemannS_W.ctb"
(vla-put-paperunits AL 1) ; 0 acMillimeters TRUE
(vla-put-plotwithplotstyles AL :vlax-true);:vlax-false
(vla-put-scalelineweights AL :vlax-true);:vlax-false
(vla-put-usestandardscale AL :vlax-false);:vlax-false
(vla-setcustomscale AL 1 1.031);
; (vla-put-standardscale al sc)
(vla-put-numberofcopies (vla-get-plot(vla-get-ActiveDocument (vlax-get-acad-object))) ANZAHL)
(setq UL (vlax-make-safearray vlax-vbdouble (cons 0 1))) ;Punkt links unten
(vlax-make-variant(vlax-safearray-fill UL P0))
(setq OB_R (vlax-make-safearray vlax-vbdouble (cons 0 1))) ;Punkt rechts oben
(vlax-make-variant(vlax-safearray-fill OB_R P1))
(vla-setwindowtoplot AL UL OB_R)
(vla-put-plottype AL 4)
(vla-RefreshPlotDeviceInfo AL)
(vla-plottodevice(vla-get-plot(vla-get-ActiveDocument(vlax-get-acad-object))))
(setq ZAEHLER (1+ ZAEHLER)); zum testen
(set_tile "ZAEHLER" (itoa ZAEHLER))
)
Bei ACAD 2022 wird die 1. Seite gedruckt, bei der 2. Seite wird im VLisp Editor an dieser Stelle angehalten
(vla-plottodevice(vla-get-plot(vla-get-ActiveDocument(vlax-get-acad-object))))
und die Fehlermeldung "Automatisierungsfehler. Keine Beschreibung verfügbar.
Führe ich dieses mit "Prüfen" in VLisp aus wird die Seite sauber gedruckt.
Kann mir hiermit jemand weiter helfen?
Gruß
Niggemann
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP