Hallo Christian,
Ich hatte bei dem Makro auch einige Probleme und habe es für mich so angepasst das es gut funktioniert.
Zuerst mal hatte ich die gleichen Probleme wie Du auch.
Da ich aber eh nicht an einer Ebene schneiden wollte, sondern einen Körper herausschneiden wollte, habe ich einfach eine Boolesche Operation eingebaut wo dieser Körper abgezogen wird. Bei einer Fehlermeldung wird der Körper nicht geschnitten und die Boolesche Operation wieder gelöscht.
Mein größtes bis jetzt auch ungelöstes Problem ist das der Befehl
CATIA.StartCommand "Design Mode"
bei mir nicht Funktionierte, da ich die deutsche Umgebung benutze!?
Wenn ich auf Englisch umschalte läuft die Funktion durch.
Das gemusterte schrauben usw. nicht richtig funktionieren kann ich auch bestätigen.
Hierzu benötigst Du meiner Meinung nach die echte Referenz des Körpers der Teile die gemustert wurden.
Als Beispiel über
Set ref2 = product1.CreateReferenceFromName( „Produkt01/Teil.1/Hauptkörper“)
oder
Set ref2 = product1.CreateReferenceFromName( „Produkt01/Teil.2/Hauptkörper“)
usw.
---------------------------------------------
If (nichteinf = 0) Then
2 If (curproduct.Products.Count = 0) Then
RefPfad1(Pfadtiefe) = "/" & curproduct.Name
3 Set visPropertySet1 = selection1.VisProperties
Set productDocument1 = CATIA.ActiveDocument
Set selection1 = productDocument1.Selection
4 selection1.Add curproduct
5 visPropertySet1.SetShow 1
6 selection1.Clear
part1.Update
On Error Resume Next
7 Set partDocument2 = curproduct.ReferenceProduct.Parent
8 For i = 1 To partDocument2.Part.Bodies.Count
9 Set body1 = partDocument2.Part.Bodies.Item(i)
10 If (body1.InBooleanOperation = False) Then
RefPfadGes = ""
For U = 0 To Pfadtiefe
RefPfadGes = RefPfadGes & RefPfad1(U)
Next
Set ref2 = product1.CreateReferenceFromName(RefPfadGes & "/!" & body1.Name)
---------------------------------------------
Ich weiß nicht ob ich das komplette Makro hier zeigen darf / sollte?
Ich hoffe das hilft Dir etwas weiter?
Grüße aus den Rheinland,
Ralf
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP