79612071

Date: 2025-05-08 09:25:41
Score: 0.5
Natty:
Report link

Thank you and below is the final and updated code.

Sub CATMain()
'--------------------Define CATIA------------------------------------------
    Dim CATIA
    Dim MyDocument
    Dim MyProduct
    'Get CATIA or Launch it if necessary.
    On Error Resume Next
    Set CATIA = GetObject(, "CATIA.Application")
    If CATIA Is Nothing Then
    Set CATIA = CreateObject("CATIA.Application")
    CATIA.Visible = True
    End If
    On Error GoTo 0

    Set CATIA = GetObject("", "CATIA.Application")
    Set MyDocument = CATIA.ActiveDocument
    Set MyProduct = MyDocument.Product

    MyRootPN = MyProduct.PartNumber
    MyRootInstanceName = MyProduct.Name
    
    Set oProductDoc = CATIA.ActiveDocument
    Set oProdParameters = oProductDoc.Product.Parameters
    Set oSel = oProductDoc.selection
    
    oSel.Clear
    ' Only Select the Geometrical sets with name "Protection Set*"
    oSel.Search "CATGmoSearch.OpenBodyFeature.Name=Protection Set*,all"

    For i = 1 To oSel.count
        Debug.Print oSel.Item(i).LeafProduct.Name
        Set oHybridBody = oSel.Item2(i).Value
        Debug.Print oHybridBody.Name
        ' loop over all hybridshapes
        For j = 1 To oHybridBody.HybridShapes.count
            Set oHybridShape = oHybridBody.HybridShapes.Item(j)
            Debug.Print oHybridShape.Name
        Next
        ' loop over all sketches
        For j = 1 To oHybridBody.HybridSketches.count
            Set oSketch = oHybridBody.HybridSketches.Item(j)
            Debug.Print oSketch.Name
        Next
        ' loop over all HybridBodies
        For k = 1 To oHybridBody.HybridBodies.count
            Set oHybridBodies = oHybridBody.HybridBodies.Item(k)
            Debug.Print oHybridBodies.Name
        Next
    Next
    oSel.Clear

End Sub
Reasons:
  • Blacklisted phrase (0.5): Thank you
  • Long answer (-1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Sidamallappa LIMBIKAI