The first thing I built was to help inspect elements and see how they are built.
I like these types of tools because you will see that 2 objects that you thought were completely different are actually composed of some of the same objects and to help see why objects act the way they do.
Since revit is sh**ty and it will be looking at sh*t I called it
PooperSnooper - PooperSnooper - inspecting elements in host model
- PooperSnooperLink - inspecting elements in a linked model.
The forms looked really good in my imagination but really bad in reality.
So I will make forms looks better
The left side starts with Revits base object then shows the next derived class properties, etc.. until you reach the type you selected.
The right side are the parameters in its parameters set.
What you will see is everything you select in UI is a FamilyInstance.
If the property is bold you can click on it to open another form with that objects information.
Here is FamilySymbol from above
If you clicked its Family property above you will see how the Family object is related to what a family template file is.
The family class also has a FamilySymbolSet property which is a collection FamilySymbols that are the different family types you create.
The FamilySymbol object is related to the family file created from template, and a FamilyInstance object is related to a instance of a family.
This is what you see for loadable familes, vs a system family like a wall or floor.
Here is short video using it
PooperSnoop