mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2024-12-29 00:09:41 +00:00
Changed all BOSL references to BOSL2.
This commit is contained in:
parent
6b0e796462
commit
a46ea27fca
34 changed files with 145 additions and 146 deletions
52
README.md
52
README.md
|
@ -1,12 +1,12 @@
|
|||
# BOSL
|
||||
The Belfry OpenScad Library - A library of tools, shapes, and helpers to make OpenScad easier to use.
|
||||
# BOSL2
|
||||
The Belfry OpenScad Library, v2 - A library of tools, shapes, and helpers to make OpenScad easier to use.
|
||||
|
||||
This library is a set of useful tools, shapes and manipulators that I developed while working on various
|
||||
projects, including large ones like the Snappy-Reprap printed 3D printer.
|
||||
|
||||
|
||||
## Terminology
|
||||
For purposes of the BOSL library, the following terms apply:
|
||||
For purposes of the BOSL2 library, the following terms apply:
|
||||
- **Left**: Towards X-
|
||||
- **Right**: Towards X+
|
||||
- **Front**/**Forward**: Towards Y-
|
||||
|
@ -30,7 +30,7 @@ align | Side of the origin that the part should be on. Given as a vector away
|
|||
## Examples
|
||||
A lot of the features of this library are to allow shorter, easier-to-read, intent-based coding. For example:
|
||||
|
||||
[`BOSL/transforms.scad`](https://github.com/revarbat/BOSL/wiki/transforms.scad) Examples | Raw OpenSCAD Equivalent
|
||||
[`BOSL2/transforms.scad`](https://github.com/revarbat/BOSL2/wiki/transforms.scad) Examples | Raw OpenSCAD Equivalent
|
||||
------------------------------- | -------------------------------
|
||||
`up(5)` | `translate([0,0,5])`
|
||||
`xrot(30,cp=[0,10,20])` | `translate([0,10,20]) rotate([30,0,0]) translate([0,-10,-20])`
|
||||
|
@ -38,7 +38,7 @@ A lot of the features of this library are to allow shorter, easier-to-read, inte
|
|||
`zring(n=6,r=20)` | `for (zr=[0:5]) rotate([0,0,zr*60]) translate([20,0,0])`
|
||||
`skew_xy(xa=30,ya=45)` | `multmatrix([[1,0,tan(30),0],[0,1,tan(45),0],[0,0,1,0],[0,0,0,1]])`
|
||||
|
||||
[`BOSL/shapes.scad`](https://github.com/revarbat/BOSL/wiki/shapes.scad) Examples | Raw OpenSCAD Equivalent
|
||||
[`BOSL2/shapes.scad`](https://github.com/revarbat/BOSL2/wiki/shapes.scad) Examples | Raw OpenSCAD Equivalent
|
||||
---------------------------------- | -------------------------------
|
||||
`upcube([10,20,30]);` | `translate([0,0,15]) cube([10,20,30], center=true);`
|
||||
`cuboid([20,20,30], fillet=5, edges=EDGES_Z_ALL);` | `minkowski() {cube([10,10,20], center=true); sphere(r=5, $fn=32);}`
|
||||
|
@ -46,7 +46,7 @@ A lot of the features of this library are to allow shorter, easier-to-read, inte
|
|||
`xcyl(l=20,d=4);` | `rotate([0,90,0]) cylinder(h=20, d=4, center=true);`
|
||||
`cyl(l=100, d=40, fillet=5);` | `translate([0,0,50]) minkowski() {cylinder(h=90, d=30, center=true); sphere(r=5);}`
|
||||
|
||||
[`BOSL/masks.scad`](https://github.com/revarbat/BOSL/wiki/masks.scad) Examples | Raw Openscad Equivalent
|
||||
[`BOSL2/masks.scad`](https://github.com/revarbat/BOSL2/wiki/masks.scad) Examples | Raw Openscad Equivalent
|
||||
----------------------------------- | -------------------------------
|
||||
`chamfer_mask_z(l=20,chamfer=5);` | `rotate(45) cube([5*sqrt(2), 5*sqrt(2), 20], center=true);`
|
||||
`fillet_mask_z(l=20,fillet=5);` | `difference() {cube([10,10,20], center=true); for(dx=[-5,5],dy=[-5,5]) translate([dx,dy,0]) cylinder(h=20.1, r=5, center=true);}`
|
||||
|
@ -57,30 +57,30 @@ A lot of the features of this library are to allow shorter, easier-to-read, inte
|
|||
The library files are as follows:
|
||||
|
||||
### Commonly Used
|
||||
- [`transforms.scad`](https://github.com/revarbat/BOSL/wiki/transforms.scad): The most commonly used transformations, manipulations, and shortcuts are in this file.
|
||||
- [`shapes.scad`](https://github.com/revarbat/BOSL/wiki/shapes.scad): Common useful shapes and structured objects.
|
||||
- [`masks.scad`](https://github.com/revarbat/BOSL/wiki/masks.scad): Shapes that are useful for masking with `difference()` and `intersect()`.
|
||||
- [`threading.scad`](https://github.com/revarbat/BOSL/wiki/threading.scad): Modules to make triangular and trapezoidal threaded rods and nuts.
|
||||
- [`paths.scad`](https://github.com/revarbat/BOSL/wiki/paths.scad): Functions and modules to work with arbitrary 3D paths.
|
||||
- [`beziers.scad`](https://github.com/revarbat/BOSL/wiki/beziers.scad): Functions and modules to work with bezier curves.
|
||||
- [`transforms.scad`](https://github.com/revarbat/BOSL2/wiki/transforms.scad): The most commonly used transformations, manipulations, and shortcuts are in this file.
|
||||
- [`shapes.scad`](https://github.com/revarbat/BOSL2/wiki/shapes.scad): Common useful shapes and structured objects.
|
||||
- [`masks.scad`](https://github.com/revarbat/BOSL2/wiki/masks.scad): Shapes that are useful for masking with `difference()` and `intersect()`.
|
||||
- [`threading.scad`](https://github.com/revarbat/BOSL2/wiki/threading.scad): Modules to make triangular and trapezoidal threaded rods and nuts.
|
||||
- [`paths.scad`](https://github.com/revarbat/BOSL2/wiki/paths.scad): Functions and modules to work with arbitrary 3D paths.
|
||||
- [`beziers.scad`](https://github.com/revarbat/BOSL2/wiki/beziers.scad): Functions and modules to work with bezier curves.
|
||||
|
||||
### Standard Parts
|
||||
- [`involute_gears.scad`](https://github.com/revarbat/BOSL/wiki/involute_gears.scad): Modules and functions to make involute gears and racks.
|
||||
- [`joiners.scad`](https://github.com/revarbat/BOSL/wiki/joiners.scad): Modules to make joiner shapes for connecting separately printed objects.
|
||||
- [`sliders.scad`](https://github.com/revarbat/BOSL/wiki/sliders.scad): Modules for creating simple sliders and rails.
|
||||
- [`metric_screws.scad`](https://github.com/revarbat/BOSL/wiki/metric_screws.scad): Functions and modules to make metric screws, nuts, and screwholes.
|
||||
- [`linear_bearings.scad`](https://github.com/revarbat/BOSL/wiki/linear_bearings.scad): Modules to make mounts for LMxUU style linear bearings.
|
||||
- [`nema_steppers.scad`](https://github.com/revarbat/BOSL/wiki/nema_steppers.scad): Modules to make mounting holes for NEMA motors.
|
||||
- [`phillips_drive.scad`](https://github.com/revarbat/BOSL/wiki/phillips_drive.scad): Modules to create Phillips screwdriver tips.
|
||||
- [`torx_drive.scad`](https://github.com/revarbat/BOSL/wiki/torx_drive.scad): Functions and Modules to create Torx bit drive holes.
|
||||
- [`wiring.scad`](https://github.com/revarbat/BOSL/wiki/wiring.scad): Modules to render routed bundles of wires.
|
||||
- [`involute_gears.scad`](https://github.com/revarbat/BOSL2/wiki/involute_gears.scad): Modules and functions to make involute gears and racks.
|
||||
- [`joiners.scad`](https://github.com/revarbat/BOSL2/wiki/joiners.scad): Modules to make joiner shapes for connecting separately printed objects.
|
||||
- [`sliders.scad`](https://github.com/revarbat/BOSL2/wiki/sliders.scad): Modules for creating simple sliders and rails.
|
||||
- [`metric_screws.scad`](https://github.com/revarbat/BOSL2/wiki/metric_screws.scad): Functions and modules to make metric screws, nuts, and screwholes.
|
||||
- [`linear_bearings.scad`](https://github.com/revarbat/BOSL2/wiki/linear_bearings.scad): Modules to make mounts for LMxUU style linear bearings.
|
||||
- [`nema_steppers.scad`](https://github.com/revarbat/BOSL2/wiki/nema_steppers.scad): Modules to make mounting holes for NEMA motors.
|
||||
- [`phillips_drive.scad`](https://github.com/revarbat/BOSL2/wiki/phillips_drive.scad): Modules to create Phillips screwdriver tips.
|
||||
- [`torx_drive.scad`](https://github.com/revarbat/BOSL2/wiki/torx_drive.scad): Functions and Modules to create Torx bit drive holes.
|
||||
- [`wiring.scad`](https://github.com/revarbat/BOSL2/wiki/wiring.scad): Modules to render routed bundles of wires.
|
||||
|
||||
### Miscellaneous
|
||||
- [`math.scad`](https://github.com/revarbat/BOSL/wiki/math.scad): Useful helper functions.
|
||||
- [`constants.scad`](https://github.com/revarbat/BOSL/wiki/constants.scad): Useful constants for vectors, edges, etc.
|
||||
- [`quaternions.scad`](https://github.com/revarbat/BOSL/wiki/quaternions.scad): Functions to work with quaternion rotations.
|
||||
- [`debug.scad`](https://github.com/revarbat/BOSL/wiki/debug.scad): Modules to help debug creation of beziers, `polygons()`s and `polyhedron()`s
|
||||
- [`math.scad`](https://github.com/revarbat/BOSL2/wiki/math.scad): Useful helper functions.
|
||||
- [`constants.scad`](https://github.com/revarbat/BOSL2/wiki/constants.scad): Useful constants for vectors, edges, etc.
|
||||
- [`quaternions.scad`](https://github.com/revarbat/BOSL2/wiki/quaternions.scad): Functions to work with quaternion rotations.
|
||||
- [`debug.scad`](https://github.com/revarbat/BOSL2/wiki/debug.scad): Modules to help debug creation of beziers, `polygons()`s and `polyhedron()`s
|
||||
|
||||
## Documentation
|
||||
The full library docs can be found at https://github.com/revarbat/BOSL/wiki
|
||||
The full library docs can be found at https://github.com/revarbat/BOSL2/wiki
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Bezier functions and modules.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/beziers.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/beziers.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -830,7 +830,7 @@ function bezier_triangle(tri, splinesteps=16, vertices=[], faces=[]) =
|
|||
// Arguments:
|
||||
// size = 2D XY size of the patch.
|
||||
// N = Degree of the patch to generate. Since this is flat, a degree of 1 should usually be sufficient.
|
||||
// orient = The orientation to rotate the edge patch into. Use the `ORIENT` constants in `BOSL/constants.scad`.
|
||||
// orient = The orientation to rotate the edge patch into. Use the `ORIENT` constants in `constants.scad`.
|
||||
// trans = Amount to translate patch, after rotating to `orient`.
|
||||
// Example(3D):
|
||||
// patch = bezier_patch_flat(size=[100,100], N=3);
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// Useful Constants.
|
||||
// To use this, add the following line to the top of your file.
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
// Functions to create 2D and 3D convex hulls.
|
||||
// To use, add the following line to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/convex_hull.scad>
|
||||
// include <BOSL2/convex_hull.scad>
|
||||
// ```
|
||||
// Derived from Linde's Hull:
|
||||
// - https://github.com/openscad/scad-utils
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
include <BOSL/math.scad>
|
||||
include <math.scad>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Helpers to make debugging OpenScad code easier.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/debug.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/debug.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
include <BOSL/constants.scad>
|
||||
include <BOSL/transforms.scad>
|
||||
include <BOSL/primitives.scad>
|
||||
include <BOSL/shapes.scad>
|
||||
include <BOSL/debug.scad>
|
||||
include <BOSL2/constants.scad>
|
||||
include <BOSL2/transforms.scad>
|
||||
include <BOSL2/primitives.scad>
|
||||
include <BOSL2/shapes.scad>
|
||||
include <BOSL2/debug.scad>
|
||||
|
||||
cuboid([60,40,40], fillet=5, edges=EDGES_Z_ALL, align="bottom") {
|
||||
attach("top") rounded_prismoid([60,40],[20,20], h=50, r1=5, r2=10) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include <BOSL/constants.scad>
|
||||
use <BOSL/transforms.scad>
|
||||
use <BOSL/beziers.scad>
|
||||
use <BOSL/math.scad>
|
||||
include <BOSL2/constants.scad>
|
||||
use <BOSL2/transforms.scad>
|
||||
use <BOSL2/beziers.scad>
|
||||
use <BOSL2/math.scad>
|
||||
|
||||
|
||||
function CR_corner(size, orient=[0,0,0], trans=[0,0,0]) =
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
include <BOSL/constants.scad>
|
||||
include <BOSL/primitives.scad>
|
||||
include <BOSL/debug.scad>
|
||||
include <BOSL2/constants.scad>
|
||||
include <BOSL2/primitives.scad>
|
||||
include <BOSL2/debug.scad>
|
||||
|
||||
|
||||
cylinder(h=30, d1=50, d2=30) show_connectors("cylinder");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include <BOSL/constants.scad>
|
||||
include <BOSL/transforms.scad>
|
||||
include <BOSL/primitives.scad>
|
||||
include <BOSL/beziers.scad>
|
||||
include <BOSL2/constants.scad>
|
||||
include <BOSL2/transforms.scad>
|
||||
include <BOSL2/primitives.scad>
|
||||
include <BOSL2/beziers.scad>
|
||||
|
||||
module leaf(s) {
|
||||
path = [
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use <BOSL/transforms.scad>
|
||||
use <BOSL/math.scad>
|
||||
include <BOSL/constants.scad>
|
||||
use <BOSL2/transforms.scad>
|
||||
use <BOSL2/math.scad>
|
||||
include <BOSL2/constants.scad>
|
||||
|
||||
// Shows all the orientations on cubes in their correct rotations.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
include <BOSL/constants.scad>
|
||||
include <BOSL/shapes.scad>
|
||||
include <BOSL/debug.scad>
|
||||
include <BOSL2/constants.scad>
|
||||
include <BOSL2/shapes.scad>
|
||||
include <BOSL2/debug.scad>
|
||||
|
||||
|
||||
prismoid([60,40], [30,20], h=40) show_connectors();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include <BOSL/constants.scad>
|
||||
include <BOSL/transforms.scad>
|
||||
include <BOSL/primitives.scad>
|
||||
include <BOSL/shapes.scad>
|
||||
include <BOSL2/constants.scad>
|
||||
include <BOSL2/transforms.scad>
|
||||
include <BOSL2/primitives.scad>
|
||||
include <BOSL2/shapes.scad>
|
||||
|
||||
|
||||
diff("hole", "body pole")
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
//
|
||||
// To use, add the following line to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/involute_gears.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/involute_gears.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Snap-together joiners.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/joiners.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/joiners.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Linear Bearing clips/holders.
|
||||
// To use, add these lines to the top of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/linear_bearings.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/linear_bearings.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Masking shapes.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/masks.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/masks.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// Math helper functions.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// use <BOSL/math.scad>
|
||||
// use <BOSL2/math.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Screws, Bolts, and Nuts.
|
||||
// To use, include the following lines at the top of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/metric_screws.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/metric_screws.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Masks and models for NEMA stepper motors.
|
||||
// To use, add these lines to the top of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/nema_steppers.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/nema_steppers.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Polylines, polygons and paths.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/paths.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/paths.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Phillips driver bits
|
||||
// To use, add these lines to the top of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/phillips_drive.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/phillips_drive.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
//////////////////////////////////////////////////////////////////////
|
||||
// LibFile: primitives.scad
|
||||
// The basic built-in shapes, reworked to integrate better with
|
||||
// other BOSL library shapes and utilities.
|
||||
// other BOSL2 library shapes and utilities.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/primitives.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/primitives.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// Support for Quaternions.
|
||||
// To use, add the following line to the beginning of your file:
|
||||
// ```
|
||||
// use <BOSL/quaternions.scad>
|
||||
// use <BOSL2/quaternions.scad>
|
||||
// ```
|
||||
///////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -101,9 +101,9 @@ class ImageProcessing(object):
|
|||
stdlibs = ["constants.scad", "math.scad", "transforms.scad", "shapes.scad", "debug.scad"]
|
||||
script = ""
|
||||
for lib in stdlibs:
|
||||
script += "include <BOSL/%s>\n" % lib
|
||||
script += "include <BOSL2/%s>\n" % lib
|
||||
if libfile not in stdlibs:
|
||||
script += "include <BOSL/%s>\n" % libfile
|
||||
script += "include <BOSL2/%s>\n" % libfile
|
||||
for line in self.commoncode:
|
||||
script += line+"\n"
|
||||
for line in code:
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
PREVIEW_LIBS="constants compat transforms shapes masks paths beziers math metric_screws threading involute_gears sliders joiners linear_bearings nema_steppers wiring triangulation quaternions phillips_drive torx_drive debug"
|
||||
|
||||
dir="$(basename $PWD)"
|
||||
if [ "$dir" = "BOSL" ]; then
|
||||
cd BOSL.wiki
|
||||
elif [ "$dir" != "BOSL.wiki" ]; then
|
||||
echo "Must run this script from the BOSL or BOSL/BOSL.wiki directories."
|
||||
if [ "$dir" = "BOSL2" ]; then
|
||||
cd BOSL2.wiki
|
||||
elif [ "$dir" != "BOSL2.wiki" ]; then
|
||||
echo "Must run this script from the BOSL2 or BOSL2/BOSL2.wiki directories."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Common useful shapes and structured objects.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/shapes.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/shapes.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Simple V-groove based sliders and rails.
|
||||
// To use, add these lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/sliders.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/sliders.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
include <BOSL/math.scad>
|
||||
include <BOSL/convex_hull.scad>
|
||||
include <BOSL2/math.scad>
|
||||
include <BOSL2/convex_hull.scad>
|
||||
|
||||
|
||||
testpoints_on_sphere = [ for(p =
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
include <BOSL/constants.scad>
|
||||
include <BOSL/math.scad>
|
||||
include <BOSL2/constants.scad>
|
||||
include <BOSL2/math.scad>
|
||||
|
||||
eps = 1e-9;
|
||||
|
||||
// Simple Calculations
|
||||
|
||||
|
@ -112,61 +111,61 @@ test_hypot();
|
|||
|
||||
|
||||
module test_sinh() {
|
||||
assert(abs(sinh(-2)+3.6268604078) < eps);
|
||||
assert(abs(sinh(-1)+1.1752011936) < eps);
|
||||
assert(abs(sinh(0)) < eps);
|
||||
assert(abs(sinh(1)-1.1752011936) < eps);
|
||||
assert(abs(sinh(2)-3.6268604078) < eps);
|
||||
assert(abs(sinh(-2)+3.6268604078) < EPSILON);
|
||||
assert(abs(sinh(-1)+1.1752011936) < EPSILON);
|
||||
assert(abs(sinh(0)) < EPSILON);
|
||||
assert(abs(sinh(1)-1.1752011936) < EPSILON);
|
||||
assert(abs(sinh(2)-3.6268604078) < EPSILON);
|
||||
}
|
||||
test_sinh();
|
||||
|
||||
|
||||
module test_cosh() {
|
||||
assert(abs(cosh(-2)-3.7621956911) < eps);
|
||||
assert(abs(cosh(-1)-1.5430806348) < eps);
|
||||
assert(abs(cosh(0)-1) < eps);
|
||||
assert(abs(cosh(1)-1.5430806348) < eps);
|
||||
assert(abs(cosh(2)-3.7621956911) < eps);
|
||||
assert(abs(cosh(-2)-3.7621956911) < EPSILON);
|
||||
assert(abs(cosh(-1)-1.5430806348) < EPSILON);
|
||||
assert(abs(cosh(0)-1) < EPSILON);
|
||||
assert(abs(cosh(1)-1.5430806348) < EPSILON);
|
||||
assert(abs(cosh(2)-3.7621956911) < EPSILON);
|
||||
}
|
||||
test_cosh();
|
||||
|
||||
|
||||
module test_tanh() {
|
||||
assert(abs(tanh(-2)+0.9640275801) < eps);
|
||||
assert(abs(tanh(-1)+0.761594156) < eps);
|
||||
assert(abs(tanh(0)) < eps);
|
||||
assert(abs(tanh(1)-0.761594156) < eps);
|
||||
assert(abs(tanh(2)-0.9640275801) < eps);
|
||||
assert(abs(tanh(-2)+0.9640275801) < EPSILON);
|
||||
assert(abs(tanh(-1)+0.761594156) < EPSILON);
|
||||
assert(abs(tanh(0)) < EPSILON);
|
||||
assert(abs(tanh(1)-0.761594156) < EPSILON);
|
||||
assert(abs(tanh(2)-0.9640275801) < EPSILON);
|
||||
}
|
||||
test_tanh();
|
||||
|
||||
|
||||
module test_asinh() {
|
||||
assert(abs(asinh(sinh(-2))+2) < eps);
|
||||
assert(abs(asinh(sinh(-1))+1) < eps);
|
||||
assert(abs(asinh(sinh(0))) < eps);
|
||||
assert(abs(asinh(sinh(1))-1) < eps);
|
||||
assert(abs(asinh(sinh(2))-2) < eps);
|
||||
assert(abs(asinh(sinh(-2))+2) < EPSILON);
|
||||
assert(abs(asinh(sinh(-1))+1) < EPSILON);
|
||||
assert(abs(asinh(sinh(0))) < EPSILON);
|
||||
assert(abs(asinh(sinh(1))-1) < EPSILON);
|
||||
assert(abs(asinh(sinh(2))-2) < EPSILON);
|
||||
}
|
||||
test_asinh();
|
||||
|
||||
|
||||
module test_acosh() {
|
||||
assert(abs(acosh(cosh(-2))-2) < eps);
|
||||
assert(abs(acosh(cosh(-1))-1) < eps);
|
||||
assert(abs(acosh(cosh(0))) < eps);
|
||||
assert(abs(acosh(cosh(1))-1) < eps);
|
||||
assert(abs(acosh(cosh(2))-2) < eps);
|
||||
assert(abs(acosh(cosh(-2))-2) < EPSILON);
|
||||
assert(abs(acosh(cosh(-1))-1) < EPSILON);
|
||||
assert(abs(acosh(cosh(0))) < EPSILON);
|
||||
assert(abs(acosh(cosh(1))-1) < EPSILON);
|
||||
assert(abs(acosh(cosh(2))-2) < EPSILON);
|
||||
}
|
||||
test_acosh();
|
||||
|
||||
|
||||
module test_atanh() {
|
||||
assert(abs(atanh(tanh(-2))+2) < eps);
|
||||
assert(abs(atanh(tanh(-1))+1) < eps);
|
||||
assert(abs(atanh(tanh(0))) < eps);
|
||||
assert(abs(atanh(tanh(1))-1) < eps);
|
||||
assert(abs(atanh(tanh(2))-2) < eps);
|
||||
assert(abs(atanh(tanh(-2))+2) < EPSILON);
|
||||
assert(abs(atanh(tanh(-1))+1) < EPSILON);
|
||||
assert(abs(atanh(tanh(0))) < EPSILON);
|
||||
assert(abs(atanh(tanh(1))-1) < EPSILON);
|
||||
assert(abs(atanh(tanh(2))-2) < EPSILON);
|
||||
}
|
||||
test_atanh();
|
||||
|
||||
|
@ -519,11 +518,11 @@ module test_normalize() {
|
|||
assert(normalize([10,0,0]) == [1,0,0]);
|
||||
assert(normalize([0,10,0]) == [0,1,0]);
|
||||
assert(normalize([0,0,10]) == [0,0,1]);
|
||||
assert(abs(norm(normalize([10,10,10]))-1) < eps);
|
||||
assert(abs(norm(normalize([-10,-10,-10]))-1) < eps);
|
||||
assert(abs(norm(normalize([-10,0,0]))-1) < eps);
|
||||
assert(abs(norm(normalize([0,-10,0]))-1) < eps);
|
||||
assert(abs(norm(normalize([0,0,-10]))-1) < eps);
|
||||
assert(abs(norm(normalize([10,10,10]))-1) < EPSILON);
|
||||
assert(abs(norm(normalize([-10,-10,-10]))-1) < EPSILON);
|
||||
assert(abs(norm(normalize([-10,0,0]))-1) < EPSILON);
|
||||
assert(abs(norm(normalize([0,-10,0]))-1) < EPSILON);
|
||||
assert(abs(norm(normalize([0,0,-10]))-1) < EPSILON);
|
||||
}
|
||||
test_normalize();
|
||||
|
||||
|
@ -539,18 +538,18 @@ module test_vector_angle() {
|
|||
assert(vector_angle(a,b)==90);
|
||||
}
|
||||
}
|
||||
assert(abs(vector_angle([10,10,0],[10,0,0])-45) < eps);
|
||||
assert(abs(vector_angle([10,10,0],[10,0,0])-45) < EPSILON);
|
||||
}
|
||||
test_vector_angle();
|
||||
|
||||
|
||||
module test_vector_axis() {
|
||||
assert(norm(vector_axis([10,0,0],[10,10,0]) - [0,0,1]) < eps);
|
||||
assert(norm(vector_axis([10,0,0],[0,10,0]) - [0,0,1]) < eps);
|
||||
assert(norm(vector_axis([0,10,0],[10,0,0]) - [0,0,-1]) < eps);
|
||||
assert(norm(vector_axis([0,0,10],[10,0,0]) - [0,1,0]) < eps);
|
||||
assert(norm(vector_axis([10,0,0],[0,0,10]) - [0,-1,0]) < eps);
|
||||
assert(norm(vector_axis([10,0,10],[0,-10,0]) - [sin(45),0,-sin(45)]) < eps);
|
||||
assert(norm(vector_axis([10,0,0],[10,10,0]) - [0,0,1]) < EPSILON);
|
||||
assert(norm(vector_axis([10,0,0],[0,10,0]) - [0,0,1]) < EPSILON);
|
||||
assert(norm(vector_axis([0,10,0],[10,0,0]) - [0,0,-1]) < EPSILON);
|
||||
assert(norm(vector_axis([0,0,10],[10,0,0]) - [0,1,0]) < EPSILON);
|
||||
assert(norm(vector_axis([10,0,0],[0,0,10]) - [0,-1,0]) < EPSILON);
|
||||
assert(norm(vector_axis([10,0,10],[0,-10,0]) - [sin(45),0,-sin(45)]) < EPSILON);
|
||||
}
|
||||
test_vector_axis();
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Triangular and Trapezoidal-Threaded Screw Rods and Nuts.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/threading.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/threading.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// Torx driver bits
|
||||
// To use, add these lines to the top of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/torx_drive.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/torx_drive.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
// This is the file that the most commonly used transformations, distributors, and mutator are in.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// include <BOSL/constants.scad>
|
||||
// use <BOSL/transforms.scad>
|
||||
// include <BOSL2/constants.scad>
|
||||
// use <BOSL2/transforms.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// Functions to triangulate polyhedron faces.
|
||||
// To use, add the following lines to the beginning of your file:
|
||||
// ```
|
||||
// use <BOSL/triangulation.scad>
|
||||
// use <BOSL2/triangulation.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// Rendering for wiring bundles
|
||||
// To use, include the following line at the top of your file:
|
||||
// ```
|
||||
// use <BOSL/wiring.scad>
|
||||
// use <BOSL2/wiring.scad>
|
||||
// ```
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
Loading…
Reference in a new issue