Find a file
2010-08-22 15:06:24 +03:00
bearing.scad Added a switch to generate bearing outlines for hole cutting etc. 2010-07-26 12:57:28 +03:00
constants.scad Clarified the licenses in use in this library, has GPL2 and GPL3 which are incompatible 2010-07-25 19:39:52 +03:00
curves.scad Clarified the licenses in use in this library, has GPL2 and GPL3 which are incompatible 2010-07-25 19:39:52 +03:00
gears.scad gears.scad cleanup + examples 2010-06-11 16:07:22 -04:00
involute_gears.scad incorporated 2D export to involute_gears, by Amp 2010-08-15 12:58:20 +03:00
lgpl-2.1.txt Changed to LGPL, since all the code is now compatible 2010-07-26 13:24:12 +03:00
materials.scad Added testing infra using py.test. Catches parse errors already, but stl compiling tests fail 2010-07-26 21:03:44 +03:00
math.scad Clarified the licenses in use in this library, has GPL2 and GPL3 which are incompatible 2010-07-25 19:39:52 +03:00
motors.scad Typo fix submitted by Koen Kooi 2010-08-04 23:19:57 +03:00
nuts_and_bolts.scad Resolved the license mess 2010-07-25 19:59:17 +03:00
openscad_utils.py Added testing infra using py.test. Catches parse errors already, but stl compiling tests fail 2010-07-26 21:03:44 +03:00
README Added info about developing MCAD and other improvements to README 2010-08-22 15:06:24 +03:00
screw.scad Added testing infra using py.test. Catches parse errors already, but stl compiling tests fail 2010-07-26 21:03:44 +03:00
stepper.scad Some adjustments to the new files 2010-07-26 09:10:01 +03:00
teardrop.scad Added info about developing MCAD and other improvements to README 2010-08-22 15:06:24 +03:00
test_compile.py Added testing infra using py.test. Catches parse errors already, but stl compiling tests fail 2010-07-26 21:03:44 +03:00
units.scad Added a switch to generate bearing outlines for hole cutting etc. 2010-07-26 12:57:28 +03:00
utilities.scad added two implementations of intersection() (untested) 2010-08-15 12:34:43 +03:00

OpenSCAD MCAD Library
=====================

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.

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.

== 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).


Currently Provided Tools:

* involute_gears.scad (http://www.thingiverse.com/thing:3575): 
    - gear()
    - bevel_gear()
    - bevel_gear_pair()

* 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)

Other tools (alpha and beta quality):
* nuts_and_bolts.scad: for creating metric and imperial bolt/nut holes
* bearing.scad: standard/custom bearings
* screw.cad: screws and augers
* materials.scad: color definitions for different materials
* stepper.scad: NEMA standard stepper outlines

Utils:
* math.scad: general math functions
* constants.scad: mathematical constants
* curves.scad: mathematical functions defining curves
* units.scad: easy metric units
* 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.

=== 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.