You want to get the iProperties of a particular component? Or multiple Components?
AssemblyComponentDefinition (acd for short) is the core dataset of all that stuff you see in the model browser.
This core data then breaks down each item as a ComponentOccurrence (co for short) from the acd.Occurrences collection property.
The .Occurrences is a collection of ComponentOccurrence objects.
Each ComponentOccurrence object is the equivalent of a single inserted part or assembly.
ComponentOccurrence objects have reference to the Definition of that occurrence.
Definition for a part will be a PartComponentDefinition, for an assembly as you see above, an AssemblyComponentDefinition.
From the ComponentDefinition (cd for short), you can get the iProperties. VB.Net requires you to get an iProperty (or just property) from the cd.PropertySets(propertyset name or index).Properties(property name or index)
iLogic code has a shortcut using iProperties.Value("part1:1", "Project", "Part Number") aka (ComponentOrDocName, PropertySetName, PropertyName)
ComponentOccurrences have a .Name property to help with the first value,
a PropertySet is generally the same as a single tab on the iProperties window, but the name differ a bit (look up the api reference in the help file for a complete list).
A property is generally the same name as the text beside the line on the iProperty window.
So to iterate them all you would (pseudo code):
dim invApp as Inventor.Application = ThisApplication '(for iLogic and VBA, but not VB.Net)
dim asmDoc as AssemblyDocument = invApp.ActiveDocument '(assuming the assembly file is the active file)
Dim acd as AssemblyComponentDefinition = asmDoc.Definition '(your first question of what is this variable)
for each co as component occurrence in acd.Occurrences
dim propValue as object = nothing
propValue = iProperties.Value(co.Name,"PropSetName","PropName")
'do something with your propValue
next
Now notice I said data core. The above method references the underlying structure. However you could also iterate the user interface browser structure. You can get the occurrences from the browser tree nodes.
Dim bPane As BrowserPane = asmDoc.BrowserPanes("Model")
Dim nTop As BrowserNode = bPane.TopNode
Each browser node has a .NativeObject property, and can be of the type ComponentOccurrence, or BrowserFolder.
They all have a property .BrowserNodes that you would iterate looking for the .Name to find your desired folder.
Then use the .NativeObject to get the ComponentOccurrence and proceed from there.
Jamie Johnson : Owner / Sisu Lissom, LLC https://sisulissom.com/