| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Propertie Plotmaßstab (767 mal gelesen)
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 21. Nov. 2008 07:40 <-- editieren / zitieren --> Unities abgeben:
Servus Ich hab mich mal etwas mit den vl-Funktionen beschäftigt - nach Axels Beispiel mit dem auslesen des Layers folgt im ObjektModell das "Layout", wobei's bei der "PlotConfiguration" sehr viele gleiche Properties gibt . Wollt' mal versuchen, die Einstellungen des Plot-Dialogfeldes auszulesen bzw. zu setzen - is mir sogar - zum Teil - gelungen. Was ich aber nicht gefunden hab, war der Plotmaßstab - also der Wert, der bei "Einheit" steht (im Screenshot "1.234"). Code: Befehl: (setq #layout (vla-get-ActiveLayout (vla-get-activedocument (vlax-get-acad-object)))) #<VLA-OBJECT IAcadLayout 12db70b4>Befehl: (vla-get-PaperUnits #layout) 1 Befehl: (vla-get-StandardScale #layout) 16
Also PaperUnits oder StandardScale sinds mal nicht - aber ganz daneben dürfte ich auch nicht liegen, denn
Code: Befehl: (vla-get-StyleSheet #layout) "Acad.stb"
funktioniert ja, aber wo ist die "Einheit" versteckt?Edit: Zusatzfrage: Und was ist StandardScale - den Wert "16" kann ich nicht zuordnen. ------------------ Schöne Grüße Ernst www.geopaint.at [Diese Nachricht wurde von Geos am 21. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 21. Nov. 2008 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 21. Nov. 2008 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
(vla-getcustomscale(vla-get-activelayout(vla-get-activedocument(vlax-get-acad-ob ject))) 'a 'b ) (princ a)(princ ":")(princ B) ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 21. Nov. 2008 16:58 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 21. Nov. 2008 17:21 <-- editieren / zitieren --> Unities abgeben: Nur für Geos
Was sind schon Regeln .. ??? Aber im Allgemeinen ist das schon so. du kannst auch vlax-invoke-method... aufrufen .. ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 21. Nov. 2008 17:52 <-- editieren / zitieren --> Unities abgeben:
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 26. Mrz. 2009 08:05 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium: (vla-getcustomscale(vla-get-activelayout(vla-get-activedocument(vlax-get-acad-object))) 'a 'b ) (princ a)(princ ":")(princ B)
Hab das jetzt umgekehrt verwendet
Code: (setq #layout (vla-get-activelayout(vla-get-activedocument(vlax-get-acad-object)))) (vla-setcustomscale #layout 1 1)
und mich gewundert, warum statt 1:1 dann 1 : 0.03937 im Dialogfeld steht.Mein Programm setzt einige Ploteinstellungen (Plotter, Papiergröße, stb-File, ...) Da die "PaperUnits" sowieso auf 1=Millimeter waren, hab ich sie auch nicht extra gesetzt - ist aber anscheinend notwendig, denn sie waren nachher auf 0=Zoll und der Grund für die "0.03937". Falls also jemand ähnliche Probleme hat - vielleicht hilft ein (vla-put-PaperUnits #layout 1). ------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |