diff --git a/README.md b/README.md index 1c73e7e..1cfd085 100644 --- a/README.md +++ b/README.md @@ -6,55 +6,59 @@ projects, including large ones like the Snappy-Reprap printed 3D printer. # Overview The library files are as follows: - - ```transforms.scad```: The most commonly used transformations, manipulations, and shortcuts are in this file. - - ```shapes.scad```: Common useful shapes and structured objects. - - ```masks.scad```: Shapes that are useful for masking with ```difference()``` and ```intersect()```. - - ```math.scad```: Useful helper functions and constants. - - ```paths.scad```: Functions and modules to work with arbitrary 3D paths. - - ```bezier.scad```: Functions and modules to work with bezier curves. - - ```involute_gears.scad```: Modules and functions to make involute gears and racks. - - ```metric_screws.scad```: Functions and modules to make holes for metric screws and nuts. - - ```joiners.scad```: Modules to make joiner shapes for connecting separately printed objects. - - ```sliders.scad```: Modules for creating simple sliders and rails. - - ```acme_screws.scad```: Modules to make trapezoidal (ACME) threaded rods and nuts. - - ```nema_steppers.scad```: Modules to make mounting holes for NEMA motors. - - ```linear_bearings.scad```: Modules to make mounts for LMxUU style linear bearings. - - ```wiring.scad```: Modules to render routed bundles of wires. - - ```quaternions.scad```: Functions to work with quaternion rotations. + - `transforms.scad`: The most commonly used transformations, manipulations, and shortcuts are in this file. + - `shapes.scad`: Common useful shapes and structured objects. + - `masks.scad`: Shapes that are useful for masking with `difference()` and `intersect()`. + - `math.scad`: Useful helper functions and constants. + - `paths.scad`: Functions and modules to work with arbitrary 3D paths. + - `bezier.scad`: Functions and modules to work with bezier curves. + - `involute_gears.scad`: Modules and functions to make involute gears and racks. + - `metric_screws.scad`: Functions and modules to make holes for metric screws and nuts. + - `joiners.scad`: Modules to make joiner shapes for connecting separately printed objects. + - `sliders.scad`: Modules for creating simple sliders and rails. + - `acme_screws.scad`: Modules to make trapezoidal (ACME) threaded rods and nuts. + - `nema_steppers.scad`: Modules to make mounting holes for NEMA motors. + - `linear_bearings.scad`: Modules to make mounts for LMxUU style linear bearings. + - `wiring.scad`: Modules to render routed bundles of wires. + - `quaternions.scad`: Functions to work with quaternion rotations. ## transforms.scad -The most commonly useful of the library files is ```transforms.scad```. It provides features such as: - - ```up()```, ```down()```, ```left()```, ```right()```, ```fwd()```, ```back()``` as more readable alternatives to ```translate()```. - - ```xrot()```, ```yrot()```, ```zrot()``` as single-axis alternatives to ```rotate```. - - ```xspread()```, ```yspread()```, and ```zspread()``` to evenly space copies of an item along an axis. - - ```xring()```, ```yring()```, ```zring()``` to evenly space copies of an item around a circle. - - ```skewxy()``` that let you skew objects without using a ```multmatrix()```. - - Easy mirroring with ```xflip()```, ```xflip_copy()```, etc. - - Slice items in half with ```top_half()```, ```left_half()```, ```back_half()```, etc. +The most commonly useful of the library files is `transforms.scad`. It provides features such as: + - `up()`, `down()`, `left()`, `right()`, `fwd()`, `back()` as more readable alternatives to `translate()`. + - `xrot()`, `yrot()`, `zrot()` as single-axis alternatives to `rotate`. + - `xspread()`, `yspread()`, and `zspread()` to evenly space copies of an item along an axis. + - `xring()`, `yring()`, `zring()` to evenly space copies of an item around a circle. + - `skewxy()` that let you skew objects without using a `multmatrix()`. + - Easy mirroring with `xflip()`, `xflip_copy()`, etc. + - Slice items in half with `top_half()`, `left_half()`, `back_half()`, etc. ## shapes.scad -The ```shapes.scad``` library file provides useful compound shapes, such as: - - ```upcube()``` a ridiculously useful version of ```cube()``` that is centered on top of the XY plane. +The `shapes.scad` library file provides useful compound shapes, such as: + - `upcube()` a ridiculously useful version of `cube()` that is centered on top of the XY plane. - Filleted (rounded) and Chamferred (bevelled) cubes and cylinders. - - ```pyramid()``` and ```prism()``` - - The incredibly useful ```trapezoid()``` for non-parallelogram cubes. - - ```right_triangle()``` for the obvious shape. - - ```teardrop()``` and ```onion()``` for making more 3D printable holes. - - ```tube()``` and ```torus()``` for donut shapes. - - ```slot()``` and ```arced_slot()``` for making things like screw slots. - - ```thinning_wall()``` makes a vertical wall which thins in the middle, to reduce print volume. - - ```thinning_triangle()``` makes a right triangle which thins in the middle, to reduce print volume. - - ```sparse_strut()``` makes a cross-braced open strut wall, optimized for support-less 3D printing. - - ```corrugated_wall()``` makes a corrugated wall to reduce print volume while keeping strength. + - `pyramid()` and `prism()` + - The incredibly useful `trapezoid()` for non-parallelogram cubes. + - `right_triangle()` for the obvious shape. + - `teardrop()` and `onion()` for making more 3D printable holes. + - `tube()` and `torus()` for donut shapes. + - `slot()` and `arced_slot()` for making things like screw slots. + - `thinning_wall()` makes a vertical wall which thins in the middle, to reduce print volume. + - `thinning_triangle()` makes a right triangle which thins in the middle, to reduce print volume. + - `sparse_strut()` makes a cross-braced open strut wall, optimized for support-less 3D printing. + - `corrugated_wall()` makes a corrugated wall to reduce print volume while keeping strength. ## masks.scad -The ```masks.scad``` library file provides mask shapes like: - - ```angle_pie_mask()``` to mask a pie-slice shape. - - ```chamfer_mask_x()```, ```chamfer_mask_y()```, and ```chamfer_mask_z()``` to chamfer (bevel) an axis aligned 90 degree edge. - - ```fillet_mask_x()```, ```fillet_mask_y()```, and ```fillet_mask_z()``` to fillet (round) an axis aligned 90 degree edge. - - ```fillet_corner_mask()``` to fillet a 90 degree corner. - - ```fillet_angled_edge_mask()``` to fillet an acute or obtuse vertical edge. - - ```fillet_angled_corner_mask()``` to fillet the corner of two acute or obtuse planes. - - ```fillet_cylinder_mask()``` to fillet the end of a cylinder. - - ```fillet_hole_mask()``` to fillet the edge of a cylindrical hole. - \ No newline at end of file +The `masks.scad` library file provides mask shapes like: + - `angle_pie_mask()` to mask a pie-slice shape. + - `chamfer_mask_x()`, `chamfer_mask_y()`, and `chamfer_mask_z()` to chamfer (bevel) an axis aligned 90 degree edge. + - `fillet_mask_x()`, `fillet_mask_y()`, and `fillet_mask_z()` to fillet (round) an axis aligned 90 degree edge. + - `fillet_corner_mask()` to fillet a 90 degree corner. + - `fillet_angled_edge_mask()` to fillet an acute or obtuse vertical edge. + - `fillet_angled_corner_mask()` to fillet the corner of two acute or obtuse planes. + - `fillet_cylinder_mask()` to fillet the end of a cylinder. + - `fillet_hole_mask()` to fillet the edge of a cylindrical hole. + +## Documentation +The full library docs can be found at https://github.com/revarbat/BOSL/wiki + +