| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | BOM Assistant für Stücklistenerstellung , eine App
|
Autor
|
Thema: Jlink: Höhe, Breite, Tiefe, Dichte von Part ermitteln? (3204 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: 02. Apr. 2007 10:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich möchte per Jlink folgende Werte eines geöffneten Part ermitteln bzw. auslesen: 1. maximale Höhe (entspricht y-Richtung) 2. maximale Breite (entspricht x-Richtung) 3. maximale Dicke bzw. Tiefe (entspricht z-Richtung) 4. Dichte des Part (wird mir z.B. über Editieren/Einstellungen/Massenwerte angezeigt) Diese Werte sind nicht als Parameter im Modell hinterlegt. Gibt es hierfür Jlink-Funktionen, um diese einzelnen Werte auszulesen oder wie könnte ich an diese Sachen kommen? Gruß und Danke.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anagl Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4566 Registriert: 28.05.2001 CREO2 M140 PDMLink 10.2 M020 HW diverse Das Schreiben bei CAD.de ist freiwillig und kein Muss !!!!!
|
erstellt am: 02. Apr. 2007 10:48 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Aus der Hilfe The method pfcSolid.Solid.GetGeomOutline returns the three-dimensional bounding box for the specified solid. The method pfcSolid.Solid.EvalOutline also returns a three-dimensional bounding box, but you can specify the coordinate system used to compute the extents of the solid object.The function pfcSolid.Solid.GetMassProperty provides information about the distribution of mass in the part or assembly. It can provide the information relative to a coordinate system datum, which you name, or the default one if you provide null as the name. It returns a class called MassProperty.
------------------ Servus Alois Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jürgen_P Mitglied CAD

 Beiträge: 70 Registriert: 02.11.2001
|
erstellt am: 02. Apr. 2007 12:51 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo magic_halli, habe da auch grosses Interesse dran. Wenn du es hinbekommen hast,wuerde ich mich freuen, wenn du es hier posten wuerdest. ------------------ Mit freundlichen Grüßen aus Braunschweig 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: 02. Apr. 2007 13:54 <-- editieren / zitieren --> Unities abgeben:         
|
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: 03. Apr. 2007 09:29 <-- editieren / zitieren --> Unities abgeben:         
Mh, mit GetGeomOutline kann ich zwar erstmal arbeiten, doch die Daten die da herauskommen sehen nicht aus wie Punkte! Die Ausgabe sieht in etwa so aus: c242d6 etc. (also ein Object?!) Code:
Outline3D outline; Solid solid = (Solid) model;outline = solid.GetGeomOutline(); Point3D x = outline.get(0); Point3D y = outline.get(1); Point3D z = outline.get(2); JOptionPane.showMessageDialog(null, x.toString());
Außerdem gibt es beim Punkt z einen Fehler "XInvalidArrayIndex". Also scheint es keine z-Richtung zu geben?Ich will mir doch einfach nur die x-y-z Ausdehnung anzeigen/ermitteln... Hat jemand ne Idee/Tip? [Diese Nachricht wurde von magic_halli am 03. Apr. 2007 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: 03. Apr. 2007 11:26 <-- editieren / zitieren --> Unities abgeben:         
So, ich bekomme jetzt endlich meine Breite, Höhe und Tiefe vom Part: Code:
Outline3D outline; Solid solid = (Solid) model;outline = solid.GetGeomOutline(); Point3D x = outline.get(0); Point3D y = outline.get(1); //Berechnung, da PART nicht immer im Koordinatenursprung liegt double breite = y.get(0) - x.get(0); double hoehe = y.get(1) - x.get(1); double tiefe = y.get(2) - x.get(2); //Testanzeige der Werte JOptionPane.showMessageDialog(null, "Breite=" + breite + "; Höhe=" + hoehe + "; Tiefe="+tiefe);
Ich hab´s an zig verschiedenen Parts durchgetestet... funktioniert! PS: Gut, über die Variablenbenennung könnte man streiten...
[Diese Nachricht wurde von magic_halli am 03. Apr. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anagl Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4566 Registriert: 28.05.2001 CREO2 M140 PDMLink 10.2 M020 HW diverse Das Schreiben bei CAD.de ist freiwillig und kein Muss !!!!!
|
erstellt am: 03. Apr. 2007 12:58 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
|
Jürgen_P Mitglied CAD

 Beiträge: 70 Registriert: 02.11.2001
|
erstellt am: 03. Apr. 2007 13:25 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Kannst du mir jetzt noch weiterhelfen, wie ich diesen Code einbinde. Ich habe da eine html-Seite, die mir viele Buttons anzeigt mit denen ich dann z.B. Mapkeys starten kann. Jetzt möchte ich gern einen Button haben, der mir die Außenmaße des Parts ausliest und in die Parameter "BREITE" "LAENGE" "HOEHE" hineinschreibt. Dankbarkeit und U's sind dir sicher !!! ------------------ Mit freundlichen Grüßen aus Braunschweig Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anagl Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4566 Registriert: 28.05.2001 CREO2 M140 PDMLink 10.2 M020 HW diverse Das Schreiben bei CAD.de ist freiwillig und kein Muss !!!!!
|
erstellt am: 03. Apr. 2007 14:32 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Zitat: Original erstellt von Jürgen_P: Kannst du mir jetzt noch weiterhelfen, wie ich diesen Code einbinde. Ich habe da eine html-Seite, die mir viele Buttons anzeigt mit denen ich dann z.B. Mapkeys starten kann.
Für diesen Fall kommt eher WEBLINK in Frage Javascript ist da die Programmiersprache Javascript kann dann mit der HTML-Seite kommunizieren ------------------ Servus Alois Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Uli8 Mitglied Modellbau / CAD
 Beiträge: 1 Registriert: 20.10.2008
|
erstellt am: 20. Okt. 2008 21:25 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo Ich hänge auch schon länger an diesem Problem Ich benötige von einem eingelesenen 3 D Teil die Länge Breite und Höhe komme jedoch nicht so richtig mit wie Ihr das in das PRO E einbindet, Könnte jemand mir dies genauer beschreiben? meine eMail: uasch@kabelbw.de Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arni1 Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 3985 Registriert: 17.12.2002 Pro/E seit Version 11 Creo6 HP Z210 Intel Xeon 3.3GHz; 20 GB RAM NVIDIA Quadro 2000 HP ZR30w Win10 64bit
|
erstellt am: 21. Okt. 2008 07:18 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
|
Scrat1957 Mitglied CAD/PLM Admin
 Beiträge: 7 Registriert: 21.01.2009 Dell Duo Core 3GHz,4Gb Ram, NVidia Quadro FX 4600, 2x22" TFT,ProE WF3 M130/M180 und WF4 M050
|
erstellt am: 28. Aug. 2009 13:30 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Zitat: Original erstellt von magic_halli: So, ich bekomme jetzt endlich meine Breite, Höhe und Tiefe vom Part:
Code:
Outline3D outline; Solid solid = (Solid) model;outline = solid.GetGeomOutline(); Point3D x = outline.get(0); Point3D y = outline.get(1); //Berechnung, da PART nicht immer im Koordinatenursprung liegt double breite = y.get(0) - x.get(0); double hoehe = y.get(1) - x.get(1); double tiefe = y.get(2) - x.get(2); //Testanzeige der Werte JOptionPane.showMessageDialog(null, "Breite=" + breite + "; Höhe=" + hoehe + "; Tiefe="+tiefe);
Ich hab´s an zig verschiedenen Parts durchgetestet... funktioniert! PS: Gut, über die Variablenbenennung könnte man streiten...
[Diese Nachricht wurde von magic_halli am 03. Apr. 2007 editiert.]
Hallo, ich bin neu auf dem Gebiet Jlink unterwegs, habe aber vieles schon gesehen und versucht zu analysieren. Das oben abgebildete kann aber nicht der ganze Code sein, oder? Wenn ich so manche Jlik Apps anschaue, sehen die ganz anders aus, so mit Incl Anweisungen, geschweiften Klammern wie bei C etc. Liege ich da falsch oderwird das hier vorausgesetzt? Ich hoffe es antwortet einer, der Beitrag ist schon eine Weile her. Gruß Robert
------------------ Wenn man keine Ahnung, einfach mal Fresse halten. (Zitat : Dieter Nuhr) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |