Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  NX Programmierung
  NXOpen: Referenzen auf Assembly von GEO Part

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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

Sehen Sie sich das Profil von bjaeckl an!   Senden Sie eine Private Message an bjaeckl  Schreiben Sie einen Gästebucheintrag für bjaeckl

Beiträge: 3
Registriert: 12.08.2024

erstellt am: 13. Aug. 2024 04:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von mseufert an!   Senden Sie eine Private Message an mseufert  Schreiben Sie einen Gästebucheintrag für mseufert

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bjaeckl 10 Unities + Antwort hilfreich

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

Sehen Sie sich das Profil von bjaeckl an!   Senden Sie eine Private Message an bjaeckl  Schreiben Sie einen Gästebucheintrag für bjaeckl

Beiträge: 3
Registriert: 12.08.2024

erstellt am: 19. Aug. 2024 13:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von stefan.f an!   Senden Sie eine Private Message an stefan.f  Schreiben Sie einen Gästebucheintrag für stefan.f

Beiträge: 126
Registriert: 03.09.2002

erstellt am: 20. Aug. 2024 08:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bjaeckl 10 Unities + Antwort hilfreich

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

Sehen Sie sich das Profil von bjaeckl an!   Senden Sie eine Private Message an bjaeckl  Schreiben Sie einen Gästebucheintrag für bjaeckl

Beiträge: 3
Registriert: 12.08.2024

erstellt am: 26. Aug. 2024 17:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Lieber Stefan,

bedeutet das, dass es keine Möglichkeit gibt, um von einer Fläche die in einem Part ist (also keine Occurence) auf die Assembly-Referenz zu kommen?

Beste Grüße,
Bastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



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 ansehenFeste Anstellung
mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


Sehen Sie sich das Profil von mseufert an!   Senden Sie eine Private Message an mseufert  Schreiben Sie einen Gästebucheintrag für mseufert

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bjaeckl 10 Unities + Antwort hilfreich

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz