| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Papierformate des Druckertreibers abfragen (1785 mal gelesen)
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3849 Registriert: 15.10.2003
|
erstellt am: 08. Jul. 2010 11:50 <-- editieren / zitieren --> Unities abgeben:
Im händischen Plotbefehl "-plot" kommt man auch zur Eingabe des Papierformats - bzw. auch zur Anzeige der vorhandenen: Code: Ausgabegerätname eingeben oder [?] <Lex_SW.pc3>: Ausgabegerätname eingeben oder [?] <Lex_SW.pc3>: PDFCreator.pc3 Papierformat angeben oder [?] <Letter>: ?Verfügbare Zeichnungsträgergrößen "PostScript Custom Page Size" "92x92" "Lang_84_1700mm"
Frage: Kann ich die Liste der Papierformate per Lisp abfragen?
Danke Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Jul. 2010 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
die ActivXSchnittstelle bietet hierfür (als Suchbegriffe ) vla-GetCanonicalMediaNames und vla-GetLocaleMediaName .... per normalo Lisp geht vielleicht so etwas:
Code:
(defun LAYOUT_GET_DATEN ( / LAYOUTS LAYOUT_EINTRAG LAYOUT_LISTE LAYOUT) (setq LAYOUTS (entget (cdr (assoc 350 ; Layoutsliste auslesen (member '(3 . "ACAD_LAYOUT") (entget (namedobjdict)) ) )))) (while (>(length LAYOUTS) 0) ; alle definierten Layouts durchlaufen... (setq LAYOUTS (member (cons 3 (cdr (assoc 3 LAYOUTS))) LAYOUTS ));.. ab ersten LAYOUTNAMEN beginnen.. (if (and (=(type (cdr(assoc 350 LAYOUTS))) 'ENAME) ; Layoutdefinition gefunden ? (= (cdr(assoc 0 (entget (cdr(assoc 350 LAYOUTS))))) "LAYOUT")) (progn (setq LAYOUT_EINTRAG (entget (cdr(assoc 350 LAYOUTS)))) ; Layouteigenschaften auslesen (setq LAYOUT_LISTE (append LAYOUT_LISTE (list (list (cdr(assoc 71 LAYOUT_EINTRAG)) ; LAYOUT-Nummer (cdr(assoc 3 LAYOUTS)) ; LAYOUT-Name (cdr(assoc 2 LAYOUT_EINTRAG)) ; LAYOUT-Drucker (cdr(assoc 142 LAYOUT_EINTRAG)) ; Zeicheneinheiten (cdr(assoc 143 LAYOUT_EINTRAG)) ; zugehörige Laengenneinheiten (cdr(assoc 4 LAYOUT_EINTRAG)) ; LAYOUT-Papiergröße (logand(cdr(assoc 70 LAYOUT_EINTRAG))1)))) ) ) ) (setq LAYOUTS (cddr LAYOUTS)) ) LAYOUT_LISTE )
------------------ - 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 |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3849 Registriert: 15.10.2003
|
erstellt am: 08. Jul. 2010 12:03 <-- editieren / zitieren --> Unities abgeben:
|
mkl-cad Mitglied Technischer Zeichner
Beiträge: 378 Registriert: 23.07.2003 ACAD 2002 Express Tools 1-9 Architektural Desktop Windows XP Server Windows 2003 3 GHz Rechner 1 GB RAM 80 GB Festplatte ATI FireGL V3100 2 17" Flachbildschirme
|
erstellt am: 28. Jul. 2010 11:42 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Der Link ist klasse. Sowas suche ich schon seit Jahren. Komme soweit damit klar, nur bei dem Befehl: (defun showDeviceProp (actlay / cusscl .... kriege ich nicht raus was ich bei actlay einsetzen muß. Dachte zuerst an den *.pc3 Namen, aber das funzt nicht. Kann mir da jemand auf die Sprünge helfen? ------------------ Martin Viele Grüße aus dem schönen Münsterland! 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: 28. Jul. 2010 12:06 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Hi, die Eigenschaften zeigen auf Layout und/oder PlotConfiguration... na was wird es sein (showDeviceProp(VLA-GET-ACTIVELAYOUT (VLA-GET-ACTIVEDOCUMENT (VLAX-GET-ACAD-OBJECT)))) P.S.: copy&past erzeugt auch mal Fehler - plotorigin Edit: (vlax-for LAYOUT (vla-get-layouts (vla-get-ActiveDocument (vlax-get-acad-object) )) (showDeviceProp LAYOUT) )
Hatten wir doch erst ------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." [Diese Nachricht wurde von Dorfy am 28. Jul. 2010 editiert.] [Diese Nachricht wurde von Dorfy am 28. Jul. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3849 Registriert: 15.10.2003
|
erstellt am: 28. Jul. 2010 12:18 <-- editieren / zitieren --> Unities abgeben:
EDIT: Antwort ist falsch. Hinweise siehe weiter unten ------------------------------------- Zitat: Original erstellt von mkl-cad: ...(defun showDeviceProp (actlay / cusscl ....
actlay ist der Name des "aktuellen Layouts", also (model, "Schnitt 3" usw.). Und diesen Namen gibst du als Parameter mit: Code: (showdeviceprop "Schnitt 3)
Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-)
[Diese Nachricht wurde von Peter2 am 28. Jul. 2010 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: 28. Jul. 2010 12:27 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3849 Registriert: 15.10.2003
|
erstellt am: 28. Jul. 2010 14:27 <-- editieren / zitieren --> Unities abgeben:
Sorry, war Quatsch.... Ich verwende nur Teile aus dem Programm, und zwar das
Code: (GetLocaleMediaName "PDF.pc3")
Peter------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mkl-cad Mitglied Technischer Zeichner
Beiträge: 378 Registriert: 23.07.2003 ACAD 2002 Express Tools 1-9 Architektural Desktop Windows XP Server Windows 2003 3 GHz Rechner 1 GB RAM 80 GB Festplatte ATI FireGL V3100 2 17" Flachbildschirme
|
erstellt am: 28. Jul. 2010 14:54 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Tja, da kann man mal sehen das ich lange nicht mehr programmiert habe, da muß ich erst wieder einen klaren Blick bekommen. Danke, bin so weiter gekommen. Mit vla... Befehlen bin ich leider nicht bewandert. defun showDeviceProp (actlayout / cusscl Numerator Denominator papmrg LowerLeft UpperRight papsiz Width Height window LLeft URight pltConfigLst) setq ad (vla-get-activedocument (vlax-get-acad-object)) actlay (vla-item (vla-get-layouts ad) actlayout) . . . . ------------------ Martin Viele Grüße aus dem schönen Münsterland! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mundal Mitglied Techniker
Beiträge: 320 Registriert: 14.02.2005
|
erstellt am: 07. Mrz. 2011 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Hallo Zusammen, wie kann ich den umgekehrten Weg gehen. Ich möchte einem Layout bekannte Parameter zuweisen. Beispiel: Layout1 => A3 - Querformat im Maßstab 1:5 und Plotstiltabelle monochrome.ctb Gruß Joachim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 07. Mrz. 2011 10:26 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
|