hello all,
I'm search a name in browser, but were is it ?
is not that !!
For Each oDoc In ThisApplication.Documents
nom_arbore = oDoc.DisplayName
thank's and sorry for my bad english.
Solved! Go to Solution.
Solved by rossano_praderi. Go to Solution.
Solved by rossano_praderi. Go to Solution.
Hi,
I don't know if this is exactly what you need but I'ld try... the variable named "oOcc.Name" contain the name of each occurence.
Lista = "" For Each oOcc In ThisApplication.ActiveDocument.ComponentDefinition.Occurrences.AllLeafOccurrences Lista &= oOcc.Name & vbCr Next MsgBox(Lista)
Bregs
Rossano Praderi
thank's a lot but i'm not have sub-assembly in this list ...
i'm shearch...
Hi, if you look inside the API help of your Inventor you will find this example.
Public Sub AssemblyCount() ' Set reference to active document. ' This assumes the active document is an assembly Dim oDoc As Inventor.AssemblyDocument Set oDoc = ThisApplication.ActiveDocument ' Get assembly component definition Dim oCompDef As Inventor.ComponentDefinition Set oCompDef = oDoc.ComponentDefinition Dim sMsg As String Dim iLeafNodes As Long Dim iSubAssemblies As Long ' Get all occurrences from component definition for Assembly document Dim oCompOcc As ComponentOccurrence For Each oCompOcc In oCompDef.Occurrences ' Check if it's child occurrence (leaf node) If oCompOcc.SubOccurrences.Count = 0 Then Debug.Print oCompOcc.Name iLeafNodes = iLeafNodes + 1 Else Debug.Print oCompOcc.Name iSubAssemblies = iSubAssemblies + 1 Call processAllSubOcc(oCompOcc, _ sMsg, _ iLeafNodes, _ iSubAssemblies) ' subassembly End If Next Debug.Print "No of leaf nodes : " + CStr(iLeafNodes) Debug.Print "No of sub assemblies: " + CStr(iSubAssemblies) End Sub ' This function is called for processing sub assembly. It is called recursively ' to iterate through the entire assembly tree. Private Sub processAllSubOcc(ByVal oCompOcc As ComponentOccurrence, _ ByRef sMsg As String, _ ByRef iLeafNodes As Long, _ ByRef iSubAssemblies As Long) Dim oSubCompOcc As ComponentOccurrence For Each oSubCompOcc In oCompOcc.SubOccurrences ' Check if it's child occurrence (leaf node) If oSubCompOcc.SubOccurrences.Count = 0 Then Debug.Print oSubCompOcc.Name iLeafNodes = iLeafNodes + 1 Else sMsg = sMsg + oSubCompOcc.Name + vbCr iSubAssemblies = iSubAssemblies + 1 Call processAllSubOcc(oSubCompOcc, _ sMsg, _ iLeafNodes, _ iSubAssemblies) End If Next End Sub
Bregs
Rossano Praderi
Thanks a lot it's perfect !
But i'm dont find help in my inventor, i have juste basicly help for vba.
Do you have an idea for install this or where are you find this ?
thank's a lot