| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: NXOpen Wave Geometry Builder (1119 mal gelesen)
|
nicolas519 Mitglied
Beiträge: 3 Registriert: 21.02.2015
|
erstellt am: 21. Feb. 2015 19:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Community, aktuell arbeite ich mich in die NXOpen Api ein. Beim erstellen eines Journals stoße ich auf folgende Fehlermeldung: "Das verbundene Formelement konnte nicht erzeugt werden,da sich das ausgewählte Objekt im aktiven Teil befindet bei NXOpen.Builder.Commit()" Mein Programmablauf sieht wie folgt aus: 1. Startpunkt: Aktiviere Referenzkomponente in Assemblystruktur 2. Selektiere Body/Bodies aus Referenzkomponente 3. Füge neue Components dem Assembly hinzu 4. Setze ein bestimmtes FeatureSet im neuen Bauteil hinzu 5. Kopiere per Wave Geometry Linker die ausgewählten Körper in das neue Part Den Quelltext habe ich in einer dlx Datei hochgeladen. Ausgelagerte Funktionen/Subs findet ihr weitere unten in einem separaten Modul.
Für schnelle Hilfe wäre ich extrem dankbar, da ich keine Lösung mehr für das Problem sehe... Einfach so viel schon weiter probiert... Gruß, Nicolas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 24. Feb. 2015 14:53 <-- editieren / zitieren --> Unities abgeben: Nur für nicolas519
Zitat: Original erstellt von nicolas519: ...,da sich das ausgewählte Objekt im aktiven Teil befindet ...
Hallo Nicolas, die Meldung sagt doch schon deutlich, wo's klemmt. Der WaveLinker dient dazu, Objekte von einem Quellpart in ein Zielpart zu linken. Bei Dir sind offensichtlich Quelle und Ziel identisch. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nicolas519 Mitglied
Beiträge: 3 Registriert: 21.02.2015
|
erstellt am: 24. Feb. 2015 15:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, erstmal danke für deine Antwort. Was ich daran nicht verstehe, ist, dass es laut meinem Verständnisses des Quelltextes so nicht sein sollte. Meiner Funktion für den Wave Linker übergebe ich das Part, welches ich zuvor neu eingefügt habe, und den Körper der zu kopieren ist. Dieser Körper wurde jedoch zuvor schon selektiert im Ausgangspart. Zu diesem Zeitpunkt wurde das neue Part nicht einmal hinzu gefügt. Deshalb sollte das Ziel- und das Quellpart sich eigentlich unterscheiden. Das macht mir den Fehler unerklärlich. Vielleicht findest du ja ein paar Minuten Zeit den angefügten Quelltext nachzuvollziehen.(Nicht abschrecken lassen von dem umfangreichen automatisch erzeugten Quelltext des Block UI Stylers. Der eigentliche Algorithmus ist sehr kurz.) Grüße, Nicolas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 25. Feb. 2015 10:00 <-- editieren / zitieren --> Unities abgeben: Nur für nicolas519
Zitat: Original erstellt von nicolas519:
Dieser Körper wurde jedoch zuvor schon selektiert im Ausgangspart.
Höchstwahrscheinlich liegt genau da der Hund begraben. Zitat: Original erstellt von nicolas519: Deshalb sollte das Ziel- und das Quellpart sich eigentlich unterscheiden.
Das ist richtig, aber nicht der Grund, warum der WaveLinker nicht funktioniert. Das Problem sind nicht die Parts, sondern Der Body, den Du linken willst. Der ist im falschen Part. >>> ... da sich das ausgewählte Objekt im aktiven Teil befindet ...<<< Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nicolas519 Mitglied
Beiträge: 3 Registriert: 21.02.2015
|
erstellt am: 25. Feb. 2015 11:53 <-- editieren / zitieren --> Unities abgeben:
Wie würdest du dann die Bodies auswählen/der Funktion übergeben, sodass sichergestellt ist, dass diese aus dem richtigen Part stammen? Beim Debuggen kann ich nämlich erkennen, dass die Parent Component von der die Bodies selektiert wurden auch mein Ausgangspart ist. Könntest du mir dann den Fehler den ich mache anhand des Quelltextes aufzeigen? Danke Gruß, Nicolas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Innen- / Architekt Immobilienmanagement / Workplace Consultant (m/w/d) | ISS ist ein internationales Facility Management-Unternehmen: Wir erbringen unterschiedliche Dienstleistungen rund um die Bewirtschaftung von Gebäuden, Büros, Produktionsstätten und technischen Anlagen. Unsere Mitarbeitenden leisten Services in den Bereichen Technik, Reinigung, Catering, Security, Bauen im Bestand und Workplace. Wir geben unseren Mitarbeitenden auf der ganzen Welt das Werteversprechen ... | Anzeige ansehen | Feste Anstellung |
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 26. Feb. 2015 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für nicolas519
Zitat: Original erstellt von nicolas519:
Beim Debuggen kann ich nämlich erkennen, dass die Parent Component von der die Bodies selektiert wurden auch mein Ausgangspart ist.
Bingo, jetzt hast Du das Problem offensichtlich erkannt. Noch zwei Tipps: 1. Journal vom interaktiven Ablauf aufzeichnen. Da steht drin, welches Objekt zu selektieren ist. 2. Doku lesen (net_ref.chm), Thema Assemblies (UF_ASSEM ?), Bsp. Toycar. Da sind die Zusammenhänge und Begriffe erläutert. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |