| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX | | |  | Solid Edge 2025 First Look Online-Event 14.11.2025, eine Pressemitteilung
|
Autor
|
Thema: NXOpen: Referenzen auf Assembly von GEO Part (569 / mal gelesen)
|
bjaeckl Mitglied Wiss. Mitarbeiter
 Beiträge: 3 Registriert: 12.08.2024
|
erstellt am: 13. Aug. 2024 04:56 <-- editieren / zitieren --> Unities abgeben:         
Grüßt euch, Ich habe eine simple Part-Hierarchie mit nur einem GEO Part. Mein Ziel ist es mit NXOpen (C#) von einem Face (im Geo-Level) auf eine Referenz im Assembly-Level zu kommen. Beispielsweise könnte mein Code so aussehen: foreach(Body body in part_geo.Bodies){ foreach(Face nxFace in body.getFaces()){ Face nxFace_assem = getAssemblyReferenceFromGeoPrototype(nxFace) ///Something more }} Die Frage ist nun wie die Funktion "getAssemblyReferenceFromGeoPrototype" aussehen müsste. Was ich bisher versuche ist: UFSession.GetUFSession().Assem.AskOccsOfEntity(nxFace.Tag, out Tag[] occs) - danach filtere ich dann für den passenden Tag für das Assembly Level. Das Problem hierbei ist, dass die Funktion "AskOccsOfEntity" für manche Faces eine leere Liste returned. Für die meisten Faces wird jedoch eine korrekte Liste von Tags returned. Ist dies ein bekannter bug oder mache ich etwas falsch? Hätte jemand noch eine andere Idee, wie ich an die Referenzen der Faces im Assembly komme? Beste Grüße! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
      
 Beiträge: 2723 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 16. Aug. 2024 08:48 <-- editieren / zitieren --> Unities abgeben:          Nur für bjaeckl
Hallo bjaeckl, die Rückgabe von AskOccsOfEntity ist ein Integer, der die Anzahl der gefundenen Occurences angibt. Vom referenzierten Array mit den Tags sollten daher nur die ersten x verwendet werden. Das ist zwar etwas merkwürdig, stellt aber keinen Bug dar. AskOccsOfEntity funktioniert allerdings nur, wenn das Face keine Occurence, sondern ein Prototype ist. Zu erkennen mit .Isoccurence bzw. .Prototype. Alternativ kann über die Komponente, die das Face enthält, mit .FindOccurence gearbeitet werden. Gruß, Michael
------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bjaeckl Mitglied Wiss. Mitarbeiter
 Beiträge: 3 Registriert: 12.08.2024
|
erstellt am: 19. Aug. 2024 13:57 <-- editieren / zitieren --> Unities abgeben:         
Lieber Michael, Herzlichen Dank für die Antwort - leider bin ich noch nicht auf die Lösung gekommen. Mein Face ist weder eine Occurence (".isOccurence" gibt "False" zurück) noch ein Prototype (".Prototype" ist null). Dennoch funktioniert für manche Faces die Methode AskOccsOfEntity mit dem Tag als Input und für andere nicht. Übrigens geschieht für die Methode .FindOccurence mit der Component, welche die Faces enthält, genau dasselbe. Also wenn die Methode ".AskOccsOfEntity" etwas findet, dann findet auch die Methode ".FindOccurence" etwas, ansonsten nicht. Beste Grüße, Bastian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stefan.f Mitglied
 
 Beiträge: 126 Registriert: 03.09.2002
|
erstellt am: 20. Aug. 2024 08:31 <-- editieren / zitieren --> Unities abgeben:          Nur für bjaeckl
Der Prototyp ist null, weil es keine Occurence ist. Das heißt die Fläche befindet sich m.E. nicht in einer Komponente, sondern im Part. Ist es eine Occurence, dann steht auf Prototype der Tag der Fläche. Diesen musst du dann in der Funktion AskOccsOfEntity verwenden. Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bjaeckl Mitglied Wiss. Mitarbeiter
 Beiträge: 3 Registriert: 12.08.2024
|
erstellt am: 26. Aug. 2024 17:03 <-- editieren / zitieren --> Unities abgeben:         
|

| Planer - CAD / Trassenplanung / Elektrotechnik (m/w/d) | Die F.Y.K. Group GmbH ist ein führender Innovator im Bereich Energie- und Infrastrukturlösungen. Unsere Mission ist es, zukunftsfähige, zuverlässige und nachhaltige Systeme für die Energieverteilung bereitzustellen. Mit unserem umfassenden Know-how in der Planung, Umsetzung und Integration von Hochspannungsnetzen, Stromverteilungsanlagen und intelligenten Netzwerkanwendungen gestalten wir die Energielandschaft von morgen.... | Anzeige ansehen | Feste Anstellung |
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
      
 Beiträge: 2723 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 31. Aug. 2024 15:51 <-- editieren / zitieren --> Unities abgeben:          Nur für bjaeckl
Hallo Bastian, sicher geht das. Aber ohne Kenntnis darüber, was du wo ausliest und wie die Faces dann weiter behandelt werden, lässt du uns im Trüben fischen. Wenn dein Auto klappert, bringst du es doch sicher auch in die Werkstatt, oder muss der KFZ-Meister raten ? Könnte ein Radlager, könnte Auspuff, könnte ... Also: Leg' offen, was du hast und es kann dir geholfen werden. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |