"Solibri" for Speckle | Define Rulesets with SpecklePy

Hi, my background is in Computer Science and one year ago I started working in the AEC industry.
That said, as you know, in Computer Science you always run tests in the cloud after a push.

However, in the AEC industry a BIM Manager runs rule based tests on IFC models for example with Solibri. So after the planner delivers a IFC model to the BIM Manager, one only get pack the results at the coordination meeting and not like in CS immediately.

Since, Solibri (besides clash detection) also checks for properties and relations, I was wondering if I could do the same with specklepy. I should have all the information available and could run automatic tests after every push in the cloud.

I was wondering why this topic did not come up before. Is there anything I miss, or is it feasible to look further into it.


Welcome back @VinzenzTrimborn; we’ve missed you :speckle:

This is a possibility with Speckle. While we don’t have a specific example, we have examples where specklepy can be deployed to respond to Version commits being pushed to the server.

Your current option is to run a script in an environment that can respond to a Webhook trigger. In turn, your code can retrieve and act upon the sent data.

What the specifics of the action are is entirely up to you. Either make a Data Quality analysis for specific properties or filter the data, federate models, or make diffing comparisons - these have all been previously discussed.

The moving parts needed to act will be:

  • Protocols for what data is sent where, and in what state of completeness
  • What format/application is sending the data
  • Some schema/spec for what Quality compliance looks like. IDS?

I think there are discussions here from the Community that discuss, in theory, or strategically, how these might be implemented. I’ll gather some together and add them below.

In any case, this is a good prompt for another demo. Perhaps in time for the next Community Standup. Do you feel like a :speckle: challenge @VinzenzTrimborn? :smiley:

Yeah, I guess I will just use webhooks and run a serverless function in python and the store the results in e.g. supabase. In the end I could display the results in an interactive streamlite app.

I guess I would start with Revit as a sending application.
The quality compliance link is interesting. I looked into BIMQ before, as well.

:smile: If I do this I will present it in a community standup but right now it is just an idea. Let’s see if more people would be interested.

If there are any further discussions from the community before, I need to look through the forum again. If you can direct me to more that would be great.

And yes I missed Speckle, too :smile:


No pressure - this is a topic of interest to me to, so I may feel a late-night after the kids are in bed sprint coming on :smiley:

consider me interested as well (together with @gjedlicska and @iainsproat) :smiley:

1 Like

I have been recently also thinking about this! and how it can evolve into a test framework and I think not only is very feasible but super nice.

I mostly deal nowadays with data from Revit so based on the links I guess I have to get more familiar with Solibri and the current status of quality checking. I would be interested in contributing :slight_smile:

Hi guys,

For the first steps, you may find inspiration in our repository

The example is about structural column eccentricity but in the end rule-based checking based on parameters/coordinates with lovely SpecklePY.



Hey @VinzenzTrimborn I can’t wait to see where you end up with this.

Also, shout if you run into shortcoming / issues in specklepy :slight_smile: