Speckle as an agnostic Constructive Solid Geometry?

Hello, I have developed a tool to check automatically the conformity of a BIM model to a french regulation (RTAADOM). It is heavily based on 3D data processing (multiple creation by extrusion and lot of Boolean operations). I have implemented the algorithm with the REVIT API (addin) and in IFCopenshell with OpenCascade.
My problem is : two platforms = two implementations…
My question to Speckle gurus : could we imagine to use Speckle to extract the 3D data from any platform (Connector) and process it before giving back the results in a coherent way ?
The processing platform could be on the server side, work natively on Speckle object and preferentially based on OSS.



Salut @charles, welcome to the Community! :raising_hand_man:t2:

I can definitely imagine what you’re suggesting. It’s already possible to extract 3D data from any platform (Connector) using Speckle and process it before coherently presenting the results. While the geometry is generated in the host authoring software, the web viewer always has a fallback mesh representation. This mesh representation can be passed through various mesh processing libraries. Alternatively, in some cases, the form can be reconstructed based on the instructions implicitly described in the BIM Objects (e.g., using the wall profile and baseline) :triangular_ruler:.

I’m unsure about the specific analysis you want to perform, but I’m excited to learn more! Speckle goes beyond basic geometric analysis, and I initially discovered it because of challenges like the one you’re mentioning.

To address your idea, it is possible to host a script or app yourself, have it respond to a user’s committed version, and then run the analysis before pushing the results back to Speckle using webhooks. This can also be done on demand through polling. We have robust Python :snake: and C# :keyboard: SDKs that can assist you in achieving this.

There are already some great examples of this kind of workflow. Recently, Community members @bjoernsteinhagen and @AlexHofbeck developed a solution (Bollinger+Grohmann on LinkedIn: #data #structuraldesign #python #opensource #reinvent #speckle… | 10 comments) that performed structural analysis and pushed the objects back to Speckle for engineers to review in their authoring tools. They’ve even open-sourced their code: SPKL-BG-SpecklePY-LIB/Analysis_ColumnEccentricity.py at e4bb876082df64b9e9b1a402f5ed39fd3df05657 · BollingerGrohmann/SPKL-BG-SpecklePY-LIB · GitHub

We also have plans for further automating the analysis process. Would you be available for a call to discuss your idea in more detail? I have teammates who would be interested in your question. :telephone_receiver::sparkles:


Hi @jonathon , thanks for the interest in my problems !
As far as understand the given example, the principle is exactly what I want.
In that example, the geometry is processed as standard flat data, not fully 3D but the idea to push-process-pull with speckle is definitely here.
In my case, I will be happy to run an python-occ script (that I already have) in the process step.

It will be a nice to have a call to discuss this point !