Hardware Reference
In-Depth Information
rently available open-source CAD package and you do not necessarily need to know anything
about conventional CAD. OpenSCAD is an open-source, script-based CAD application. It is
used by writing simplistic code to describe the geometric specifications of the required object
by using three primitive shapes (cylinder, sphere and cube) and complex polygons using the
polygon, polyline and the 2-D and 3-D extrusion commands. If you understand the basic geo-
metry and Boolean logic, you should not have any trouble geting started. If you have writ-
ten any kind of computer code before, then this will be easy. The real power of OpenSCAD
is that it allows for parametric designs, which is the ability to alter a design to specifications
by changing the parameters of the geometry of an object. This allows changes to be made to
the design easily and quickly by simply changing the value of user-defined variables. Simply
put—if you change a single number in the code—you can immediately have a new custom-
ized design. This would be great enough on its own, but Thingiverse.com , the repository that
now holds well over 100,000 OSH designs, has a built in Customizer App that enables you
make it absurdly easy for others to customize your designs if they are written in OpenSCAD.
The would-be custom users of your design do not even need to go into OpenSCAD to alter
the design, they can make the change from their browser window. To illustrate briefly how
OpenSCAD works, consider the code for a simple gasket 3 below:
//Customizable Gasket
// This is a simple open-source parametric gasket
//CUSTOMIZER VARIABLES
//Defines the height of the gasket
gasket_thickness=1; //[1:10]
//Defines the gasket outer diameter
gasket_outer_diameter=2; //[2:100]
//Defines the gasket inner diameter
gasket_inner_diameter=1; //Numeric value smaller than Gasket Outer Diameter
//CUSTOMIZER VARIABLES END
module gasket()
{
difference()
{
cylinder(h=gasket_thickness, r=gasket_outer_diameter 2, center=true, $fn=100);
cylinder(h=gasket_thickness, r=gasket_inner_diameter 2, center=true, $fn=100);
 
Search WWH ::




Custom Search