| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Papierformat von aktuellem Layout in Variable speichern (2269 mal gelesen)
|
Zeli Mitglied
Beiträge: 129 Registriert: 04.04.2003 Win 10 ACAD 2023 Eigene Tools
|
erstellt am: 05. Jul. 2012 23:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Kennt jemand eine Möglichkeit, den Namen des Papierformats des aktuellen Layouts in eine Variable zu schreiben? Oder gibt es eine Möglichkeit, den Wert eines Schriftfeldes in einer Variable zu speichern? Oder den Wert des Schriftfeldes über Lisp abzurufen? Schriftfeld: %<\AcVar PaperSize \f "%tc3">% Vielen Dank schon mal!
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, ..., AutoCADs 200X, SWX 2kX
|
erstellt am: 06. Jul. 2012 07:38 <-- editieren / zitieren --> Unities abgeben: Nur für Zeli
Eigentlich problemlos. Erstelle ein Attribut, weise ihm "%<\AcVar PaperSize>%" zu, lese und setq'ue diesen Attributswert um. ------------------ MfG Proxy Bitte beachten Sie: Die Verwendung der hier bereitgestellten Signatur geschieht auf Ihre eigene Verantwortung. Diese Signatur wird ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung gestellt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zeli Mitglied
Beiträge: 129 Registriert: 04.04.2003 Win 10 ACAD 2023 Eigene Tools
|
erstellt am: 06. Jul. 2012 12:16 <-- editieren / zitieren --> Unities abgeben:
Dann gehe ich davon aus, das die Variable nicht direkt aus LISP angesprochen werden kann. Betreffend Attributen auslesen stehe ich total auf dem Schlauch. Wie kann ich den Wert aus dem Attribut auslesen? Gruss Zeli ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 06. Jul. 2012 13:35 <-- editieren / zitieren --> Unities abgeben: Nur für Zeli
|
Zeli Mitglied
Beiträge: 129 Registriert: 04.04.2003 Win 10 ACAD 2023 Eigene Tools
|
erstellt am: 06. Jul. 2012 14:12 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort. Damit krieg ich jedoch die Masse und nicht den Namen des Papierformats. Ich bräuchte den Namen... Ein Lösungsansatz wäre das: (SETQ SIZE (VLA-GET-CANONICALMEDIANAME (VLA-GET-ACTIVELAYOUT (VLA-GET-ACTIVEDOCUMENT (VLAX-GET-ACAD-OBJECT))))) Allerdings erhalte ich das Ergebnis "UserDefinedMetric (297.00 x 420.00mm)" und der Original-Name lautet "A3 (297 x 420 mm)" Gibt es keine Möglichkeit an die Variable des Namens heranzukommen?
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meldin Mitglied
Beiträge: 398 Registriert: 15.07.2011 ACA2020 Windows10
|
erstellt am: 06. Jul. 2012 15:00 <-- editieren / zitieren --> Unities abgeben: Nur für Zeli
Weis nicht ob es das ist was du willst. Du müsstest nur nach dem Attribut suchen und dann könntest du so etwas in der Rrichtung anwenden. Code: (setq asas (vlax-ename->vla-object(car(entsel)))))(if (eq(vla-FieldCode asas) "%<\\AcVar PaperSize>%" ) (vla-get-TextString asas))
------------------ Gruß Wolfgang Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 06. Jul. 2012 16:18 <-- editieren / zitieren --> Unities abgeben: Nur für Zeli
Hi, vom CanonicalMediaName zum LocaleMediaName wäre es auch nur noch ein kleiner Schritt: (setq objLayout (vlax-get-property (vlax-get-property (vlax-get-acad-object) 'ActiveDocument ) 'ActiveLayout ) ) (vlax-invoke-method objLayout 'RefreshPlotDeviceInfo) (vlax-invoke-method objLayout 'getLocaleMediaName (vlax-get-property objLayout 'CanonicalMediaName ) ) Gruß CADchup ------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zeli Mitglied
Beiträge: 129 Registriert: 04.04.2003 Win 10 ACAD 2023 Eigene Tools
|
erstellt am: 06. Jul. 2012 16:58 <-- editieren / zitieren --> Unities abgeben:
|