
Current:

2015-03-23: Add Python shapes module to speed up adding primitives to a
	    model for things like tubes, axles, etc.

2015-03-16: Added pyimport() and an example of how to use your own Python 
	    functions. Changed interpreter to import modules listed in
	    modules.xml making it easier to customize.

2015-03-14: Changed to use native Python lists. Improved aref() so that it will
 	    work with native Python lists and numpy.ndarrays.

2015-03-13: Implemented function signatures to hopefully make argument parsing
	    and checking more robust.

2015-03-07: Changed chain so that a chain function will return the same list
            (x y z rx ry rz) as curve so that they can be used interchangeably.

2015-03-06: Changed the name of the project to OpenSDraw.

2015-03-05: Continuing with the disruptive changes.. The chain() and curve() functions
	    now require their arguments to be explicit lists.

2015-03-04: Changed the arguments to many of the geometry and part functions. Previously
            a function like translate would be called like this (translate (x y z) ..)
	    but this is not a standard form i.e. (function x y z). So while this could
	    be somewhat disruptive, the arguments for functions like translate have
            been changed to be explicit lists, (translate (list x y z) ..).



Current:

2014-03-27: Add spring() module for spring (and helix) creation.

2015-03-23: Add Python shapes module to speed up adding primitives to a
	    model for things like tubes, axles, etc.

2015-03-16: Added pyimport() and an example of how to use your own Python 
	    functions. Changed interpreter to import modules listed in
	    modules.xml making it easier to customize.

2015-03-14: Changed to use native Python lists. Improved aref() so that it will
 	    work with native Python lists and numpy.ndarrays.

2015-03-13: Implemented function signatures to hopefully make argument parsing
	    and checking more robust.

2015-03-07: Changed chain so that a chain function will return the same list
            (x y z rx ry rz) as curve so that they can be used interchangeably.

2015-03-06: Changed the name of the project to OpenSDraw.

2015-03-05: Continuing with the disruptive changes.. The chain() and curve() functions
	    now require their arguments to be explicit lists.

2015-03-04: Changed the arguments to many of the geometry and part functions. Previously
            a function like translate would be called like this (translate (x y z) ..)
	    but this is not a standard form i.e. (function x y z). So while this could
	    be somewhat disruptive, the arguments for functions like translate have
            been changed to be explicit lists, (translate (list x y z) ..).


Add note about spring() function.
Add note about spring() function.
