diff --git a/README.md b/README.md index f28f8cbe..6bb5a059 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ These examples incubate dotSCAD and dotSCAD refactors these examples. See [examp - [crystal_ball](https://openhome.cc/eGossip/OpenSCAD/lib3x-crystal_ball.html) - [function_grapher](https://openhome.cc/eGossip/OpenSCAD/lib3x-function_grapher.html) - [hull_polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib3x-hull_polyline3d.html) -- [line3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-line3d.html) +- [line3d](https://openhome.cc/eGossip/OpenSCAD/lib3x-line3d.html) - [loft](https://openhome.cc/eGossip/OpenSCAD/lib2x-loft.html) - [polyhedron_hull](https://openhome.cc/eGossip/OpenSCAD/lib2x-polyhedron_hull.html) - [polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-polyline3d.html) diff --git a/docs/images/lib2x-line3d-1.JPG b/docs/images/lib3x-line3d-1.JPG similarity index 100% rename from docs/images/lib2x-line3d-1.JPG rename to docs/images/lib3x-line3d-1.JPG diff --git a/docs/images/lib2x-line3d-2.JPG b/docs/images/lib3x-line3d-2.JPG similarity index 100% rename from docs/images/lib2x-line3d-2.JPG rename to docs/images/lib3x-line3d-2.JPG diff --git a/docs/images/lib2x-line3d-3.JPG b/docs/images/lib3x-line3d-3.JPG similarity index 100% rename from docs/images/lib2x-line3d-3.JPG rename to docs/images/lib3x-line3d-3.JPG diff --git a/docs/lib2x-line3d.md b/docs/lib3x-line3d.md similarity index 85% rename from docs/lib2x-line3d.md rename to docs/lib3x-line3d.md index cff01605..f4a6fd14 100644 --- a/docs/lib2x-line3d.md +++ b/docs/lib3x-line3d.md @@ -6,7 +6,7 @@ Creates a 3D line from two points. - `p1` : 3 element vector `[x, y, z]`. - `p2` : 3 element vector `[x, y, z]`. -- `thickness` : The line thickness. +- `diameter` : The line diameter. Default to 1. - `p1Style` : The end-cap style of the point `p1`. The value must be `"CAP_BUTT"`, `"CAP_CIRCLE"` or `"CAP_SPHERE"`. The default value is `"CAP_CIRCLE"`. - `p2Style` : The end-cap style of the point `p2`. The value must be `"CAP_BUTT"`, `"CAP_CIRCLE"` or `"CAP_SPHERE"`. The default value is `"CAP_CIRCLE"`. - `$fa`, `$fs`, `$fn` : Used by the `circle` or `sphere` module internally. Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) or [the sphere module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#sphere) for more details. The final fragments of a circle will be a multiple of 4 to fit edges. @@ -18,34 +18,34 @@ Creates a 3D line from two points. line3d( p1 = [0, 0, 0], p2 = [10, 2, 10], - thickness = 1, + diameter = 1, $fn = 24 ); -![line3d](images/lib2x-line3d-1.JPG) +![line3d](images/lib3x-line3d-1.JPG) use ; line3d( p1 = [0, 0, 0], p2 = [10, 2, 10], - thickness = 1, + diameter = 1, p1Style = "CAP_BUTT", p2Style = "CAP_BUTT", $fn = 24 ); -![line3d](images/lib2x-line3d-2.JPG) +![line3d](images/lib3x-line3d-2.JPG) use ; line3d( p1 = [0, 0, 0], p2 = [10, 2, 10], - thickness = 1, + diameter = 1, p1Style = "CAP_SPHERE", p2Style = "CAP_SPHERE", $fn = 24 ); -![line3d](images/lib2x-line3d-3.JPG) +![line3d](images/lib3x-line3d-3.JPG) diff --git a/examples/turtle/tree.scad b/examples/turtle/tree.scad index 145f1a08..50cf0930 100644 --- a/examples/turtle/tree.scad +++ b/examples/turtle/tree.scad @@ -2,25 +2,25 @@ use ; use ; module tree(t, leng, leng_scale1, leng_scale2, leng_limit, - angleZ, angleX, width) { + angleZ, angleX, diameter) { if(leng > leng_limit) { t2 = t3d(t, "xforward", leng = leng); line3d( t3d(t, "point"), t3d(t2, "point"), - width); + diameter); tree( t3d(t2, "zturn", angle = angleZ), leng * leng_scale1, leng_scale1, leng_scale2, leng_limit, angleZ, angleX, - width); + diameter); tree( t3d(t2, "xturn", angle = angleX), leng * leng_scale2, leng_scale1, leng_scale2, leng_limit, angleZ, angleX, - width); + diameter); } } @@ -30,9 +30,9 @@ leng_scale1 = 0.4; leng_scale2 = 0.9; angleZ = 60; angleX = 135; -width = 2; +diameter = 2; t = t3d(point = [0, 0, 0]); tree(t, leng, leng_scale1, leng_scale2, leng_limit, - angleZ, angleX, width); \ No newline at end of file + angleZ, angleX, diameter); \ No newline at end of file diff --git a/src/line3d.scad b/src/line3d.scad index b643965f..2f25b062 100644 --- a/src/line3d.scad +++ b/src/line3d.scad @@ -4,15 +4,15 @@ * @copyright Justin Lin, 2017 * @license https://opensource.org/licenses/lgpl-3.0.html * -* @see https://openhome.cc/eGossip/OpenSCAD/lib2x-line3d.html +* @see https://openhome.cc/eGossip/OpenSCAD/lib3x-line3d.html * **/ use <__comm__/__frags.scad>; use <__comm__/__nearest_multiple_of_4.scad>; -module line3d(p1, p2, thickness, p1Style = "CAP_CIRCLE", p2Style = "CAP_CIRCLE") { - r = thickness / 2; +module line3d(p1, p2, diameter = 1, p1Style = "CAP_CIRCLE", p2Style = "CAP_CIRCLE") { + r = diameter / 2; frags = __nearest_multiple_of_4(__frags(r)); half_fa = 180 / frags;