| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
 | Solid Edge: Erste Schritte, ein Webinar am 26.09.2025
|
Autor
|
Thema: AssociativeLineBuilder löscht Punkte (1709 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: 2723 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 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: 2723 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 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 |

| Senior Service Manager Customer Application Management (m/w/d) | Als primärer Digitalisierungspartner der Bundeswehr erbringen wir stabile, sichere und effiziente IT-Services im In- und Ausland, vom Grundbetrieb bis in den einsatznahen Bereich und tragen so zur kontinuierlichen Erhöhung der Führungs- und Einsatzfähigkeit der Bundeswehr bei. Mit über 7.700 Kolleg*innen betreiben und modernisieren wir eine der größten und komplexesten IT-Infrastrukturen in Deutschland.... | Anzeige ansehen | Feste Anstellung |
|
Rene Oschmann Mitglied Student
 Beiträge: 7 Registriert: 10.10.2013
|
erstellt am: 06. Mrz. 2014 16:42 <-- editieren / zitieren --> Unities abgeben:         
|