joehughes.net - tesla interview

Sub CATMain()

Dim i As Integer
Dim oTopProductDoc As ProductDocument
Dim oTopProduct As Product
Dim oItem As Product


Debug.Print CATIA.ActiveDocument.Product.Name
Set oTopProductDoc = CATIA.ActiveDocument
Set oTopProduct = oTopProductDoc.Product

iCount = CATIA.ActiveDocument.Product.Products.Count

For i = 1 To iCount
  Set oItem = oTopProduct.Products.Item(i)
  printProducts oItem
Next

CATIA.ActiveDocument.selection.Clear

End Sub

Public Sub printProducts(oItem As Product)
  Dim oSub As Product
 
  Dim oSelection As selection
  Set oSelection = CATIA.ActiveDocument.selection
  
  oSelection.Clear
  oSelection.Add oItem
  
  oSelection.Search ("Name=MoldedPart*,sel")
  objcount = oSelection.Count
  
  If objcount > 0 Then Debug.Print oItem.PartNumber

  If (oItem.Products.Count > 0) Then
    iCount = oItem.Products.Count
    For i = 1 To iCount
      Set oSub = oItem.Products.Item(i)
      printProducts oSub
    Next
  End If
 
End Sub