Autor
|
Thema: Nach Löschvorgang wird kein Geometrisches Set mehr erzeugt (695 / mal gelesen)
|
Aitec Mitglied
Beiträge: 30 Registriert: 25.04.2018 Catia V5-R2016
|
erstellt am: 05. Jun. 2018 12:20 <-- editieren / zitieren --> Unities abgeben:
Hallo CAD-Community, ich habe mal wieder ein kleines Problem und hoffe, ihr habt einen Rat bzw. Lösung für mich. Es geht dabei um Folgendes: 1. Makro wird gestartet und nach ein paar Code Zeilen geht es in eine For Schleife hier erfolgt Schritt 2 2. Neues Part und neues GeoSet werden erzeugt 3. Schleife wird beendet und die zuvor erzeugten Parts + GeoSets werden gelöscht. Beim erneuten ausführen des Makros wird mein Part erzeugt jedoch wird diesem nicht wie gewünscht auch wieder ein GeoSet zugeordnet. Woran kann das liegen? Hier der Code mit dem ich das Part und GeoSet erzeuge
Code:
'Neues Part innerhalb des aktuellen Assembly anlegen Dim products1 As Products Set products1 = AProduct.Products Dim product2 As Product Set product2 = products1.AddNewComponent("Part", Pnummer) Dim MeinPart As Part Set MeinPart =AProduct.Products.Item(product2.Name).ReferenceProduct.Parent.Part Set MeinPart_ges = AProduct.Products.Item(product2.Name) 'Neues Geometrisches Set Dim documents1 As Documents Set documents1 = CATIA.Documents Dim partDocument1 As PartDocument Set partDocument1 = documents1.Item(Pnummer & ".CATPart") Dim part1 As Part Set part1 = partDocument1.Part Dim hybridBodies1 As HybridBodies 'Set hybridBodies1 = products1.Item(products1.Count - z).HybridBodies Set hybridBodies1 = part1.HybridBodies Dim GeoSetNew As HybridBody Set GeoSetNew = hybridBodies1.Add() GeoSetNew.Name = "GeoSections" part1.UpdateObject GeoSetNew part1.UpdateObject hybridBody1 part1.Update
Besten Dank schon mal und ich hoffe mein Problem verständlich erklärt zu haben. Grüße
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 05. Jun. 2018 18:04 <-- editieren / zitieren --> Unities abgeben: Nur für Aitec
Servus Warum verwendest du in deinem weiteren Code nicht MeinPart weiter und greifst stattdessen über den Dokumentnamen erneut darauf zu? Hat Pnummer beim nächsten Durchlauf einen neuen Wert? Hast du eventuell die Fehlerbehandlung ausgeschaltet (On Error resume next)? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Aitec Mitglied
Beiträge: 30 Registriert: 25.04.2018 Catia V5-R2016
|
erstellt am: 06. Jun. 2018 10:17 <-- editieren / zitieren --> Unities abgeben:
Hallo bgrittmann, also, MeinPart direkt zu verwenden macht natürlich mehr Sinn. Pnummer erhält bei jedem durchlaufen einen neuen Wert. Beim start des Makros wird geprüft ob der Name für Pnummer bereits existiert. Ist das der Fall erhält Pnummer solange eine neue Bezeichnung bis der Name nicht mehr doppelt ist. Ich habe jetzt aber festgestellt das sobald ich ein z.B. "Part4" erzeugt habe und dieses anschließend Lösche, das dazu führt, dass beim nächsten Makro Start "MeinPart" den Value "Nothing" hat. Anscheinend ist das ein Catia Problem, weil die zuvor verwendete Bezeichnung noch abgespeichert ist ?! Komischer Weise wird trotzdem ein Part im Baum erzeugt,jedoch ohne das GeoSet. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Jun. 2018 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für Aitec
Servus Probier mal: Code: Set MeinPart = product2.ReferenceProduct.Parent.Part
Dann bist du unabhängig mit welchen Instanznamen das Teil angelegt wird. Vermutlich verwendet Catia einen automatischen Namen wenn es den Instanznamen (oder sogar Document-Name?) schon gibt. EDIT: Warum suchst du vor den neu anlegen des Parts ob es dies noch nicht gibt (zB direkt per Document- oder Instance-Name ansprechen) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Aitec Mitglied
Beiträge: 30 Registriert: 25.04.2018 Catia V5-R2016
|
erstellt am: 06. Jun. 2018 10:40 <-- editieren / zitieren --> Unities abgeben:
|