| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: AssociativeLineBuilder löscht Punkte (1427 mal gelesen)
|
Rene Oschmann Mitglied Student
Beiträge: 7 Registriert: 10.10.2013
|
erstellt am: 04. Mrz. 2014 17:23 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe CAD.de-Gemeinde ich arbeite mit NXOpen C++ und habe folgendes Problem: Ich habe eine Funktion die Punkte im workPart erstellt und eine welche Kurven erzeugt (Quellcode anbei). Wenn ich nun zwei Punkte erstelle und dann die Funktion zum Erstellen der Kurve aufrufe, werden meine Punkte gelöscht und NX wirft eine Exception "A deleted or invalid class id was used" raus. Rufe ich dagegen die Funktion zum Erstellen der Kurve nicht auf, sind die Punkte fehlerfrei vorhanden. Kann mir jemand sagen, wo mein Fehler liegt? Vielen Dank im Voraus für Hilfe und Vorschläge Grüße René
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: 05. Mrz. 2014 08:38 <-- editieren / zitieren --> Unities abgeben: Nur für Rene Oschmann
Hallo René, das Verhalten dürfte normal sein, die Punkte sind wahrscheinlich noch vorhanden, nur versteckt. Um eine saubere Assoziativität hinzubekommen, muss auf den vorhandenen Punkt ein weiterer gesetzt werden, an dem dann die Linie oder was anderes angehängt wird. Schau' mal die Überladungen bei Part.Points.CreatePoint an, nennt sich irgendwas mit PointExtract und arbeitet mit einer Null-Xform. Im Zweifelsfall machst Du die Punkte per Programm und zeichnest anschliessend ein Journal bei der Linienerzeugung auf. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rene Oschmann Mitglied Student
Beiträge: 7 Registriert: 10.10.2013
|
erstellt am: 06. Mrz. 2014 11:10 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank Michael, jetzt funktioniert es. Ich habe folgende Veränderungen gemacht:
Code:
NXOpen::Xform *nullXform(NULL); NXOpen::Point *p0; p0 = workPart->Points()->CreatePoint(start, nullXform, NXOpen::SmartObject::UpdateOptionWithinModeling); associativeLineBuilder->StartPoint()->SetValue(p0); NXOpen::Point *p1; p1 = workPart->Points()->CreatePoint(end, nullXform, NXOpen::SmartObject::UpdateOptionWithinModeling); associativeLineBuilder->EndPoint()->SetValue(p1);
NXOpen ist manchmal schon echt komisch. Ich seh ja ein, dass es eine Trennung zwischen geometrischen Punkten und Punktfeatures gibt, aber dass ich dann immer zusätzlich wieder Punkte erstellen muss, wenn ich schon einen habe, ist mir irgendwie schleierhaft. Viele Grüße René 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: 06. Mrz. 2014 14:02 <-- editieren / zitieren --> Unities abgeben: Nur für Rene Oschmann
Zitat: Original erstellt von Rene Oschmann: NXOpen ist manchmal schon echt komisch.
Hallo Rene, das liegt nicht an NXOpen, sondern an NX. Beim interaktiven Arbeiten siehst Du die zusätzlichen Punkte nicht, die macht NX im stillen Kämmerlein. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Programmierer Drehmaschinen (w/m/d) | STÜBBE entwickelt und produziert leistungsstarke Pumpen, Armaturen, Mess- und Regeltechnik. Robuste Lösungen für anspruchsvolle Anwendungen sind unsere Kernkompetenz. Dabei sind wir für unsere Kunden aus der Chemie, Umwelt-, Oberflächen- und Versorgungstechnik auf der ganzen Welt aktiv. Mehr als 250 Mitarbeiter machen STÜBBE erfolgreich. Mit Neugierde, Flexibilität und viel Erfahrung in Sachen Kunststoff.... | Anzeige ansehen | Automatisierungstechnik |
|
Rene Oschmann Mitglied Student
Beiträge: 7 Registriert: 10.10.2013
|
erstellt am: 06. Mrz. 2014 16:42 <-- editieren / zitieren --> Unities abgeben:
|