My company has a product configurator solution (completely developed in house), and it has been expressed by management that whey would like to see 3D models on the site. These 3D models will be for our made to order line of business and therefore we do not have models to just be loaded and displayed. I don’t want to use a traditional CAD application to generate the parts because most of those are single threaded, and don’t feel it would be a good use experience to have to wait for someone else’s part to be being modeled while you are waiting for yours with a waiting screen. Therefore I was thinking about using Babylon to model, and render the parts. We’ve done a lot of CAD automation, but not much in the more primitive side of 3D modeling (less helper functions). The way I see it we have a few options and I’m looking for opinions.
Use software like BabylonJs to model and display the parts.
Use server side 3d libraries to model the parts, and use BabylonJs to render for the web.
Use a CAD software and a queueing system to model the parts, save as generic file type (obj, step, etc) and display with Babylon
Same as 3, except use an online CAD solution to get rid of Queueing system.
Find a service that does this type of thing from start to finish.
The biggest thing I’m trying to understand is how good a fit Babylon is for our scenario?
Depending on the complexity of the parts they could be model and displayed in Babylon. Higher complexity requires a 3d editor where you could export to gltf for instance and rely on the awesome viewer from @ryantrem to display it on the web.
It sounds like you want a parametric modelling solution and it really depends on how complex your workflow and expectations become. I’ve done this quite a few times where engineers and designers use CAD for 2D only (keep skill expectations/requirements low), export to DXF into a BJS builder (with parametric features and constraints) then export from the builder app as 3D models such as GLB for visualisation and 3D DXF back into CAD and Revit (for final design). The idea is interoperability between designers and customers but keeping the interface and workflow user friendly.
It needs scoping in detail to come up with the most slick solution.
We already have parametric modeling with our CAD integration for the “real” models and used internally. We have generated a few hundred thousand models this way, however traditional CAD solutions are single threaded (can only model 1 thing at a time). This would be used as a customer facing application on our website, and so running requests through a single thread is a bit of a non-starter, not to mention too slow since they have to be modeled in a draft/shop ready state, where-as this would be a bit more of a representation, and not necessarily a perfect model.
It would be good to have more of an idea of these “parts”, could the geometry be created purely through code via schemas (geometry and parameters)? Or are the designs too complex/change too much? Regardless it should be possible to quickly export to various formats that a bjs exporter may handle, it may require a backend converter. A script in the CAD environment or a watcher service that would observe any changed files (if there are hundreds of parts etc). You want to automate it all is what I’m getting from this.
I have experienced this with Babylon. I made a 3D configurator for people to interact with soles (for shoes). Starting with a classic flat 3D model I offered the possibility to :
stretch the model from a point in a chosen direction
add an external small piece of model and merge it into the sole
cut the model on some of the edges
This was mainly made with the use of Babylon CSG functions.
But my goal was to slightly customize an existing model, not to replace an entire CAD software. The more complex it goes, the more time you will spend (writing some “basic’“ algorithms for my needs took me several weeks, and there were not pixel accurate)