2010-06-11 14:47:28 -05:00
|
|
|
OpenSCAD MCAD Library
|
|
|
|
=====================
|
|
|
|
|
2010-08-22 06:20:53 -05:00
|
|
|
This library contains components commonly used in designing and moching up
|
|
|
|
mechanical designs. It is currently unfinished and you can expect some API
|
|
|
|
changes, however many things are already working.
|
2010-06-11 14:47:28 -05:00
|
|
|
|
2010-07-26 05:24:12 -05:00
|
|
|
This library is licensed under the LGPL 2.1
|
|
|
|
See http://creativecommons.org/licenses/LGPL/2.1/ or the included file, lgpl-2.1.txt.
|
2010-06-11 14:47:28 -05:00
|
|
|
|
2010-08-22 06:20:53 -05:00
|
|
|
== Usage ==
|
|
|
|
You can import these files in your scripts with "use <MCAD/*.scad>", but some
|
|
|
|
files include useful constants which will be available with "include <MCAD/*.scad>",
|
|
|
|
which should be safe to use on all included files (ie. no top level code should
|
|
|
|
create geometry).
|
|
|
|
|
|
|
|
|
2010-06-11 14:47:28 -05:00
|
|
|
Currently Provided Tools:
|
|
|
|
|
2010-07-25 10:11:48 -05:00
|
|
|
* involute_gears.scad (http://www.thingiverse.com/thing:3575):
|
|
|
|
- gear()
|
|
|
|
- bevel_gear()
|
|
|
|
- bevel_gear_pair()
|
2010-06-11 14:47:28 -05:00
|
|
|
|
2010-07-25 10:11:48 -05:00
|
|
|
* gears.scad (Old version):
|
|
|
|
- gear(number_of_teeth, circular_pitch OR diametrial_pitch, pressure_angle OPTIONAL, clearance OPTIONAL)
|
|
|
|
|
|
|
|
* motors.scad:
|
|
|
|
- stepper_motor_mount(nema_standard, slide_distance OPTIONAL, mochup OPTIONAL)
|
|
|
|
|
2010-08-10 04:47:55 -05:00
|
|
|
Other tools (alpha and beta quality):
|
2010-07-25 10:11:48 -05:00
|
|
|
* nuts_and_bolts.scad: for creating metric and imperial bolt/nut holes
|
2010-07-26 02:58:32 -05:00
|
|
|
* bearing.scad: standard/custom bearings
|
2010-07-25 10:11:48 -05:00
|
|
|
* screw.cad: screws and augers
|
2010-07-26 02:58:32 -05:00
|
|
|
* materials.scad: color definitions for different materials
|
2010-08-15 04:24:31 -05:00
|
|
|
* stepper.scad: NEMA standard stepper outlines
|
2010-07-25 10:11:48 -05:00
|
|
|
|
|
|
|
Utils:
|
|
|
|
* math.scad: general math functions
|
|
|
|
* constants.scad: mathematical constants
|
|
|
|
* curves.scad: mathematical functions defining curves
|
2010-07-26 02:58:32 -05:00
|
|
|
* units.scad: easy metric units
|
2010-08-22 06:20:53 -05:00
|
|
|
* utilities.scad: geometric funtions and misc. useful stuff
|
|
|
|
* teardrop.scad (http://www.thingiverse.com/thing:3457): parametric teardrop module
|
|
|
|
|
|
|
|
== Development ==
|
|
|
|
You are welcome to fork this project in github and request pulls. I will try to
|
|
|
|
accomodate the community as much as possible in this. If for some reason you
|
|
|
|
want collaborator access, just ask.
|
|
|
|
|
|
|
|
Github is fun (and easy), but I can include code submissions and other
|
|
|
|
improvements directly, and have already included code from various sources
|
|
|
|
(thingiverse is great :)
|
|
|
|
|
|
|
|
=== Code style ===
|
|
|
|
I'd prefer to have all included code nicely indented, at least at the block
|
|
|
|
level, and no extraneous whitespace. I'm used to indent with four spaces as
|
|
|
|
opposed to tabs or other mixes of whitespace, but at least try to choose a style
|
|
|
|
and stick to it.
|
2010-07-25 10:11:48 -05:00
|
|
|
|
2010-08-22 06:20:53 -05:00
|
|
|
=== Testing ===
|
|
|
|
I've started a minimal testing infrastucture for OpenSCAD code. It's written in
|
|
|
|
python and uses py.test (might be compatible with Nose also). Just type py.test
|
|
|
|
inside the lib dir in a terminal and you should see a part of the tests passing
|
|
|
|
and tracebacks for failing tests. It's very simplistic still, but it should test
|
|
|
|
that no syntax errors occur at least.
|