Hallo
Die Situation ist die folgende (Ich werde versuchen sehr ausführlich zu beschreiben):
In einem Produkt sind drei CATParts (siehe Strukturbaum). Ich möchte im Part.3 ein Loft mit den Skizzen aus dem Part.1 und Part.2 erzeugen. Dafür muss ich Kopien der beiden Skizzen, Skizze.1 und Skizze.2, als explizite Flächen (SurfaceExplicit) im Part.3 erzuegen und mit diesen dann ein Loft erstellen (siehe Strukturbaum).
Produkt|
|-Part.1|
| |-Hybridbody.1|
| |-Skizze.1
|-Part.2|
| |-Hybridbody.2|
| |-Skizze.2
|-Part.3|
| |-Hybridbody.3|
| |-ExplicitSkizze.1
| |-ExplicitSkizze.2
| |-Loft.3
Wenn ich den Loft im Part.3 per Hand erzeuge und die Skizzen aus Part.1 und Part.2 angebe, dann werden im Part.3 automatische Kopien von den Sizzen angelegt (als explizite Skizzen oder SurfaceExplicit).
Ich kann die Skizzen, ExplicitSkizze.1 und ExplicitSkizze.2, im Part.3 auch per CATScript erzeugen und das funktioniert auch. Aber sobald ich versuche aus diesen ein Loft zu erzeugen, erscheint folgende Fehlermeldung:
"Topologische Operatoren: interner Fehler bei verwendung des geometrischen Pakets."
kann mir jemand sagen was diese Fehlermeldung bedeutet.
Ich habe ein Beispiel (V5 R12) als zip-File angehängt, damit ihr es selbst ausprobieren könnt. Der Quellcode für den Skript sieht folgendermassen aus:
Sub CATMain()
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim partDoc1, partDoc2, partDoc3 As Document
Set partDoc1 = documents1.Item("Part1.CATPart")
Set partDoc2 = documents1.Item("Part2.CATPart")
Set partDoc3 = documents1.Item("Part3.CATPart")
Dim part1, part2, part3 As Part
Set part1 = partDoc1.Part
Set part2 = partDoc2.Part
Set part3 = partDoc3.Part
Dim HBs1,HBs2,HBs3 As HybridBodies
Set HBs1 = part1.HybridBodies
Set HBs2 = part2.HybridBodies
Set HBs3 = part3.HybridBodies
Dim HB1,HB2,HB3 As HybridBody
Set HB1 = HBs1.Item(1)
Set HB2 = HBs2.Item(1)
Set HB3 = HBs3.Add
Dim Sks1,Sks2 As Sketches
Set Sks1 = HB1.HybridSketches
Set Sks2 = HB2.HybridSketches
Dim Sk1,Sk2 As Sketch
Set Sk1 = Sks1.Item ("Skizze.1")
Set Sk2 = Sks2.Item ("Skizze.1")
Dim Wzk3D As HybridShapeFactory
Set Wzk3D = part3.HybridShapefactory
Dim ref1, ref2 As Reference
Set ref1 = part1.CreateReferenceFromObject (Sk1)
Set ref2 = part2.CreateReferenceFromObject (Sk2)
Dim SkExp1, SkExp2 As HybridShapeSurfaceExplicit
Set SkExp1 = Wzk3D.AddNewSurfaceDatum (ref1)
Set SkExp2 = Wzk3D.AddNewSurfaceDatum (ref2)
HB3.AppendHybridShape SkExp1
HB3.AppendHybridShape SkExp2
Part3.Update
End Sub
Mit dem Skript werden nur die Kopien erzeugt, Ihr könnt jetzt versuchen mit diesen Kopien ein Loft zu erzeugen und selbst ein Bild davon machen..
mfg
l_c
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP