Hallo und Gruss aus dem Norden,
ich habe die nachstehende Funktion beim Cadwiesel gefunden
und etwas geändert.
;Alle PAPIERGROESSEN des Plotgerätes ermitteln
;;;
(defun PAPIERGROESSEN (plottie / ad cn oldcn al cmn);->(PAPIERGROESSEN "Ricoh.pc3")
;;; (setvar "tilemode" 1)
(setq *olderr* *error* *error* my-error)
(vl-load-com)
(setq ad (vla-get-activedocument (vlax-get-acad-object)))
(setq al (vla-get-ActiveLayout ad))
(setq cn plottie)
;(setq cn (vla-get-configname al))
(setq oldcn (vla-get-configname al))
(vla-put-configname al cn)
(vla-RefreshPlotDeviceInfo al)
(setq cmn (GetLocaleMediaNames ad))
;;; (setvar "tilemode" 0)
(if (/= oldcn "None")(vla-put-configname al oldcn))
cmn
)
(defun GetLocaleMediaNames (ad / mn mnl)
(setq la (vla-item (vla-get-layouts ad) "Model"))
(foreach mn (GetCanonicalMediaNames ad)
(setq mnl (cons (vla-GetLocaleMediaName la mn) mnl))
)
(reverse mnl)
)
(defun GetCanonicalMediaNames ( ad /)
(vla-RefreshPlotDeviceInfo
(vla-get-activelayout ad))
(vlax-safearray->list
(vlax-variant-value
(vla-GetCanonicalMediaNames
(vla-item (vla-get-layouts ad) "Model"))))
)
In Acad2000 funktioniert die Funktion zu jeder Zeit im Layout- und Modellbereich astrein.
Bei Bricscad Version 13.2.9 (x64) leider nur im
Modellbereich,soll heissen die Funktion gibt immer die eimal ermittelte Liste zurück.
Mit dem Tilemode geht es schon, ist aber irgendwie ne Krücke.
Da ich mit den vla´s eh unterorientiert bin wäre es schön wenn jemand eine Idee hätte
woran es bei Bricscad hapert.
Gruss und ein schönes Wochenende Joerch
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP