Invalid model geometry references

Is there a way to traceback the invalidity reference numbers to actual model element IDs in the Revit API for all users?
for example, this error code:
"Validating Model using dragonfly-core==1.34.4 and dragonfly-schema==1.6.72
Re-serialization passed.
Geometry and identifier checks completed.

Your Model is invalid for the following reasons:
The following Stories have missing adjacencies in the Model:
Room2D “Room_8ac5702b-832d-4b0a-a8ff-fb8d3c40703c-00248ca7” does not have a Surface boundary condition at “Room_8ac5702b-832d-4b0a-a8ff-fb8d3c40703c-00248ca7…Face8” but its adjacent object does."

@moelsayed for most of the elements like Room2D you can use the GUID to track down the element in Revit. In your example: Room_8ac5702b-832d-4b0a-a8ff-fb8d3c40703c-00248ca7 means that it’s a Room object with a UniqueId of 8ac5702b-832d-4b0a-a8ff-fb8d3c40703c-00248ca7. In Revit UI itself you cannot select that Room by its UniqueId, but you can do that from Dynamo:

Once you select that element you will be able to get its Id property. In the image above its 323395 which then can be used here:

Hope it helps!


1 Like

Thanks @ksobon ! I had figured it out using Dynamo as a means into the deep revit API, I was hoping there would be an easier way for the unseasoned users, maybe for future additions? That would be neat! but thanks a lot!

1 Like

Yeah, it would really be easy to code that up as a tool. I am always surprised that UniqueIds don’t work with the standard Revit button. It’s a mystery to me.

@mostapha new feature?


We can but we should probably do it next month and after the AEC workshops. We have the whole infrastructure built for this and we already implemented it in Rhino validation. The validator now has an option to return a JSON object that you can use to create a table (or re-use the one from Rhino) and then the user can click on the button to select the room.

@mingbo is the right person to help with the implementation details. I believe you can use the UI directly in Revit and change the actions for the buttons.

1 Like

Yes, it is already in Honeybee.UI library. Dialog_Error is what you looking for.

And here is an example, please let me know when you try to work on this and have any questions.

// show report
                    var dialog = Honeybee.UI.Dialog_Error.Instance;
                    dialog.Update(report, ShowErrorGeometry, ReValidate);
1 Like