| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
|
Autor
|
Thema: Jlink: GetSheetFormat() (263 mal gelesen)
|
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 04. Sep. 2006 11:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich ermittle von einer Zeichnung das Zeichnungsformat:
Code:
Drawing draw = (Drawing)model; DrawingFormat size = draw.GetSheetFormat(1);//Ausgabe des Zeichnungsformats JOptionPane.showMessageDialog(null,size.toString());
Als Ausgabe erhalte ich eine 7stellige Zeichenkette (z.B.: 633f872 oder 785b63a usw.), welche optisch keinerlei Rückschlüsse auf das Format erlaubt! Auch ist diese Ausgabe bei ein und derselben Zeichnung von mal zu mal unterschiedlich.Ich brauche aber eine, für mich, klar lesbare Ausgabe (im Stil von "A4", "A3" o.ä.), damit ich für die folgenden Arbeiten Fallunterscheidungen treffen kann. Hat jemand eine Idee, wie ich mir das Zeichnungsformat zumindest erstmal sinnvoll darstellen lassen kann??? Oder weiß jemand, welche festen Werte sich für die einzelnen Zeichnungsformate hinter GetSheetFormat() verbergen??? Gruß Rico.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GüntherP Mitglied CAD Administrator / Konstrukteur

 Beiträge: 82 Registriert: 18.02.2005 HP xw4100 NVIDIA Quadro 980XGL<P>Wildfire 2.0 / 3.0 Intralink 3.4 F000 PDMLink 8.0 M030
|
erstellt am: 04. Sep. 2006 12:22 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo, hier ist mein Vorschlag zu dem Thema: Code:
Drawing curDrawing = (Drawing)curModel; SheetData info = curDrawing.GetSheetData (1); String size = "unkown"; if (info.GetWidth() == 210 && info.GetHeight() == 295) { size = "A4"; } else if (info.GetWidth() == 420 && info.GetHeight() == 297) size = "A3"; else if (info.GetWidth() == 594 && info.GetHeight() == 420) size="A2"; else if (info.GetWidth() == 841 && info.GetHeight() == 594) size="A1"; else if (info.GetWidth() == 1189 && info.GetHeight() == 841) size="A0";
Das ist zwar etwas aufwendig, funktioniert aber . Gruß, Günther Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fussel Mitglied

 Beiträge: 39 Registriert: 08.02.2002 Pro|E Wildfire2.0 (Student) Windows 2000 SP4 AMD Athlon XP 2600+ ATI FireGL 8800 1024 MB RAM
|
erstellt am: 04. Sep. 2006 14:40 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hi Rico, du versuchst in deinen Codes immer wieder mit object.toString() eine Zeichenkette mit Aussagekraft zu erhalten. Das klappt so nicht, denn die toString() Methode funktioniert so. Darüber hinaus ist der Ansatz mit DrawingFormat nicht ganz richtig, denn ein Format ist in Pro/E nicht (nur) das Papierformat, sondern eine ganze Reihe von Formatierungen wie Zeichnungsrahmen, Zeichnungstabelle und unter anderem auch die Blattgröße. Damit ist die Vorgehensweise von Günther vermutlich die flexibelste, denn sie liest direkt die "Blattdaten" aus. Abhängig davon, wie in deiner Firma die Formate benannt sind ist evtl. auch die Verwendung von <DrawingFormat>.GetFullName() interessant. Gruß Martin [Diese Nachricht wurde von fussel am 04. Sep. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 05. Sep. 2006 07:50 <-- editieren / zitieren --> Unities abgeben:         
So Jungs... tausend Dank. @GüntherP So funzt die ganze Sache  Das ist auch die Lösung, welche mir PTC im nachhinein vorgeschlagen hat. @fussel Für mich klang das mit DrawingFormat und GetSheetFormat erstmal vom Sound her zutreffend... für´s nächste mal weiß ich das dann hoffentlich Danke und Gruß, Rico. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 08. Sep. 2006 08:33 <-- editieren / zitieren --> Unities abgeben:         
Hi, ich nochmal. Mir ist grad was aufgefallen! Wieso werden die Werte für Breite und Höhe ab A3-Format eigentlich so gesetzt, wie oben beschrieben? Die DIN-Abmessungen für Breite und Höhe für diese Formate sind doch eigentlich gerade anders herum (Werte für Breite und Höhe vertauscht), oder?! Also: A3 297x420 A2 420x594 A1 594x841 A0 841x1189 Wie verhält sich ProE, wenn ich eine identische Zeichnung, z.B. im A3 Format, einmal als Hochformat und einmal als Querformat anlege - bringt mir dann GetWidth() und GetHeight() immer die gleichen Werte? Gruß Rico. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GüntherP Mitglied CAD Administrator / Konstrukteur

 Beiträge: 82 Registriert: 18.02.2005 HP xw4100 NVIDIA Quadro 980XGL<P>Wildfire 2.0 / 3.0 Intralink 3.4 F000 PDMLink 8.0 M030
|
erstellt am: 08. Sep. 2006 10:08 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Die Angabe von Höhe un Breite ist bei mir richtig. Zitat:
A3 297x420
Dieses A3 Format ist doch hochformat, wenn ich mich nicht irre und A3 hochformat Zeichnungrahmen hab ich bis jetzt noch nie gesehen. Die größen werden immer abhängig von der Blattorientierung ausgegeben. A3 hochformat: Breite = 297 Höhe = 420 A3 querformat: Breite = 420 Höhe = 297 Gruß, Günther
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |