The DRofus Occurrence Sync extension for Revit enables users to synchronize data bidirectionally between their Revit model and the dRofus platform. This extension supports flexible mapping and updating of dRofus occurrence data directly within the Revit environment, using either a specific occurrence parameter or an attribute configuration.
New in Version 0.4.0: The extension now supports bidirectional synchronization, allowing you to update dRofus data from Revit as well as updating Revit from dRofus data.
- Elements: Define a filter to select the Revit elements to synchronize with dRofus data.
- Attribute Configuration: Select the attribute configuration to use. The extension will automatically sync properties based on their configured direction:
- Properties configured to sync TO Revit will update Revit parameters from dRofus
- Properties configured to sync TO dRofus will update dRofus from Revit parameters
- Occurrence Parameter: Select the Revit parameter that contains the dRofus Occurrence Id. This parameter is used to match Revit elements with dRofus occurrences. If not specified, the key in Attribute Configuration will be used.
- Properties: Define additional attribute mappings between dRofus and Revit. The key should match the dRofus attribute name, and the value should match the Revit parameter name. If the Revit parameter is not found, it will be ignored.
| Key (dRofus Parameter ID) |
Value (Revit Parameter Name) |
| classification_number |
Mark |
| comment |
Comments |
A dRofus database has built-in parameters as shown in the following table. You can also define project-specific properties. To get a list of all possible values, use the Report and Power Query feature in dRofus. Read more here: dRofus Wiki - Power Query
| dRofus Parameter ID |
Comment |
| id* |
General: ID |
| addition_order_quantity |
General: Quantity - Addition order |
| agreement_quantity |
General: Quantity - Agreement |
| agreement_quantity_option |
General: Quantity - Agreement - Option |
| article_id |
General: Item ID |
| article_sub_article_id |
General: Sub Item ID |
| category_id |
General: Category ID |
| classification_number |
General: Number |
| comment |
General: Comment |
| equipment_list_type_id |
General: Item List Type ID |
| existing_quantity |
General: Existing quantity |
| net_quantity |
General: Net Quantity |
| occurrence_name |
General: Name |
| ordered_quantity |
General: Quantity - Order |
| product_id |
General: Product id |
| quantity |
General: Quantity |
| received_quantity |
General: Quantity - Delivery |
| room_id |
General: Room ID |
| run_no |
General: Serial Number |
| tender_quantity |
General: Quantity - Tender |
| tender_quantity_option |
General: Quantity - Tender - Option |
| to_tender |
General: In Tender |
- The extension synchronizes occurrence data bidirectionally between Revit and dRofus, ensuring consistency.
- How to Use:
- Configure the extension by selecting elements, attribute configuration (recommended), and optionally an occurrence parameter and/or additional properties.
- Run the extension using the Assistant.
- View synchronization results showing which properties were updated in each direction.
- If an Attribute Configuration is specified, properties are automatically synced based on their configured direction:
- FROM dRofus TO Revit: Properties configured with "To External Application" direction will update Revit parameters with values from dRofus.
- FROM Revit TO dRofus: Properties configured with "To dRofus" direction will update dRofus occurrences with values from Revit parameters.
- Both directions can be processed in a single synchronization run.
- If an Occurrence Parameter is specified, it is used to match Revit elements with dRofus occurrences. If not specified, the key from the Attribute Configuration will be used.
- Additional Properties can be specified to map extra attributes between dRofus and Revit.
- The extension only updates values that have changed, improving performance and reducing unnecessary updates.
- Results are grouped by direction and status (updated, failed, or unchanged) with detailed reporting showing:
- Which elements were processed
- The direction of synchronization for each property
- Updated values for each property
- Any errors that occurred during synchronization
After running the extension, you will see a detailed report showing:
- Total items processed: The number of occurrences that were synchronized
- Updated items: Grouped by direction showing:
- FROM dRofus TO Revit: Properties that were updated in Revit from dRofus data
- FROM Revit TO dRofus: Properties that were updated in dRofus from Revit data
- Failed items: Any occurrences that failed to synchronize, with error messages
- Unchanged items: The count of occurrences where no updates were needed
- Cause: No elements selected.
- Solution: Define a filter to select the Revit elements to synchronize.
- Cause: Occurrence parameter or attribute configuration not defined.
- Solution: Specify either the occurrence parameter or a valid attribute configuration.
- Cause: No shared parameters found for the occurrence parameter.
- Solution: Ensure the specified parameter exists in the Revit project.
- Cause: No occurrence options to use.
- Solution: Specify a valid attribute configuration or properties with appropriate sync directions.
- Cause: Synchronization fails when updating dRofus.
- Solution: Verify that you have write permissions in dRofus and that the dRofus server is accessible. Check that the parameter values in Revit are valid for the corresponding dRofus fields.
- Cause: Properties not syncing in expected direction.
- Solution: Check the attribute configuration in dRofus to ensure properties are configured with the correct direction (To External Application or To dRofus).
-
Q: How can I find the occurrence parameter in Revit?
- A: Open the Revit project, go to dRofus Attribute Configuration, and look for the occurrence id parameter.
-
Q: What should I do if synchronization fails for some items?
- A: Check the synchronization results for error messages. Ensure that the specified attribute configurations and properties are valid and that the dRofus server is accessible.
-
Q: Can I sync data in both directions at the same time?
- A: Yes! Version 0.4.0 supports bidirectional synchronization. Configure your attribute configuration with properties set to sync in both directions, and the extension will handle both in a single run.
-
Q: How do I control which direction data syncs?
- A: The sync direction is controlled by the attribute configuration in dRofus. Set properties to "To External Application" to sync FROM dRofus TO Revit, or "To dRofus" to sync FROM Revit TO dRofus.
-
Q: Will the extension overwrite data?
- A: The extension only updates values that are different between Revit and dRofus. If values are already synchronized, no changes are made.
-
Version 0.1.0 - 24.05.2023
- Initial release: Sync occurrence data between Revit and dRofus.
-
Version 0.2.0 - 27.11.2023
- Enhancement: Upgrade to new Extension format
-
Version 0.3.0 - 30.07.2025
- Enhancement: Improved configuration flexibility. Now supports both occurrence parameter and attribute configuration for mapping.
- Added support for specifying additional property mappings.
- Improved error handling and result reporting.
-
Version 0.4.0
- Major Feature: Bidirectional Synchronization - Extension now supports syncing data FROM Revit TO dRofus in addition to the existing FROM dRofus TO Revit capability.
- Unified synchronization engine that handles both directions automatically based on attribute configuration settings.
- Enhanced result reporting that clearly indicates which properties were synchronized in each direction.
- Improved performance with intelligent change detection - only updates values that have actually changed.
- Added comprehensive integration tests for both sync directions.
- Refined error handling for bidirectional operations.
-
Version 0.4.1 - [Current Release]
- Enhancement: Configuration Priority Reordering - Attribute Configuration is now processed first, followed by Occurrence Parameter, improving clarity and consistency.
- Updated configuration logic to prioritize attribute configuration settings.
- Improved code maintainability and readability.