If your goal is to create a Revit template from scratch and understand how system families (walls, floors, etc.) are structured, the best starting point is not a single “family,” but rather a clean project template (.rte) with the key system family types already defined.
Unlike loadable families (like furniture or doors), walls, floors, columns, and foundations are system families, meaning they’re built directly inside the project environment — you can’t open them as .rfa files. To study how they work:
Start from the “DefaultMetric.rte” (or “DefaultImperial.rte”) template that comes with Revit.
Create new wall types from Manage > Object Styles > Wall Types, and explore the Structure section — that’s where layers, materials, and functions are defined.
Duplicate and edit existing types to see how Revit handles core layers, wrapping, and materials.
If you want to automate or “program” them, you can use Dynamo or the Revit API to generate types or apply parameters across elements automatically.
For example, in the API you can access wall types via FilteredElementCollector(doc).OfClass(WallType) and edit their compound structures or material assignments programmatically.
In short:
System families are edited within the project (not standalone .rfa files).
Start from a clean .rte and experiment by duplicating and editing.
Use Dynamo or API scripts to scale or automate the logic once you understand the structure.