Visit the forum instructions to learn how to post to the forum, enable email notifications, subscribe to a category to receive emails when there are new discussions (like a mailing list), bookmark discussions and to see other tips to get the most out of our forum!
OSE needs a dedicated open-HW-development-tool-chain (not just a CAD)
  • Vote Up0Vote Down
    December 2013
    It is sad to see the inspiring OSE project and the open-HW-movement dragging along designing 3D-geometry with inadequate tools like blender or sketchup. Discussing the features of existing CAD SW will not do because the paradigm that 3D-geometry development (specially by distributed crowds for open source projects) will happen best by creating a single model file using a single, purely mouse operated application must be torn down and replaced by something more adequate. If you want more than a few people to join the development (crowd development) then you need a tailored free and open source HW development tool-chain which allows easy model distribution and easy change management. This does not yet exist for mechanical HW as of end of 2013 and therefore also no large crowd collaboration can be happening as in open SW projects.

    Current CAD files save the 3D-geometry-data. And the most often used transfer formats like STEP and IGES also contain 3D-geometry-data. These files are bulky, difficult to share over the internet and contain only dumb 3D data without parametrization etc. In terms of SW development 3D-geometry-data corresponds to compiled executables. However in open SW projects they manage source code and its changes, not executables. In 3D-CAD the source code corresponds to the sequence of commands that create the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code in text form. This should be distributed, collected and version controlled not the 3D-geometry-data. The scripting command language should be standardised rather than the 3D-geometry-data formats. The actual CAD tool would act like a compiler or interpreter by locally turning such source code into 3D-geometry-data. This may take some time. So does compiling SW source code. But as in the so-called build automation SW of SW development you might keep the locally compiled object code (single 3D-geometry-objects) in separate files such that only the changed objects and depending ones have to be recompiled.

    Since these CAD scripts have text format they can be managed like SW source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff'ed and merged. In the best case sub-assemblies could be filled in different source files and sub-directories just like in open SW development. Only the files which have changed would need to be distributed. This process has been proven even in very large open SW projects like the Linux Kernel e.g. by applying the "dictator and lieutenants workflow". If this can be implemented then you would have much better change mgmt than all commercial, expensive PDM systems are able to provide! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don't want standardized script languages because their customers would no longer be locked into their product and could easily change CAD tools. But for open source HW projects this is essential. 1. to be able to distribute compact source code over the internet and 2. a CAD and build system to efficiently turn source code into 3D-geometry 3. to easily manage many submitted changes from a large crowd.

    As a starting point existing open source CAD systems with a scripting language could be used. Ideally they have a source code window and a graphical 3D-geometry-window showing source code and geometry side by side. FreeCad and PythonOCC are candidates. With more limitations also Salomé, OpenSCAD and ImplicitCAD. If the open-mechanical-HW-movement does not bother to develop a tool-chain matching their needs it will not take off like the open-SW and the open-electronic-HW-movements did by creating their own dedicated tool chains. The most important missing link in the mechanical-HW-tool-chain is a open CAD tool working with text source code files and directories, visualizing changes of two designs and possibly highlighting the relevant source code if a part of a 3D-geometry is selected in the graphical window. Also the interaction of such a CAD with a build system to avoid rebuilding unchanged geometry is required. Such a tool chain will have to be developed by mechanical engineers because only they know what is needed. However too many mechanical engineers seem to back away from SW development...It is time to change that. And it is high time for a dedicated open-mechanical -HW-tool-chain allowing large crowds to efficiently collaborate! How hard can it be? ;-)

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook Sign In with Google Sign In with OpenID Sign In with Twitter