| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Baugruppen Zwangsbedingungen über Journal (818 / mal gelesen)
|
didie Mitglied NX Admin
Beiträge: 106 Registriert: 29.01.2004 win 10 NX1953
|
erstellt am: 22. Mrz. 2016 11:40 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich versuche Baugruppen Zwangsbedingungen über ein Journal zu erzeugen. Dabei habe ich das Problem, dass ich das Objekt in der Komponente (in meinem Fall eine Datum Plane eines Datum CSYS) nicht ansprechen kann. Wenn ich ein Journal aufzeichne steht folgendes drin.
Code: NXOpen.Assemblies.Component component1 = (NXOpen.Assemblies.Component)workPart.ComponentAssembly.RootComponent.FindObject("COMPONENT 0059_cam1_10004347_test 1"); NXOpen.DatumPlane datumPlane2 = (NXOpen.DatumPlane)component1.FindObject("PROTO#HANDLE R-666843");
Mein Problem ist nun wie komme ich an die Information "PROTO#HANDLE R-666843" ran, beziehungsweise woher weiß ich wonach ich hier suchen muss? Ich kann zwar mit ufs.Modl.AskDatumCsysComponents die Objekte des DatumCsys im Part der Komponente abfragen. Mit diesen Objekt ID's kann ich aber in der Baugruppe nichts anfangen. Kann mir jemand weiterhelfen. Gruß didie
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 22. Mrz. 2016 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für didie
Hallo didie, die Zusammenhänge innerhalb einer Baugruppe (Komponenten, Occurences, Prototypen etc.) sind anhand eines Beispiels (Toy Car) in der .net_ref erläutert. Such' nach uf_assem oder Terminology. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
didie Mitglied NX Admin
Beiträge: 106 Registriert: 29.01.2004 win 10 NX1953
|
erstellt am: 23. Mrz. 2016 08:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, danke für den Hinweis. Mein Journal zum erzeugen von Zwangsbedingungen in der Baugruppe funktioniert mittlerweile. Meine Annahme
Zitat:
Ich kann zwar mit ufs.Modl.AskDatumCsysComponents die Objekte des DatumCsys im Part der Komponente abfragen. Mit diesen Objekt ID's kann ich aber in der Baugruppe nichts anfangen.
ist falsch. ufs.Modl.AskDatumCsysComponents liefert mir unter Anderem den Journalidentifier der Datum Planes. Diesen trage ich dann bei "component1.FindObject("Journalidentifier");" ein. Ein Fehler den ich zunächst nicht bemerkt hatte war auch, dass das DatumCsys das ich nutzen will nicht im aktuellen RefernceSet war und somit nicht gefunden werden konnte. Ich musste also noch sicherstellen, dass mein DatumCsys auch sichtbar ist. Gruß didie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 23. Mrz. 2016 10:28 <-- editieren / zitieren --> Unities abgeben: Nur für didie
Hallo didie, der Weg ist zwar ungewöhnlich - aber absolut ok, wenn's funktioniert. Zur Sichtbarkeit bzw. RefSet: War die betroffene Komponente immer vollständig geladen ? Bei unvollständig geladenen Komponenten kommt man nicht an alle Informationen - das wäre hier meine Vermutung. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
didie Mitglied NX Admin
Beiträge: 106 Registriert: 29.01.2004 win 10 NX1953
|
erstellt am: 23. Mrz. 2016 10:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, du hast recht, es ist neben dem ReferenceSet auch darauf zu achten, dass die Komponente voll geladen ist. Wie würde den der gewöhnliche Weg aussehen? Kannst du mir einen Ansatz geben? Gruß didie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 23. Mrz. 2016 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für didie
Zitat: Original erstellt von didie:
Wie würde den der gewöhnliche Weg aussehen?
Das ist davon abhängig, wie Du die Objekte für's Constraint im ursprünglichen Journal ermittelt hast. Wahrscheinlich über die Selektion direkt im Constraint-Dialog ? Weiter: Woher soll das überarbeitete Journal wissen, welche DPlane verwendet werden soll ? Auch eine Selektion, aber ein anderer Dialog (UF_UI_Select* ) ? Was für ein Objekt gibt der zurück und was braucht die Funktion (irgend ein Builder ?), die diese Dplane benötigt ? Dann ggfs., wie oben schon angedeutet, das passende Objekt, entweder im Part oder in der Komponente über die Zusammenhänge in der Baugruppe ermitteln. Und die Typumwandlung nicht vergessen, eine DatumPlane ist zwar immer auch ein TaggedObject, aber nicht umgekehrt. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |