How Revit Represents Building Enclosure Elements
Walls, floors, and roofs in Revit are compound system families — each element is not a single homogeneous solid but a stack of material layers that collectively define the building assembly. This layer-based architecture is what allows Revit to produce accurate material schedules, area reports, thermal performance calculations, and construction specifications from the same model elements that generate the drawings.
Understanding how to create and manage these assemblies — rather than just placing walls and hoping for the best — is what separates a production-quality BIM model from a 3D sketch.
Wall Types and the Assembly Editor
System Wall Types
Revit ships with wall types that correspond to common construction assemblies. The naming convention in the default template is descriptive: Exterior - Brick on CMU, Interior - 4 7/8" Partition (1-hr), Generic - 12". The Generic types are placeholders — fine for early schematic work but they should be replaced with real assembly types before design development.
The primary wall categories you will encounter are:
- Basic Wall: A compound layer assembly — brick veneer, cavity, CMU backup, gypsum board finish. The most common type for exterior and interior partition walls.
- Curtain Wall: A grid-based glazing system with mullions and panel families. Treated fundamentally differently from Basic Walls — see below.
- Stacked Wall: Two or more wall types stacked vertically, used to represent buildings where the cladding material changes at different heights.
The Wall Assembly Editor
To edit a wall's layer structure, select any instance of that wall type, click Edit Type in the Properties Palette, then click Edit next to the Structure parameter. This opens the Edit Assembly dialog, where you see the layer stack from exterior to interior.
Each layer has four properties:
- Function: The role of the layer — Finish 1, Finish 2, Substrate, Membrane, Core Boundary, or Structure. The Function classification controls how Revit handles the layer in certain operations (for example, only the core layers participate in wall joins by default).
- Material: The assigned material, which carries rendering appearance, physical properties (density, thermal conductivity), and identity data used in schedules and specifications.
- Thickness: The physical thickness of the layer in the project units.
- Wraps: Whether the layer wraps around wall ends at openings. Finish layers typically wrap; structural layers do not.
Layer Function Codes
The Function classification is not just organizational — it has functional consequences in Revit:
- Structure [1]: The primary load-bearing or space-defining layer (CMU, steel stud framing with insulation). Walls join core-to-core by default.
- Substrate [2]: Secondary layer applied to the structure (sheathing, gypsum board substrate).
- Thermal/Air Layer [3]: Air gaps and insulation blankets.
- Finish 1 [4] and Finish 2 [5]: Cladding and final surface materials. Higher numbers are closer to the exterior.
- Membrane Layer: Zero-thickness membranes (vapor barrier, waterproofing membrane). Must be assigned as zero-thickness in the layer.
Location Lines: Where the Wall Is Placed Relative to Your Cursor
The Location Line setting in wall properties is critical and often misunderstood. When you click to place a wall in Revit, the software needs to know which face of the wall your cursor is defining. The Location Line options are:
- Wall Centerline: The cursor traces the centerline of the total wall thickness.
- Core Centerline: The cursor traces the centerline of the core layers only (excluding finish layers).
- Finish Face Exterior / Interior: The cursor traces the outer or inner finish face.
- Core Face Exterior / Interior: The cursor traces the face of the core layers.
For exterior walls, use Finish Face Exterior when the architect needs to control the building face line. For interior partitions, use Wall Centerline when placing to room centerlines. For structural concrete walls, use Core Face to match structural drawings. The Location Line can be changed after placement without moving the wall — Revit swaps which face stays in place.
Edit Profile: Custom Wall Shapes
By default, walls in Revit are rectangular prisms — constant cross-section from the base constraint to the top constraint. Edit Profile lets you modify the wall's top and bottom silhouette to any shape you need for sloped terrain, irregular floor plates, or articulated facades.
Select the wall, and in the Modify | Walls contextual tab click Edit Profile. Revit switches to sketch mode and shows the wall's current boundary as a magenta loop. You can:
- Delete the top horizontal line and replace it with a sloped line for a wall on a hillside.
- Cut a triangular or arched notch out of the top for a parapet with a clerestory.
- Draw stepped profiles for walls that follow stair flights.
The sketch must remain a closed loop. Constraints to levels still apply — the Profile overrides only the shape, not the constraint logic. Edit Profile is also the mechanism for placing doors and windows in curtain walls, and for shaping gable end walls to match roofline geometry.
Curtain Walls
Curtain Walls in Revit are a separate family category from Basic Walls. They consist of a curtain grid (the horizontal and vertical divisions), mullions (the profiles assigned to grid lines), and panels (the infill elements in each grid cell — glazing panels, solid spandrel panels, or doors).
Key curtain wall parameters in Type Properties:
- Automatically Embed: Whether a curtain wall placed in front of a basic wall automatically cuts through it. Enable this for storefront systems.
- Curtain Panel: The default panel type for all cells.
- Join Condition: Whether vertical or horizontal mullions take priority at intersections.
- Grid Layout and Grid Angle: Fixed distance, maximum spacing, or none (manual grid placement).
For complex curtain wall geometry, use Curtain Systems by Face applied to massing faces — this enables double-curved and non-planar glazing that cannot be modeled as a straight wall element.
Materials: The Engine Behind Rendering, Analysis, and Schedules
Every layer in a wall assembly references a Material, and Revit materials carry three parallel sets of data that serve different purposes:
- Graphics: Surface pattern, cut pattern, and color — how the material appears in plan, section, and elevation views.
- Appearance: The rendering appearance asset — linked to Autodesk Material Library, which contains photorealistic textures and physical material definitions for the Revit rendering engine and Enscape/Lumion/V-Ray.
- Physical and Thermal Properties: Density, thermal conductivity (k-value), specific heat — used by energy analysis tools (Revit's built-in energy analysis, Insight, EnergyPlus export).
- Identity: Manufacturer, model, cost, description, URL — data that populates material schedules and specifications.
A common BIM workflow mistake is to leave materials at Revit's generic defaults for all assemblies, then complain that the material schedule is useless. Assign real materials from the project's specification sections from the start of design development — the investment pays dividends in every downstream use of the model.
Floor Modeling: Boundary Sketch and Openings
Floors in Revit are created by sketching a closed boundary in plan view. Go to Architecture > Floor > Floor: Architectural, sketch the boundary following the interior face of the walls (or the outer face, depending on your office's floor area calculation standard), and click the green checkmark to complete the sketch.
Floor layer assemblies work the same as wall assemblies — the Edit Assembly dialog shows the layer stack from top to bottom, with Function, Material, and Thickness for each layer.
For floor openings (stair openings, elevator shafts, service shafts), you have three approaches:
- Sketch with void: While sketching the floor boundary, draw a closed inner loop representing the opening. Revit will exclude that region from the floor slab.
- Edit Boundary: Select an existing floor and use Modify | Floors > Edit Boundary to add inner loop voids.
- Shaft Opening: Architecture > Opening > Shaft Opening. A shaft cuts through floors, roofs, and ceilings on all levels it spans — ideal for elevator shafts and stairwells that need to cut the same footprint on multiple levels simultaneously. Shafts are parametric — change the shaft boundary and all cuts update.
For variable-elevation floors (a ramp, a sloped parking garage floor), modify the floor's sub-elements using Modify > Shape Editing tools to add split lines and adjust point elevations.
Roof Modeling: Three Creation Methods
Revit offers three ways to create roofs, each suited to different situations:
Roof by Footprint
The most common method. Go to Architecture > Roof > Roof: Roof by Footprint, sketch the roof boundary at the top plate level, and Revit extrudes it upward to create the roof form. Each edge of the sketch can be set as a slope-defining edge with a specific pitch (slope). Revit calculates the ridge, hip, valley, and gable geometry automatically from the footprint sketch and slope settings.
This method works for any conventionally pitched roof — gable, hip, cross-hip, Dutch hip. For flat and low-slope membrane roofs, set the slope to 0 and apply slope modifiers to the sub-elements.
Roof by Extrusion
Used for barrel vault roofs, shed roofs, and any roof whose cross-sectional profile is constant along one axis. Go to Architecture > Roof > Roof: Roof by Extrusion, set a reference plane and elevation for the profile, sketch the roof profile (the cross-section), and then set the extrusion start and end points. The roof sweeps the profile along the extrusion axis.
Extrusion roofs do not automatically join to walls — you must use Join Roof (Modify > Geometry > Join/Unjoin Roof) or Edit Profile on the walls to trim them to the roofline.
Roof by Face / Massing
For complex curvilinear or multi-faceted roofs that cannot be described by a 2D footprint or a single profile, use conceptual massing first. Create the roof form as a massing solid in the in-place mass tool or a loadable mass family, then apply Roof by Face: Architecture > Roof > Roof: Roof by Face, pick the massing faces, and Revit creates a roof element with the correct assembly that follows the massing surface. This is the approach for parametrically designed facades, free-form canopies, and stadiums.
Join Geometry and Cut Geometry
When two solid elements overlap in Revit — a wall intersecting a floor slab, a column penetrating a floor — you must explicitly manage how they interact:
- Join Geometry (Modify > Geometry > Join): Merges two overlapping solids, removing the duplicate volume and creating a clean intersection. Use this for wall-to-floor joins, beam-to-column connections, and anywhere two elements of compatible categories overlap. Join Geometry respects material layer priorities — the higher-priority material takes precedence at the join.
- Cut Geometry (Modify > Geometry > Cut): Forces one element to cut a void through another — used when a loadable family (a penetration sleeve, an anchor bolt) needs to cut through a host element. More common in structural and MEP families than in architectural modeling.
Creating Custom Type Families From Duplicates
The correct workflow for creating a new wall, floor, or roof type is always to duplicate an existing type, never to modify the existing type directly. Modifying in place changes every element of that type in the project; duplicating creates a new type that only applies to elements you explicitly assign it to.
- Select any element of the type you want to base the new type on.
- Click Edit Type in the Properties Palette.
- Click Duplicate and give the new type a descriptive name following the firm's naming convention (e.g.,
EXT-01 - Brick Veneer / R-19 Batt / 8" CMU / 5/8" GWB). - Edit the assembly layers, materials, and thicknesses for the new type.
- Click OK. The new type is now available in the type selector and can be applied to elements.
For fire-rated assemblies, add a Fire Rating parameter to the type properties (it is a built-in parameter in Revit's wall categories). Set the value to "1-HR," "2-HR," etc. This value can be scheduled in a Wall Schedule to confirm all fire-rated locations are correctly assigned, and it can drive keynotes and specification sections through parameter-based filters.