How to define Rules against a 3D Model Geometry and how to apply those Rules among the 3D Model Obects?

Hi All,
Actually our use case is that,

  1. We will bring 3D Models from different 3D Modeling Tools e.g. Revit, SolidWorks, OpenJSCAD etc. and then we would need make those normal 3D Model into the 3D Parametric Model over the Web Browser based application (we are thinking of using OpenJSCAD for that purpose, but please feel free to propose any other better alternates for doing it over the Web).
  2. Once the 3D Parametric Models are defined (i.e. modeled), we then want to define certain “Rules” against the Geometry for example that when this Geometry (say a Table) needs to put next to another geometry say Chair, we should be able to define rules like “Tolerance level i.e. how close these two objects can be placed against each other” or “that a Table can not be put/placed on top of a chair”. For this kind of Rules mechanism, not sure if ThreeJS should be used for that purpose , or not sure if OpenJSCAD itself could be used for that (I know this threejs forum may not be right forum for that question)
  3. Also, there is another ask, that say when we are over laying one object (3D Model) on top of another object (3D Model), if the rule can be defined that the outer 3D Model should adjust itself e.g. imagine as if we are putting a big rock into the Mud, and the Mud reshapes itself to let the Rock be placed inside the Mud, and there also we will need to apply those rules that we want to define above.

We are developing Buerli which would do exactly that

You find some real world examples on Twitter but essentially think of it as a CAD kernel that communicates client side. These rules that you refer to are called constraints, there are sketch constraints and assembly constraints, the latter are what you seek. It tells two parts for instance that they’re parallel to one another with x tolerance, or coincide etc. A constraint solver will then calculate exact positions if the part is changed or repositioned.

PS here’s an example of assembly constraints in action: The robot is composed of parts, but they can only move and rotate in a constrained relationship to everything else.

If you want to find out more about the constraint solver in specific, it is called LGS