<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.opensourceecology.org/index.php?action=history&amp;feed=atom&amp;title=CAD_Discussion</id>
	<title>CAD Discussion - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opensourceecology.org/index.php?action=history&amp;feed=atom&amp;title=CAD_Discussion"/>
	<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;action=history"/>
	<updated>2026-05-13T14:39:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113368&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113368&amp;oldid=prev"/>
		<updated>2013-12-31T16:23:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:23, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l40&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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! How hard can it be? ;-)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;allowing large crowds to efficiently collaborate&lt;/ins&gt;! How hard can it be? ;-)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113367&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113367&amp;oldid=prev"/>
		<updated>2013-12-31T16:22:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:22, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot;&gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 38:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code. This should be distributed, collected and version controlled not the 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 the source code into 3D-geometry-data. This may take some time. So does compiling SW source code. But as in the so-called build-system 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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code. This should be distributed, collected and version controlled not the 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 the source code into 3D-geometry-data. This may take some time. So does compiling SW source code. But as in the so-called build-system 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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to easily manage many submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. a CAD and build system to efficiently turn source code into 3D-geometry 3&lt;/ins&gt;. to easily manage many submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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! How hard can it be? ;-)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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! How hard can it be? ;-)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113366&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113366&amp;oldid=prev"/>
		<updated>2013-12-31T16:18:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:18, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==from roleic==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==from roleic==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is sad to see the inspiring 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. Important is what the OSE project and most other open mechanical HW projects really need. If you want more than a few people join in the development (crowd development) then you need a tailored free and open source development tool-chain which also allows easy model distribution and easy change management. This is not in existence as of now (end of 2013) and therefore also no large crowd development can be happening.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is sad to see the inspiring 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. Important is what the OSE project and most other open mechanical HW projects really need. If you want more than a few people join in the development (crowd development) then you need a tailored free and open source &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;HW &lt;/ins&gt;development tool-chain which also allows easy model distribution and easy change management. This is not in existence as of now (end of 2013) and therefore also no large crowd development can be happening.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code. This should be distributed, collected and version controlled not the 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 the source code into 3D-geometry-data. This may take some time. So does compiling SW source code. But as in the so-called build-system 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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code. This should be distributed, collected and version controlled not the 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 the source code into 3D-geometry-data. This may take some time. So does compiling SW source code. But as in the so-called build-system 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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113365&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113365&amp;oldid=prev"/>
		<updated>2013-12-31T16:16:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:16, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l40&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to easily manage many submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to easily manage many submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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. 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. How hard can it be? ;-)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Also the interaction of such a CAD with a build system to avoid rebuilding unchanged geometry is required&lt;/ins&gt;. 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. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;And it is high time for a dedicated open-mechanical -HW-tool-chain! &lt;/ins&gt;How hard can it be? ;-)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113364&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113364&amp;oldid=prev"/>
		<updated>2013-12-31T16:12:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:12, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==from roleic==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==from roleic==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is sad to see the inspiring 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. Important is what the OSE project and most other open mechanical HW projects really need. If you want more than a few people join in the development (crowd development) then you need a tailored free and open source development tool chain which also allows easy model distribution and easy change management. This is not in existence as of now (end of 2013) and therefore also no large crowd development can be happening.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is sad to see the inspiring 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. Important is what the OSE project and most other open mechanical HW projects really need. If you want more than a few people join in the development (crowd development) then you need a tailored free and open source development tool&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/ins&gt;chain which also allows easy model distribution and easy change management. This is not in existence as of now (end of 2013) and therefore also no large crowd development can be happening.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;which &lt;/del&gt;should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The actual CAD tool would act like a compiler or interpreter by locally turning the source code into 3D-geometry-data.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. This &lt;/ins&gt;should be distributed, collected and version controlled &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;not the geometry data&lt;/ins&gt;. The scripting command language should be standardised rather than the 3D-geometry-data &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;formats&lt;/ins&gt;. The actual CAD tool would act like a compiler or interpreter by locally turning the source code into 3D-geometry-data&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. This may take some time. So does compiling SW source code. But as in the so-called build-system 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&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;easily &lt;/ins&gt;manage &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;many &lt;/ins&gt;submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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. 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. How hard can it be? ;-)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/ins&gt;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. 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. How hard can it be? ;-)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113363&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113363&amp;oldid=prev"/>
		<updated>2013-12-31T15:54:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:54, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==from roleic==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==from roleic==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is sad to see the inspiring open-HW-movement dragging along designing 3D-geometry with inadequate tools like blender or Discussing the features of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desired &lt;/del&gt;CAD SW &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and personal preferences alone is &lt;/del&gt;not &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;very helpful&lt;/del&gt;. Important is what &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;serves &lt;/del&gt;the OSE project &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;best. OSE is a &lt;/del&gt;open &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source hardware project. Therefore also the hardware data must be open source&lt;/del&gt;. If you want more than a few people join in the development (crowd development) then you need free and open source development &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tools &lt;/del&gt;which also &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;allow some sort of &lt;/del&gt;change management. This is not in existence as of now (end of 2013) and therefore also no large crowd development can be happening&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. How should such a change mgmt. work? Similar to software projects. The electronic master design data should be downloadable for everybody. They should be changeable by readily available tools or tool chains. And changes from one change status to another should be detectable or even better they should be made visible. Moreover, changes from different designers should be easily merged into an updated master design data set. Only with such a process you can handle accepting (or turning down) design changes from a real crowd i.e. from more than a dozen designers&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is sad to see the inspiring open-HW-movement dragging along designing 3D-geometry with inadequate tools like blender or &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sketchup. &lt;/ins&gt;Discussing the features of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;existing &lt;/ins&gt;CAD SW &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;will &lt;/ins&gt;not &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;do&lt;/ins&gt;. Important is what the OSE project &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and most other &lt;/ins&gt;open &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mechanical HW projects really need&lt;/ins&gt;. If you want more than a few people join in the development (crowd development) then you need &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a tailored &lt;/ins&gt;free and open source development &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tool chain &lt;/ins&gt;which also &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;allows easy model distribution and easy &lt;/ins&gt;change management. This is not in existence as of now (end of 2013) and therefore also no large crowd development can be happening.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Does such a system exist? Not quite. That is why open HW projects have difficulty attracting large crowds.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The actual CAD tool would act like a compiler or interpreter by locally turning the source code into 3D-geometry-data.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The actual CAD tool would act like a compiler or interpreter by locally turning the source code into 3D-geometry-data&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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-window showing source code and geometry side by side. FreeCad and PythonOCC are candidates. With more limitations also Salomé, OpenSCAD&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;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 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;highlight &lt;/del&gt;the relevant source code if a part of a 3D-geometry is selected in the graphical window. 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...&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-geometry&lt;/ins&gt;-window showing source code and geometry side by side. FreeCad and PythonOCC are candidates. With more limitations also Salomé, OpenSCAD &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and &lt;/ins&gt;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 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;highlighting &lt;/ins&gt;the relevant source code if a part of a 3D-geometry is selected in the graphical window. 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...&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It is time to change that. How hard can it be? ;-)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113362&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113362&amp;oldid=prev"/>
		<updated>2013-12-31T15:41:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:41, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==from roleic==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==from roleic==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Discussing the features of desired CAD SW and personal preferences alone is not very helpful. Important is what serves the OSE project best. OSE is a open source hardware project. Therefore also the hardware data must be open source. If you want more than a few people join in the development (crowd development) then you need free and open source development tools which also allow some sort of change management. This is not in existence as of now (end of 2013) and therefore also no large crowd development can be happening. How should such a change mgmt. work? Similar to software projects. The electronic master design data should be downloadable for everybody. They should be changeable by readily available tools or tool chains. And changes from one change status to another should be detectable or even better they should be made visible. Moreover, changes from different designers should be easily merged into an updated master design data set. Only with such a process you can handle accepting (or turning down) design changes from a real crowd i.e. from more than a dozen designers.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It is sad to see the inspiring open-HW-movement dragging along designing 3D-geometry with inadequate tools like blender or &lt;/ins&gt;Discussing the features of desired CAD SW and personal preferences alone is not very helpful. Important is what serves the OSE project best. OSE is a open source hardware project. Therefore also the hardware data must be open source. If you want more than a few people join in the development (crowd development) then you need free and open source development tools which also allow some sort of change management. This is not in existence as of now (end of 2013) and therefore also no large crowd development can be happening. How should such a change mgmt. work? Similar to software projects. The electronic master design data should be downloadable for everybody. They should be changeable by readily available tools or tool chains. And changes from one change status to another should be detectable or even better they should be made visible. Moreover, changes from different designers should be easily merged into an updated master design data set. Only with such a process you can handle accepting (or turning down) design changes from a real crowd i.e. from more than a dozen designers.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Does such a system exist? Not quite. That is why open HW projects have difficulty attracting large crowds.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Does such a system exist? Not quite. That is why open HW projects have difficulty attracting large crowds.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The actual CAD tool would act like a compiler or interpreter by locally turning the source code into 3D-geometry-data. Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The actual CAD tool would act like a compiler or interpreter by locally turning the source code into 3D-geometry-data. Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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-window showing source code and geometry side by side. FreeCad and PythonOCC are candidates. With more limitations also Salomé, OpenSCAD, 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&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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-window showing source code and geometry side by side. FreeCad and PythonOCC are candidates. With more limitations also Salomé, OpenSCAD, ImplicitCAD. If the open-mechanical-HW&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/ins&gt;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&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/ins&gt;movements did by creating their own dedicated tool chains. The most important missing link in the mechanical&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/ins&gt;HW&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/ins&gt;tool&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/ins&gt;chain is a open CAD tool working with text source code files and directories, visualizing changes of two designs and possibly &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;highlight &lt;/ins&gt;the relevant source code if a part of a 3D-geometry is selected in the graphical window. Such a tool chain will have to be developed by mechanical engineers because only they know what &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is needed&lt;/ins&gt;. However too many mechanical engineers seem to back away from SW development...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;high light &lt;/del&gt;the relevant source code if a part of a 3D-geometry is selected in the graphical window. Such a tool chain will have to be developed by mechanical engineers because only they know what &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;they need&lt;/del&gt;. However too many mechanical engineers seem to back away from SW development...&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113360&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113360&amp;oldid=prev"/>
		<updated>2013-12-31T15:29:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:29, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot;&gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The actual CAD tool would act like a compiler or interpreter by locally turning the source code into 3D-geometry-data. Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The actual CAD tool would act like a compiler or interpreter by locally turning the source code into 3D-geometry-data. Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes could be diff&amp;#039;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. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a tool not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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-window showing &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/del&gt;geometry &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;next to each other&lt;/del&gt;. FreeCad and PythonOCC are candidates. With more limitations also Salomé, OpenSCAD, 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&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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-window showing &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source code and &lt;/ins&gt;geometry &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;side by side&lt;/ins&gt;. FreeCad and PythonOCC are candidates. With more limitations also Salomé, OpenSCAD, 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&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 high light the relevant source code if a part of a 3D-geometry is selected in the graphical window. Such a tool chain will have to be developed by mechanical engineers because only they know what they need. However too many mechanical engineers seem to back away from SW development...&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 high light the relevant source code if a part of a 3D-geometry is selected in the graphical window. Such a tool chain will have to be developed by mechanical engineers because only they know what they need. However too many mechanical engineers seem to back away from SW development...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113359&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113359&amp;oldid=prev"/>
		<updated>2013-12-31T15:28:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:28, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l37&quot;&gt;Line 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Does such a system exist? Not quite. That is why open HW projects have difficulty attracting large crowds.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Does such a system exist? Not quite. That is why open HW projects have difficulty attracting large crowds.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The 3D-geometry-data &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can be rebuilt locally from the source&lt;/del&gt;. Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can &lt;/del&gt;be diff&amp;#039;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. This process has been proven even in very large open SW projects like the Linux Kernel. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;system &lt;/del&gt;not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;actual CAD tool would act like a compiler or interpreter by locally turning the source code into &lt;/ins&gt;3D-geometry-data. Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;could &lt;/ins&gt;be diff&amp;#039;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&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Only the files which have changed would need to be distributed&lt;/ins&gt;. This process has been proven even in very large open SW projects like the Linux Kernel. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tool &lt;/ins&gt;not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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-window showing the geometry next to each other. FreeCad and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Open &lt;/del&gt;are candidates. With more limitations also Salomé,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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-window showing the geometry next to each other. FreeCad and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PythonOCC &lt;/ins&gt;are candidates. With more limitations also Salomé, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;OpenSCAD, 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&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;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 high light the relevant source code if a part of a 3D-geometry is selected in the graphical window. Such a tool chain will have to be developed by mechanical engineers because only they know what they need. However too many mechanical engineers seem to back away from SW development...&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113358&amp;oldid=prev</id>
		<title>Roli: /* from roleic */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CAD_Discussion&amp;diff=113358&amp;oldid=prev"/>
		<updated>2013-12-31T15:07:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;from roleic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:07, 31 December 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot;&gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The 3D-geometry-data can be rebuilt locally from the source. Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes can be diff&amp;#039;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. This process has been proven even in very large open SW projects like the Linux Kernel. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a system not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 for good reasons. In 3D-CAD the source code corresponds to the sequence of commands that created the 3D-geometry-data. Some CAD-systems are scriptable. The scripts creating the 3D-geometry-data are the source code which should be distributed, collected and version controlled. The scripting command language should be standardised rather than the 3D-geometry-data. The 3D-geometry-data can be rebuilt locally from the source. Since these CAD scripts are text they can be managed like software source code e.g. with existing distributed version control software like git or mercurial. Changes can be diff&amp;#039;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. This process has been proven even in very large open SW projects like the Linux Kernel. If this can be implemented then you would have much better change mgmt than all commercial PDM systems provide for big money! Why does such a system not yet exist in the commercial world? Because the commercial CAD vendors don&amp;#039;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. to manage submitted changes from a large crowd.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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-window showing the geometry next to each other.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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-window showing the geometry next to each other. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;FreeCad and Open are candidates. With more limitations also Salomé,&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Nick==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Roli</name></author>
	</entry>
</feed>