| | |
 | Additiv Herbsttagung | 22. Oktober 2026 | KSB SE & Co. KG, Pegnitz Termin: in 10 Wochen |
| | |
 | Solid Edge 2023 Upgradekurs , ein Kurs
|
|
Autor
|
Thema: AssociativeLineBuilder löscht Punkte (1956 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: 2750 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: 2750 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 |

| | Ingenieur / Techniker TGA (m/w/d) | Wir sind planting. Premium-Partner der Prozessindustrie. Wir unterstützen unsere Kunden sowohl in Projekten, in der betriebsnahen Planung als auch im technischen Consulting. Unsere Aufgaben sind anspruchsvoll, unser Leistungs- und Branchenspektrum breit: von der Idee bis zur Inbetriebnahme und darüber hinaus. Dafür suchen wir Verstärkung - kompetent und motiviert. In der rheinischen Domstadt schlägt das Herz der planting.... | | 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:         
|