FlowFraming User Manual
Introduction
FlowFraming is a Revit plugin that automatically generates code-compliant wood stud framing for walls and floor joist framing for slabs and floors. It is designed for residential and light-commercial architects, structural drafters, and BIM coordinators who need accurate framing assemblies directly inside Revit — with scheduling, cut lists, Excel exports, and dimensioned shop-drawing views — without leaving the modeling environment. The plugin adds a dedicated Wood Framing ribbon tab containing three panels: Wall Framing, Floor Framing, and Tools — the last holding the BOM export, type presets, and the assembly-view, annotation and clean-up commands.
Before You Start
Load a wood structural framing family into your project once per project: Insert > Load Autodesk Family > Structural Framing > Wood > Dimension Lumber. Any structural framing family works, but dimension-lumber families give true 2x sizes because they expose width and depth (b / h) type parameters.
To get meaningful assembly names, fill in each wall's Mark parameter — for example Wall A-01 — before framing.
Open a floor plan view before running the framing commands. Dimensions and tags land correctly there.
Getting Started
System Requirements
- ✓Autodesk® Revit® 2021–2025
- ✓Windows 10 or Windows 11 (64-bit)
- ✓Microsoft Excel (optional, required to open exported BOM files)
Installation
- 1Close Revit if it is currently open.
- 2Copy
WoodFraming.addinandWoodFraming.dllto%AppData%\Autodesk\Revit\Addins\<your Revit version>\— paste this path into File Explorer's address bar to navigate there directly. - 3Launch Revit and open any project.
- 4Confirm that the Wood Framing tab appears in the ribbon.
Concepts
Every time a wall or floor is framed, all generated members are grouped into a Revit Assembly linked to that element. Assemblies make it easy to schedule, tag, and manage framing as a unit — selecting the host element gives you access to its entire framing assembly.
A preset is a named snapshot of framing settings (spacing, member sizes, rim counts, etc.) saved per project. Presets can be mapped to specific Revit wall or floor types so the correct configuration loads automatically whenever you frame an element of that type, with no manual selection required.
When Auto-Update is enabled for a framed element, the plugin monitors that element for geometry and opening changes and re-frames it automatically. When Auto-Update is off, use the Update Framing or Update Floor Framing button to refresh framing after a change.
The plugin writes member size, role, and length data into each element's Comments parameter as framing is generated. This data can be exported at any time to an Excel workbook containing a detailed cut list and a rolled-up summary — no re-framing required.
Assemblies take their name from the host wall’s Mark parameter — a wall marked "Wall A-01" produces "Wall A-01 Framing". A wall with no Mark falls back to "{Wall type name} Framing 01", numbered sequentially, and duplicate names get a "(2)", "(3)" suffix automatically. Fill in the Mark before framing to get meaningful names.
Because every framed element is grouped into a Revit Assembly, the plugin can generate a full set of shop-drawing views directly from it — interior and exterior elevations, end elevations, a plan detail, two detail sections, a 3D view, a part list and a material takeoff — for walls and floors alike. Views are driven by reusable presets and land in the project browser; an assembly sheet is optional, so sheet layout stays under your control.
Every member the plugin places records its size and role in its Comments parameter, for example “2x4 King Stud”. That is what groups the framing for annotation: each member type gets its own dimension chain with its own style, anchor, side and offset, so a stud layout string, a plate height and an opening width never share a line. It is also what the labels and the BOM read, so leave the Comments alone.
Each annotation pass records exactly which dimensions and text notes it created on the view itself. Delete Dimensions and Delete Labels use that record to remove the plugin’s own work and leave anything you drew by hand untouched — and each leaves the other kind alone, so you can re-dimension without losing your tags.
Wall Framing Panel
- Select one or more walls in the model.
- Click Frame Wall.
- If a Type Preset is mapped to the wall's Revit type, framing generates immediately using that preset — no dialog appears.
- Otherwise, the Wall Settings dialog opens; configure options and click OK.
- If framing already exists on a selected wall, the plugin asks you to confirm replacement before proceeding.
- Click Preview & Frame — a summary reports how many studs, plates and headers will be placed and how many openings will be framed. Nothing is modified until you choose Yes.
- Optionally select walls in the model.
- Click Framing Configuration in the Wall Framing panel.
- Adjust settings as needed.
- Click Save to store the configuration as a named preset, or click OK to apply and close.
- If walls were selected, the new settings are applied to those walls immediately.
- Select one or more framed walls.
- Click Add Blocking.
- In the dialog, set the number of blocking rows and the spacing height.
- Click OK — blocking is inserted between studs at the specified heights.
- Blocking re-snaps to the nearest member automatically when the layout later changes.
- Select one or more framed walls that have blocking.
- Click Delete Blocking.
- Confirm the deletion — only blocking members are removed.
- Select one or more framed walls.
- Click Delete Framing.
- Confirm the deletion in the prompt.
- Modify wall geometry or openings in Revit as needed.
- Select the affected framed walls.
- Click Update Framing — the plugin re-frames using the previously saved settings.
- Select a framed wall.
- Click Shift Studs.
- Click one or more studs in the model to identify which stations to move.
- In the dialog, set the offset distance and choose a mode: Keep Original — the original stud stays and a shifted copy is added. Eliminate — the original stud is removed and replaced at the new position. Eliminate + Add Special — removes the original and places a shifted stud plus an additional "special" stud at a separately configured distance.
- Click OK to apply. Shifted members receive a Special comment in their Comments parameter.
- Select one or more framed walls.
- Click Flip O.C. Layout.
- The button label updates to display the new mode. Framing is regenerated immediately using the new origin.
Wall Settings Dialog
The following fields are available in the Wall Framing Configuration dialog:
Header Options Dialog
Click Header Options… in the Wall Settings dialog to customise the headers generated over doors, windows and openings.
Settings apply at three levels — the most specific wins:
- All openings (default) — the template applied to everything.
- Type — tick Override default on a type row to apply to every opening of that door or window type.
- Individual opening — override one specific door or window by its Id.
Floor Framing Panel
- Select one or more floors in the model.
- Click Frame Floor.
- If a Type Preset is mapped to the floor's Revit type, framing generates immediately with no dialog.
- Otherwise, the Floor Settings dialog opens; configure options and click OK.
- If framing already exists, the plugin asks you to confirm replacement.
- Optionally select floors in the model.
- Click Framing Configuration in the Floor Framing panel.
- Adjust settings and click Save to store as a preset, or OK to apply and close.
- Select one or more framed floors.
- Click Add Floor Blocking.
- Configure blocking spacing and row count in the dialog.
- Click OK — blocking is placed between joists at the specified intervals.
- Select one or more framed floors that have blocking.
- Click Delete Blocking in the Floor Framing panel.
- Confirm the deletion.
- Select one or more framed floors.
- Click Delete Floor Framing.
- Confirm the deletion in the prompt.
- Modify the floor boundary or openings in Revit.
- Select the affected framed floors.
- Click Update Floor Framing.
- Select a framed floor.
- Click Shift Joists.
- Click one or more joists in the model to identify which stations to move.
- In the dialog, set the offset distance and choose a mode (Keep Original / Eliminate / Eliminate + Add Special).
- Click OK to apply.
- Select one or more framed floors.
- Click Flip O.C. Layout.
- The button label updates and framing regenerates immediately with the new origin.
Floor Settings Dialog
The following fields are available in the Floor Framing Configuration dialog:
Tools Panel
Export BOM
Exports a complete cut list and summary of all framed members to a Microsoft Excel workbook (.xlsx).
Scope: If one or more framed walls or floors are selected before clicking, only those elements are exported. If nothing is selected, the entire model is included.
Output workbook contains two sheets:
- Cut List — rows grouped by element, then by member size and role, with length, quantity, and total lineal footage per group.
- Summary — all elements aggregated by member role, size, and length, with a grand total lineal footage at the bottom.
- Optionally select the framed walls or floors you want to include.
- Click Export BOM in the Tools panel.
- Choose a save location and filename in the file dialog.
- The file is saved and opens automatically in Excel.
Type Presets
Maps Revit wall or floor types to named framing presets. Once mapped, selecting an element of that type and clicking Frame Wall or Frame Floor loads the mapped preset and skips the configuration dialog entirely.
- Click Type Presets in the Tools panel.
- In the dialog, select a wall or floor type from the list on the left.
- Choose a saved preset from the dropdown on the right.
- Click Save to store the mapping.
- Repeat for additional types, then close the dialog.
%AppData% and persist across Revit sessions and projects.
Generate Assembly Views
Builds a full set of shop-drawing views for each selected framed wall or floor, straight from its framing assembly: interior and exterior elevations, both end elevations, a plan detail, two detail sections, a 3D orthographic view, a part list and a material takeoff. Each view is then dimensioned and labelled — one dimension chain per framing member type, and text-note labels whose content comes from any parameter you choose. Views land in the project browser; an assembly sheet is created only if you ask for one, so sheet composition stays under your control.
- Select one or more framed walls or floors. Elements that have not been framed are skipped automatically.
- Click Generate Assembly Views in the Tools panel.
- Pick a built-in preset (Detailed, Framing Only, Schematic or Views Only) or set the options by hand.
- Tick the views you want, choose which face the primary elevation looks at, and pick view templates and a title block if you use them.
- In the dimensions table, set each member type’s style, whether it measures from centres or faces, which side it sits on — or Close to element — and its offset.
- In the tags table, set each member type’s text style and the parameter its text comes from.
- Click Generate. A summary reports the views created and how many dimensions and labels were placed; expand Notes for anything that could not be done.
Built-in presets:
- Detailed — every member type dimensioned and labelled, plus overall sizes and openings.
- Framing Only — the structural members with their spacing and overall dimensions, lighter on component detail.
- Schematic — overall length and height only, for quick reference.
- Views Only (annotate later) — builds the views and leaves them clean, ready for Annotate Views.
%AppData%\WoodFraming\AssemblyViewPresets.json, so they follow you across projects just like Type Presets.Annotate Views
Adds dimensions and labels to assembly views that already exist — the companion to Generate Assembly Views. Use it to annotate views created with the Views Only preset, to add another set of chains and tags to finished views, or to re-annotate after changing your mind about sides and offsets.
- Open an assembly view to annotate just that view — or run the command from anywhere else and select the framed walls and floors whose assembly views should all be annotated.
- Click Annotate Views in the Tools panel.
- Set the dimension and tag options exactly as in Generate Assembly Views, then click Annotate.
Delete Dimensions & Labels
Two commands that clean up annotation this plugin placed. Delete Dimensions removes the dimension chains and keeps every label; Delete Labels removes the text notes and keeps every dimension. Each pass records what it created on the view, so both remove the plugin’s own work and leave anything you drew by hand alone.
- Open an assembly view to clean just that view, or run the command from anywhere else and select the framed walls and floors to clean.
- Click Delete Dimensions or Delete Labels in the Tools panel.
- Choose Delete only what this plugin created — recommended — or Delete every one in these views, which is the fallback for views annotated by an older build where no record exists.