Code:
Sub CATMain() Dim oPartDocument as PartDocument
Dim sPath as String
Dim sPartNumer as String
Dim sText as String
Dim iStage as Integer
Dim oFileSystem as FileSystem
Dim sFileName as Sting
Dim oFile as File
Dim oTestStream As CATIATextSteam
sPath = "d:\"
iStage = 0
Set oPartDocument = CATIA.ActiveDocument
sPartNumer = oPartDocument.Product.PartNumber
sText = GetListOfHybridBodies(oPartDocument.Part.HybridBodies, iStage)
Set oFileSystem = CATIA.FileSystem
sFileName = sPath & oFileSystem.FileSeparator & sPartNumer & ".txt"
Set oFile = oFileSystem.CreateFile(sFileName, true)
Set oTestStream = oFile.OpenAsTextStream("ForAppending")
oTestStream.Write sText
oTestStream.Close
End Sub
Function GetListOfHybridBodies(oHBodies as HybridBodies, ByVal iStage as Integer) as String
Dim oHBody as HybridBody
GetListOfHybridBodies = ""
for each oHBody in oHBodies
GetListOfHybridBodies = GetListOfHybridBodies & String(iStage, Chr(9)) & oHBody.Name & Chr(10)
if oHBody.Hybridbodies.Count <> 0 then
GetListOfHybridBodies = GetListOfHybridBodies & GetListOfHybridBodies(oHBody.Hybridbodies, iStage + 1)
end if
next
end Function