Skip to content

Conversation

@jonatanjacobsson
Copy link
Contributor

Add a Clash Explorer tool to PyRevit for visualizing and interacting with external clash detection results in Revit.

This PR introduces a comprehensive Clash Explorer that integrates with external clash detection APIs. It allows users to load clash tests and groups, filter and group results by Revit categories and levels, and visually highlight clashing elements in dedicated 3D views within Revit, significantly improving coordination workflows.


Open in Cursor Open in Web

@cursor
Copy link

cursor bot commented Oct 4, 2025

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

cursoragent and others added 2 commits October 4, 2025 10:26
This commit updates the Clash Explorer to fully support the ifcclash data format from IfcOpenShell. It includes changes to the API client, utility functions, UI, and documentation to align with the new format. Key improvements include:

- **IfcClash Format Support**: The tool now directly consumes ifcclash JSON, including `ClashSet` and `ClashResult` structures.
- **Field Name Updates**: Field names like `guid_a` have been updated to `a_global_id` to match the ifcclash standard.
- **Automatic Grouping**: Clashes are now automatically grouped by category pairs, providing a more organized view.
- **Revit Metadata Fallback**: When Revit elements are not found, the tool gracefully falls back to using IFC class names (`a_ifc_class`, `b_ifc_class`).
- **UI and Workflow Adjustments**: The UI has been updated to reflect the new terminology ("Clash Sets" instead of "Clash Tests") and workflow.
- **Enhanced Documentation**: New documentation files (`IFCCLASH_DATA_STRUCTURE.md`, `IFCCLASH_INTEGRATION_COMPLETE.md`) have been added to detail the ifcclash format and integration.
- **DRY Principles**: The code continues to adhere to DRY principles, ensuring maintainability and reducing duplication.

These changes ensure better compatibility with open-source clash detection tools and provide a more robust and user-friendly experience.

Co-authored-by: jonatan.jacobsson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants