Autor
|
Thema: existenz des Knoten Relations prüfen, ohne ihn anzulegen? (703 mal gelesen)
|
stefanandreas Mitglied Student
Beiträge: 22 Registriert: 24.04.2003
|
erstellt am: 06. Sep. 2006 13:21 <-- editieren / zitieren --> Unities abgeben:
Hallo allezusammen, gibt es eine Möglichkeit in der Struktur document1.part nur zu schauen, ob in dem Knoten Relations der Knoten Optimizations überhaupt existiert? sobald ich z.B. mit document1.part.relations.optimizations.count schaue, ob was drin ist, erzeugt CATIA den Knoten schon, wenn er nicht vorhanden war. den Knoten nachträglich wieder löschen (select, delet) kostet unheimlich Performance, besonders, wenn ich durch ne größere Productstruktur traversiere. Bitte um Hilfe, vielen Dank Liebe Grüße Stefan [Diese Nachricht wurde von stefanandreas am 06. Sep. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 2x3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1800, Delmia V5R16 SP1, Win XP Prof SP2, Office, VS 2005, VB 6, Inventor (Test), VBExpress .NET 2005 Adminrechte
|
erstellt am: 06. Sep. 2006 14:42 <-- editieren / zitieren --> Unities abgeben: Nur für stefanandreas
Hallo Stefan, mal so aus der Kalten, ohne zu prüfen: If document1.part.relations.optimizations Is Nothing Then BlaBlaBla Else AnderesBlaBlaBla End If Keine Ahnung, ob's funzt, nur so eine Idee okl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stefanandreas Mitglied Student
Beiträge: 22 Registriert: 24.04.2003
|
erstellt am: 06. Sep. 2006 15:01 <-- editieren / zitieren --> Unities abgeben:
|
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 2x3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1800, Delmia V5R16 SP1, Win XP Prof SP2, Office, VS 2005, VB 6, Inventor (Test), VBExpress .NET 2005 Adminrechte
|
erstellt am: 06. Sep. 2006 15:30 <-- editieren / zitieren --> Unities abgeben: Nur für stefanandreas
Hm, ich hab mal ein Part eingelesen, das keine Relations/Optimizations hat. Wenn ich mich auf den Knoten Optimizations setzen will, kommt eine Fehlermeldung (Err# = -2147467259), dass die Method "Optimizations" on object Relations failed. Knoten ist schon als Dummy im Objekt, aber ohne Inhalt und ohne Zeiger auf die eigentlichen Eigenschaften, wenn Optimizations vorhanden sind. Kann ich leider nicht nachvollziehen. Tut mir leid. Wie hast Du die Objektvariablen deklariert? Grüße, okl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stefanandreas Mitglied Student
Beiträge: 22 Registriert: 24.04.2003
|
erstellt am: 11. Sep. 2006 10:04 <-- editieren / zitieren --> Unities abgeben:
Hallo okl, erstmal vielen Dank fürs ausprobieren. ich bin leider immer noch nicht weiter. vielleicht habe ich mich auch etwas ungenau ausgedrückt, deshalb jetzt noch ein bischen drumherum. ich greife von "außen" mit vb .net über die Klasse KnowledgewareTypeLib.Optimizations auf die Collection zu. In recursivem Aufruf für Products und Parts: 'richtiges Product wird übergeben If iProduct.Relations.Optimizations Is Nothing Then MsgBox("existiert nicht") Else MsgBox("existiert") End If Dim oOptimizations As Optimizations oOptimizations = iProduct.Relations.Optimizations ... Dim partdoc1 As PartDocument partdoc1 = subProduct.ReferenceProduct.Parent Dim aOptimizations As Optimizations aOptimizations = partdoc1.Part.Relations.Optimizations Eine Fehlermeldung bekomme ich nicht, sondern schon bei dem jeweiligen ersten Aufruf der Collection(schon bei der ifabfrage) wird der leere Optimierungsknoten "Optimizations.1" erzeugt und verändert damit mein Product/Part, was ich vermeiden möchte. breche ich die ausführung ab und mache die Erzeugung der leeren Knoten rückgängig sagt mir CATIA in der "Mehrfach-Undo" seltsamerweise "-leere Selection". (weiß nicht, ob das hilft). Wäre Klasse, wenn Du noch eine Idee hättest, Grüße Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|