Sub CATMain(product)
Set oBGRoot = CATIA.ActiveDocument 'es wird ein CATALLPart von dem Produkt erzeugt
Set oBGProd = oBGRoot.product
'On Error Resume Next
'oBGProd.ApplyWorkMode DESIGN_MODE
'On Error GoTo 0
Set oProd2Part = oBGProd.GetItem("DECProductToPart")
oProd2Part.Run
sError = oProd2Part.GetError
If sError <> "" Then
MsgBox sError, 16, " Ausnahmefehler DECProductToPart. Abbruch."
End If
Set oAllCATPart = oProd2Part.GetResult
Dim documents12 As Documents ' es wird ein neues Produkt geöffnet
Set documents12 = CATIA.Documents
Dim productDocument12 As Document
Set productDocument12 = documents12.Add("Product")
Dim windows1 As Windows ' das CATALLPart und das Part der Leiterplatte werden in das neu geöffnete Produkt kopiert
Set windows1 = CATIA.Windows
Dim specsAndGeomWindow1 As Window
Set specsAndGeomWindow1 = windows1.Itemname("Product1_AllCATPart")
specsAndGeomWindow1.Activate
Dim partDocument111 As Document
Set partDocument111 = CATIA.ActiveDocument
Dim selection111 As Selection
Set selection111 = partDocument111.Selection
selection111.Clear
Dim part11 As Part
Set part11 = partDocument111.Part
selection1.Add part11
selection111.Copy
Dim specsAndGeomWindow2 As Window
Set specsAndGeomWindow2 = windows1.Item("Product3")
specsAndGeomWindow2.Activate
Dim productDocument111 As Document
Set productDocument111 = CATIA.ActiveDocument
Dim selection12 As Selection
Set selection12 = productDocument111.Selection
selection12.Clear
Dim product12 As product
Set product12 = productDocument111.product
selection12.Add product12
selection12.Paste
Dim specsAndGeomWindow3 As Window
Set specsAndGeomWindow3 = windows1.Item("Product1.CATProduct")
specsAndGeomWindow3.Activate
Dim productDocument112 As Document
Set productDocument112 = CATIA.ActiveDocument
Dim selection13 As Selection
Set selection13 = productDocument112.Selection
selection13.Clear
Dim product112 As product
Set product112 = productDocument112.product
Dim products12 As products
Set products12 = product112.products
Dim product13 As product
Set product13 = products12.Item("STARTMODEL_3D_R19.2")
selection13.Add product13
selection13.Copy
specsAndGeomWindow2.Activate
Set productDocument112 = CATIA.ActiveDocument
Dim selection14 As Selection
Set selection14 = productDocument112.Selection
selection14.Clear
selection14.Add product13
selection14.Paste
specsAndGeomWindow2.WindowState = catWindowStateMaximized
asdasd
Dim productDocument13 As Document ' alle Bodies aus dem CATALLPart werden kopiert und in das Part mit der Leiterplatte eingefügt
Set productDocument13 = CATIA.ActiveDocument
Dim selection1 As Selection
Set selection1 = productDocument1.Selection
selection1.Clear
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim partDocument1 As Document
Set partDocument1 = documents1.Item("Product1_AllCATPart.CATPart") ' kann man vielleicht weglassen???
Dim part1 As Part
Set part1 = partDocument1.Part
Set productDocument1 = CATIA.ActiveDocument
Dim selection2 As Selection
Set selection2 = productDocument1.Selection
selection2.Clear
Dim partDocument2 As Document
Set partDocument2 = documents1.Item("TEST_Bauraumerfassung.CATPart")
Dim part2 As Part
Set part2 = partDocument2.Part
Dim ActiveWindow As ProductDocument
Set ActiveWindow = CATIA.ActiveDocument
Dim bodies6 As Bodies ' jede Publikation der einzelnen Parts wird kopiert und in das Part der PCB als Result with links eingefügt
Set bodies6 = part1.Bodies
For I = 1 To Bodies6.Count ' für jedes Part in der Baugruppe wird eine Publikation von dem Körper "PartBody" erzeugt
Dim settingControllers1 As SettingControllers
Set settingControllers1 = CATIA.SettingControllers
Dim visualizationSettingAtt1 As SettingController
Set visualizationSettingAtt1 = settingControllers1.Item("CATVizVisualizationSettingCtrl")
visualizationSettingAtt1.SaveRepository
Dim bodies5 As Bodies ' jede Publikation der einzelnen Parts wird kopiert und in das Part der PCB als Result with links eingefügt
Set bodies5 = part2.Bodies
Set body21 = part1.Bodies.Item(I)
ActiveWindow.Selection.Clear ' kopieren und einfügen der Publikationen in das Part von der Einzelleiterplatte
ActiveWindow.Selection.Add body21
ActiveWindow.Selection.Copy
ActiveWindow.Selection.Clear
ActiveWindow.Selection.Add part2
ActiveWindow.Selection.Paste
ActiveWindow.Selection.Item(1).Value.Name = "Bauteil1" ' die Publication wird umbenannt
Dim body22 As Body ' die Publikationen werden als Boolsche Operation dem Körper Baugruppe zugefügt
Set body22 = bodies5.Item("Baugruppe")
Dim shapeFactory1 As Factory
Set shapeFactory1 = part2.ShapeFactory
Dim body23 As Body
Set body23 = bodies5.Item("Bauteil1")
part2.InWorkObject = body22
Dim add21 As Add
Set add21 = shapeFactory1.AddNewAdd(body23)
part2.UpdateObject add21
part2.Update
body23.Name = "Bauteil"
part2.Update
part1.Update
Next
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP