Hallo zusammen,
ich möchte mich kurz vorstellen bevor ich meine erste Frage stelle.
Ich arbeite seit 2004 mit Catia V5, zuerst in der Serienetwicklung der
Automobilindustrie und seit ersten Mai in der Vorrichtungskonstruktion.
Hier nun meine erste Frage
ich suche ein Makro das mir alle Flächen in einem Geometrischen Set (GS) verbindet.
Aus diese Verbindung (Join) soll dann ein Volumenkörper im ersten Body abgelegt werden.
Danach soll das GS in NowShow gestellt werden.
Ich habe null Ahnung was Makroprogramierung angeht.
Was ich schon getan habe.
Ich habe ein Makro als CATscript aufzeichnen lassen das auch wunderbar funktioniert hat.
Sobald aber die Flächenanzahl zunimmt, funktioniert das nicht mehr.
Wenn es einen Befehl geben würde der dem Makro sagen würde nimm immer alle Flächen im GS würde es
warscheinlich schon funktionieren.
Hier mal mein aufgezeichnetes Makro.
--------------------------------------------------
Language="VBSCRIPT"
Sub CATMain()
Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
Dim hybridShapeSurfaceExplicit1 As Parameter
Set hybridShapeSurfaceExplicit1 = parameters1.Item("Fläche.1")
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit1)
Dim parameters2 As Parameters
Set parameters2 = part1.Parameters
Dim hybridShapeSurfaceExplicit2 As Parameter
Set hybridShapeSurfaceExplicit2 = parameters2.Item("Fläche.2")
Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit2)
Dim hybridShapeAssemble1 As HybridShapeAssemble
Set hybridShapeAssemble1 = hybridShapeFactory1.AddNewJoin(reference1, reference2)
Dim parameters3 As Parameters
Set parameters3 = part1.Parameters
Dim hybridShapeSurfaceExplicit3 As Parameter
Set hybridShapeSurfaceExplicit3 = parameters3.Item("Fläche.3")
Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit3)
hybridShapeAssemble1.AddElement reference3
Dim parameters4 As Parameters
Set parameters4 = part1.Parameters
Dim hybridShapeSurfaceExplicit4 As Parameter
Set hybridShapeSurfaceExplicit4 = parameters4.Item("Fläche.4")
Dim reference4 As Reference
Set reference4 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit4)
hybridShapeAssemble1.AddElement reference4
Dim parameters5 As Parameters
Set parameters5 = part1.Parameters
Dim hybridShapeSurfaceExplicit5 As Parameter
Set hybridShapeSurfaceExplicit5 = parameters5.Item("Fläche.5")
Dim reference5 As Reference
Set reference5 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit5)
hybridShapeAssemble1.AddElement reference5
Dim parameters6 As Parameters
Set parameters6 = part1.Parameters
Dim hybridShapeSurfaceExplicit6 As Parameter
Set hybridShapeSurfaceExplicit6 = parameters6.Item("Fläche.6")
Dim reference6 As Reference
Set reference6 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit6)
hybridShapeAssemble1.AddElement reference6
Dim parameters7 As Parameters
Set parameters7 = part1.Parameters
Dim hybridShapeSurfaceExplicit7 As Parameter
Set hybridShapeSurfaceExplicit7 = parameters7.Item("Fläche.7")
Dim reference7 As Reference
Set reference7 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit7)
hybridShapeAssemble1.AddElement reference7
Dim parameters8 As Parameters
Set parameters8 = part1.Parameters
Dim hybridShapeSurfaceExplicit8 As Parameter
Set hybridShapeSurfaceExplicit8 = parameters8.Item("Fläche.8")
Dim reference8 As Reference
Set reference8 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit8)
hybridShapeAssemble1.AddElement reference8
Dim parameters9 As Parameters
Set parameters9 = part1.Parameters
Dim hybridShapeSurfaceExplicit9 As Parameter
Set hybridShapeSurfaceExplicit9 = parameters9.Item("Fläche.9")
Dim reference9 As Reference
Set reference9 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit9)
hybridShapeAssemble1.AddElement reference9
Dim parameters10 As Parameters
Set parameters10 = part1.Parameters
Dim hybridShapeSurfaceExplicit10 As Parameter
Set hybridShapeSurfaceExplicit10 = parameters10.Item("Fläche.10")
Dim reference10 As Reference
Set reference10 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit10)
hybridShapeAssemble1.AddElement reference10
Dim parameters11 As Parameters
Set parameters11 = part1.Parameters
Dim hybridShapeSurfaceExplicit11 As Parameter
Set hybridShapeSurfaceExplicit11 = parameters11.Item("Fläche.11")
Dim reference11 As Reference
Set reference11 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit11)
hybridShapeAssemble1.AddElement reference11
Dim parameters12 As Parameters
Set parameters12 = part1.Parameters
Dim hybridShapeSurfaceExplicit12 As Parameter
Set hybridShapeSurfaceExplicit12 = parameters12.Item("Fläche.12")
Dim reference12 As Reference
Set reference12 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit12)
hybridShapeAssemble1.AddElement reference12
Dim parameters13 As Parameters
Set parameters13 = part1.Parameters
Dim hybridShapeSurfaceExplicit13 As Parameter
Set hybridShapeSurfaceExplicit13 = parameters13.Item("Fläche.13")
Dim reference13 As Reference
Set reference13 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit13)
hybridShapeAssemble1.AddElement reference13
Dim parameters14 As Parameters
Set parameters14 = part1.Parameters
Dim hybridShapeSurfaceExplicit14 As Parameter
Set hybridShapeSurfaceExplicit14 = parameters14.Item("Fläche.14")
Dim reference14 As Reference
Set reference14 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit14)
hybridShapeAssemble1.AddElement reference14
Dim parameters15 As Parameters
Set parameters15 = part1.Parameters
Dim hybridShapeSurfaceExplicit15 As Parameter
Set hybridShapeSurfaceExplicit15 = parameters15.Item("Fläche.15")
Dim reference15 As Reference
Set reference15 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit15)
hybridShapeAssemble1.AddElement reference15
Dim parameters16 As Parameters
Set parameters16 = part1.Parameters
Dim hybridShapeSurfaceExplicit16 As Parameter
Set hybridShapeSurfaceExplicit16 = parameters16.Item("Fläche.16")
Dim reference16 As Reference
Set reference16 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit16)
hybridShapeAssemble1.AddElement reference16
Dim parameters17 As Parameters
Set parameters17 = part1.Parameters
Dim hybridShapeSurfaceExplicit17 As Parameter
Set hybridShapeSurfaceExplicit17 = parameters17.Item("Fläche.17")
Dim reference17 As Reference
Set reference17 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit17)
hybridShapeAssemble1.AddElement reference17
hybridShapeAssemble1.SetConnex 1
hybridShapeAssemble1.SetManifold 0
hybridShapeAssemble1.SetSimplify 0
hybridShapeAssemble1.SetSuppressMode 0
hybridShapeAssemble1.SetDeviation 0.001000
hybridShapeAssemble1.SetAngularToleranceMode 0
hybridShapeAssemble1.SetAngularTolerance 0.500000
hybridShapeAssemble1.SetFederationPropagation 0
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Geometrisches Set.1")
hybridBody1.AppendHybridShape hybridShapeAssemble1
part1.InWorkObject = hybridShapeAssemble1
part1.Update
part1.Update
End Sub
--------------------------------------------------
LG Fonz
[Diese Nachricht wurde von Fonz am 13. Mai. 2010 editiert.]
[Diese Nachricht wurde von Fonz am 13. Mai. 2010 editiert.]
[Diese Nachricht wurde von Fonz am 13. Mai. 2010 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP