Skip to content

Add Revit 2026 support (Dynamo 3.0, API compatibility)#125

Open
johnpierson wants to merge 2 commits intoksobon:masterfrom
johnpierson:revit2026_johnp
Open

Add Revit 2026 support (Dynamo 3.0, API compatibility)#125
johnpierson wants to merge 2 commits intoksobon:masterfrom
johnpierson:revit2026_johnp

Conversation

@johnpierson
Copy link
Contributor

@johnpierson johnpierson commented Feb 26, 2026

Summary

Adds a full Revit 2026 build of archi-lab using the existing 2024/2025 layout: a core Dynamo package project and a UI extension project, both targeting the Revit 2026 API and Dynamo 3.0.

What’s included

New projects

  • archilab2026 – Core package (net8.0-windows, Revit API 2026.0.0, shared code, Dynamo 3.0 refs). Includes - archilab2026_DynamoCustomization.xml and spell-check dict files; post-build copies into Dynamo Revit\3.0\packages\archi-lab.net.
  • archilabUI2026 – UI extension for Revit 2026, references archilab2026, same package output path.

Solution and shared projects

  • Both projects added to archilab.sln with Debug/Release configs.
  • archilabSharedProject and archilabUISharedProject wired up for the 2026 projects via the solution’s shared project references.

Revit 2026 API compatibility (shared code)

2026 removes ElementId.IntegerValue and changes string filter rule overloads. Updates are behind #if Revit2026 / GetIdValue() so 2019–2025 behavior is unchanged.

  • New: archilabSharedProject/Revit/Utils/ElementIdExtensions.cs
    • GetIdValue(this ElementId id) – uses Value when Revit2026 is defined, otherwise IntegerValue.
  • Shared project: All ElementId usages that affect 2026 now go through GetIdValue() (Views, Elements, Categories, OverrideGraphicSettings, Room, RoomTags, ViewTemplates, Warnings), with using archilab.Revit.Utils where needed.
  • FilterRule.cs: #if Revit2026 branches for string/comparison rules so 2026’s 2-argument overloads (no case-sensitivity flag) are used.
  • archilabUISharedProject: UtilitiesUI.cs updated to use GetIdValue() instead of IntegerValue so UI builds for 2026.
    archilab2026 also sets UseWPF so shared code that references System.Windows.Media/Shapes (e.g. FamilyInstances) compiles.

nodes visible!!

image

Disclaimer

This contribution is provided as-is and in the personal capacity of the contributor. It is not endorsed by, affiliated with, or made on behalf of any employer or other organization. There are no warranties or guarantees of any kind; use and integration of this PR are at your own risk.

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.

1 participant