This Assistant extension helps you copy parameter values from Rooms in a linked Revit model into Spaces in your current MEP/Revit model.
Typical use: you have an architectural model with Rooms and an MEP model with Spaces. This tool maps each Space to the correct Room and copies selected parameters (for example, room name/number/department) so your MEP model stays in sync with the architects data.
The extension runs inside Revit as an Assistant task and works on the active document.
When you add this extension as a task in Assistant, you will see the following input fields. They correspond to the CopyParameterFromRoomToSpaceArgs configuration.
-
Link Name
- What it is: The name of the linked Revit model where the Rooms come from (typically the architectural model).
- How to fill it: Enter the link name as it appears in Revits Manage Manage Links dialog, without worrying about the
.rvt file extension (the tool ignores .rvt when matching).
- Effect: The extension uses this link to find Rooms to map to the Spaces in your active model.
- Required: Yes. If this is empty or incorrect, the extension will fail with Link Name is required or Can't find linked document
-
Copy Parameter
- What it is: A list of parameter mappings that controls which Room parameters are copied into which Space parameters.
- Format: A dictionary (keyvalue pairs). In the UI this typically appears as a mapping table:
- Key: Space parameter name (destination in your active model).
- Value: Room parameter name (source in the linked model).
- Example mappings:
Space.Room Name 9 Room.Name
Space.Room Number 9 Room.Number
Space.Department 9 Room.Department
- Effect: For each Space, the extension looks up the corresponding Room and copies the specified Room parameter values into the mapped Space parameters.
- Notes:
- Only the values of this mapping are used to build the internal copy list. Make sure the Room parameter names you enter match exactly the names in the linked model.
- If a parameter name is misspelled or does not exist, the copy for that mapping will not work as expected and may result in warnings.
-
Phase Mapping
- What it is: A mapping between phases in your current model and phases in the linked model.
- Format: A dictionary:
- Key: Phase name in the current (active) document.
- Value: Corresponding phase name in the linked document.
- Default behaviour without mapping:
- The extension first tries to match phases by identical name between current and linked documents.
- When to use:
- Use this when the phase names differ between your MEP model and the architectural model (for example,
Existing vs EXISTING, or local language differences).
- Effect:
- Ensures that Spaces in a given phase are matched to Rooms in the correct phase in the linked model.
- Failure case:
- If a phase in the current model cannot be matched by name and is not found in
Phase Mapping, the extension will stop with a detailed error listing all phases in both models so you can correct the mapping.
-
Z Offset from Space (mm)
- What it is: A vertical search offset (in millimetres) used when finding the Room that corresponds to each Space.
- Units: Millimetres (mm).
- Default value:
10 mm.
- Why it exists: In some situations, Rooms and Spaces may not align perfectly in height (for example, overlapping Rooms from levels below, or minor vertical differences between link and host).
This offset lets the tool look slightly above or below the Spaces elevation to find the correct Room.
- How to use:
- If you have overlapping Rooms from a level below, increase this value to shift the search volume upwards.
- If Spaces and Rooms align well, the default 10 mm is usually sufficient.
- Effect:
- Internally the value is converted from millimetres to Revit feet. A larger value increases the tolerated vertical mismatch between Space and Room.
At a high level, the extension:
- Uses the active Revit document as the target model where Spaces live.
- Uses the configured Link Name to find the architectural (or other) linked model containing Rooms.
- Builds a space-to-room mapping using the
SpaceMappingOptions (including transform, phases, and vertical offset).
- For each Space, identifies the matching Room in the linked model based on position, transform, phase, and vertical offset.
- Copies the selected Room parameter values into the target Space parameters.
- Runs everything inside a Revit transaction named
Copy Parameter From Room To Space.
- Returns a text result listing the number of warnings and any details (for example, missing matches or parameters).
Behind the scenes:
- It checks that:
- There is an active document.
- The link specified in Link Name exists and is loaded.
- It computes the correct geometric relationship between your model and the linked model using the links transform.
- It converts the Z Offset from millimetres to Revit feet (
OffsetZ / 304.8).
- It prepares a phase map between your model and the link, using both name matching and any explicit
Phase Mapping you configured.
- It calls internal helpers (
SpaceHandler.CreateSpaceMapping and SpaceHandler.CopySpaceData) to:
- Create a mapping between Spaces and Rooms.
- Copy the parameters defined by
Copy Parameter.
At the end, the extension reports:
- How many warnings were found.
- A list of warning messages, one per line.
-
Prepare Your Models
- Open your MEP (or host) model where Spaces are defined.
- Ensure the architectural model (with Rooms) is linked into your host model using Manage Manage Links.
- Confirm:
- Spaces exist and are placed correctly.
- Rooms exist in the linked model and are in appropriate phases.
- Both models have consistent levels and coordinates, or proper transforms applied.
-
Configure the Extension in Assistant
- In Assistant, add the Copy Parameter From Room To Space extension as a task in your workflow.
- Set Link Name:
- Enter the name of the linked Revit model as it appears in Revit (file extension is optional).
- Define Copy Parameter mappings:
- For each parameter you want to copy from Room to Space, add a mapping:
- Source: Room parameter name in the linked model.
- Destination: Space parameter name in your current model.
- Examples:
Space.Room Name 9 Name
Space.Room Number 9 Number
Space.Department 9 Department
- Configure Phase Mapping (if needed):
- If your current model and the linked model use different phase names, add mappings:
- For each phase in your model, set the phase name used in the linked model.
- Example:
- Set Z Offset from Space (mm):
- Leave at 10 mm in most cases.
- Increase slightly if Rooms and Spaces dont line up vertically (for example, multi-level or sloped floors).
-
Run the Task
- Make sure the desired view and active document are set in Revit (the active document is the one the extension uses).
- Start the Assistant workflow that includes this extension.
- Wait for the task to complete; the execution time depends on the number of Spaces and Rooms.
-
Verify the Results
- Inspect a few Spaces in your model:
- Check that their configured target parameters (for example,
Room Name, Room Number, Department) are now filled in.
- Confirm that the values match the corresponding Rooms in the linked model.
- Review the result message from the task:
- It shows how many warnings were generated and lists them line by line.
- Investigate any unexpected warnings (for example, missing phase mappings or unmatched Rooms).
- Causes:
- Revit has no document open.
- A dialog or mode is active that prevents access to the active document.
- Solution:
- Ensure a model is open and active in Revit.
- Close any open dialogs, sketch modes, or editing commands.
- Re-run the Assistant workflow.
- Resources:
- Internal company Revit usage guidelines.
- Revit documentation on managing views and active documents.
- Causes:
Link Name was left empty in the configuration.
- The link name you entered does not match any Revit link.
- The linked model is unloaded or removed.
- Solution:
- Open Manage Manage Links in Revit.
- Check the exact link name used for the architectural model.
- Copy that name into the Link Name field in the extension configuration (ignore
.rvt if present).
- Ensure the linked document is loaded.
- Resources:
- Revit help for Managing Links.
- Internal BIM execution plan specifying naming conventions for links.
- Causes:
- A phase in your current model does not exist in the linked model.
- Phase names differ between the two models (language, capitalization, or spelling).
Phase Mapping has not been configured for this phase.
- Solution:
- Read the error message carefully; it lists:
- The phase in your current model that caused the problem.
- All phase names in the current document.
- All phase names in the linked document.
- Compare names and decide which phases correspond.
- Add or correct entries in Phase Mapping:
- Key: your current models phase name.
- Value: linked models equivalent phase name.
- Save the configuration and run the task again.
- Resources:
- Revit documentation on Phasing.
- Internal modelling standards for phase naming.
-
Causes:
- No matching Room found for a Space (location, phase, or offset issues).
- Parameter names in Copy Parameter do not match exactly the Room or Space parameters.
- Incorrect Z offset leading to wrong Room selection or no Room found.
-
Solution:
- Verify that each Space lies inside a Room in the linked model (check both 2D and 3D).
- Double-check parameter names in
Copy Parameter:
- Use the Revit Properties panel or Schedule to confirm exact parameter names (including capitalization and spaces).
- Try adjusting Z Offset from Space:
- Increase slightly if Rooms are slightly above or below Spaces.
- Re-run the extension and review the warning messages for hints.
-
Resources:
- Revit scheduling tools to inspect Room and Space parameters.
- Internal modelling best practices for Room/Space coordination.
-
Q: When should I use this extension?
- A: Use it whenever your MEP model needs to mirror information from Rooms in an architectural (or other) linked model into Spaces. Typical triggers:
- Before coordination reviews.
- Before quantity take-offs and reporting.
- After receiving a new version of the architectural model where Rooms have changed.
-
Q: Does the extension modify the linked model?
- A: No. The extension only reads data from the linked model and writes to your current document (Spaces). The linked file remains unchanged.
-
Q: How does phase handling work?
- A: The tool matches phases by:
- Trying to find a phase in the linked document with the same name as the phase in your current document.
- If that fails, it checks Phase Mapping to find a user-defined mapping.
- If still no match is found, it stops with a detailed error so you can correct the phase mapping.
-
Q: What units should I use for the Z offset?
- A: Always enter millimetres. The tool converts this internally to Revit feet. For most projects, the default 10 mm is sufficient.
-
Q: Is this extension specific to Revit?
- A: Yes. It is a Revit extension (implements
IRevitExtension) and requires Revit with an active document and linked models.