|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | 
|  |  | 
|  | NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition, eine Pressemitteilung 
 | 
| Autor | Thema:  Papierformate des Druckertreibers abfragen (2091 mal gelesen) | 
 | Peter2 Ehrenmitglied V.I.P. h.c.
 
 
 
  
 
      Beiträge: 3910Registriert: 15.10.2003
 Win 10 bzw. 11 / 64 ProAutoCAD MAP 3D 2023
 BricsCAD 24
 |    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: 13533Registriert: 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: 3910Registriert: 15.10.2003
 Win 10 bzw. 11 / 64 ProAutoCAD MAP 3D 2023
 BricsCAD 24
 |    erstellt am: 08. Jul. 2010 12:03  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | mkl-cad Mitglied
 Technischer Zeichner
 
   
 
      Beiträge: 378Registriert: 23.07.2003
 ACAD 2002Express 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: 900Registriert: 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: 3910Registriert: 15.10.2003
 Win 10 bzw. 11 / 64 ProAutoCAD MAP 3D 2023
 BricsCAD 24
 |    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: 900Registriert: 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: 3910Registriert: 15.10.2003
 Win 10 bzw. 11 / 64 ProAutoCAD MAP 3D 2023
 BricsCAD 24
 |    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: 378Registriert: 23.07.2003
 ACAD 2002Express 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: 320Registriert: 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: 13533Registriert: 30.11.2003
 . |    erstellt am: 07. Mrz. 2011 10:26  <-- editieren / zitieren -->    Unities abgeben:           Nur für Peter2   |