Would LuxCoreRender be a Suitable Engine for CAD/CAM?
Posted: Sun Apr 25, 2021 1:47 pm
Hello. I'm in the beginning/thinking/planning stage of developing a framework for an interactive CAD/CAM system for automated manufacture of wood and panelized products which I would ideally like to open-source once I have an outline worth presenting. Although I have decades of experience developing general business-oriented applications, I'm just now getting into the world of graphics and rendering. I know so little about that field that I'm not even sure what open-source tools might help me with this project (which I expect will be basically the rest of my life's work as a software engineer).
The architecture I have in mind is thick-client/server MVC, where rendering and GUI control is done on the thick client, and the 3D objects are modeled on the server. The server will manage the 3D model data primarily through rules-based automation implemented in scripting, probably using an embedded Python or LISP interpreter. I'm inspired by EMACS (and to a lesser extent, AutoCAD) where a low-level kernel provides basic I/O functionality and an interpreter, but most of its business logic is implemented in a high-level scripting environment that is inherently extensible by the user, which removes the traditional wall between product developer and end-user. Straight out of the box, my system will have little functionality that would be directly useful to any particular real-world application. Engineers would be required to tailor the system to implement most high-level business requirements that are specific to any given buildout.
This framework will be in support of engineering design and manufacturing, more so than artistic, photorealistic 3D perspective rendering. Ergo, users will be working more with wire frames in orthographic views than in shaded perspective views. In fact, one of my "big ideas" is to use axonometric views by default to support interactive 3D modeling and engineering work on a 2D monitor (which is supported by no existing product I've seen--a fact which I find utterly mystifying.)
So, I was just wondering, if you wanted to develop a CAD/CAM system as described above, would you adopt LuxCoreRender (or part of LuxCoreRender) as the basis for the thick client? Would it be easier to decouple LuxCoreRender's model from its view and controller than to just start from scratch?
Any guidance would be appreciated. Thanks in advance.
The architecture I have in mind is thick-client/server MVC, where rendering and GUI control is done on the thick client, and the 3D objects are modeled on the server. The server will manage the 3D model data primarily through rules-based automation implemented in scripting, probably using an embedded Python or LISP interpreter. I'm inspired by EMACS (and to a lesser extent, AutoCAD) where a low-level kernel provides basic I/O functionality and an interpreter, but most of its business logic is implemented in a high-level scripting environment that is inherently extensible by the user, which removes the traditional wall between product developer and end-user. Straight out of the box, my system will have little functionality that would be directly useful to any particular real-world application. Engineers would be required to tailor the system to implement most high-level business requirements that are specific to any given buildout.
This framework will be in support of engineering design and manufacturing, more so than artistic, photorealistic 3D perspective rendering. Ergo, users will be working more with wire frames in orthographic views than in shaded perspective views. In fact, one of my "big ideas" is to use axonometric views by default to support interactive 3D modeling and engineering work on a 2D monitor (which is supported by no existing product I've seen--a fact which I find utterly mystifying.)
So, I was just wondering, if you wanted to develop a CAD/CAM system as described above, would you adopt LuxCoreRender (or part of LuxCoreRender) as the basis for the thick client? Would it be easier to decouple LuxCoreRender's model from its view and controller than to just start from scratch?
Any guidance would be appreciated. Thanks in advance.