1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-01-17 14:18:13 +01:00
dotSCAD/docs/lib-helix.md

55 lines
1.4 KiB
Markdown
Raw Normal View History

2017-04-07 14:28:55 +08:00
# helix
2017-03-23 15:03:35 +08:00
2017-05-06 20:30:11 +08:00
Gets all points on the path of a spiral around a cylinder. Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
2017-03-23 15:03:35 +08:00
## Parameters
2017-05-06 20:30:11 +08:00
- `radius` : The radius of the cylinder. It also accepts a vector `[r1, r2]`. `r1` is the bottom radius and `r2` the top radius of a cone.
2017-03-23 15:03:35 +08:00
- `levels` : The level count is performed every 360 degrees.
- `level_dist` : The distance between two vertial points.
2017-03-30 12:17:51 +08:00
- `vt_dir` : `"SPI_DOWN"` for spiraling down. `"SPI_UP"` for spiraling up. The default value is `"SPI_DOWN"`.
- `rt_dir` : `"CT_CLK"` for counterclockwise. `"CLK"` for clockwise. The default value is `"CT_CLK"`.
2017-03-23 15:03:35 +08:00
- `$fa`, `$fs`, `$fn` : Check [the cylinder module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#cylinder) for more details.
## Examples
2017-04-07 14:28:55 +08:00
include <helix.scad>;
2017-03-23 15:03:35 +08:00
include <hull_polyline3d.scad>;
$fn = 12;
2017-04-07 14:28:55 +08:00
points = helix(
2017-03-23 15:03:35 +08:00
radius = 40,
levels = 10,
level_dist = 10,
vt_dir = "SPI_UP",
rt_dir = "CLK"
);
for(p = points) {
translate(p) sphere(5);
}
hull_polyline3d(points, 2);
2017-04-07 14:28:55 +08:00
![helix](images/lib-helix-1.JPG)
2017-03-23 15:03:35 +08:00
2017-05-06 20:30:11 +08:00
include <helix.scad>;
include <hull_polyline3d.scad>;
$fn = 12;
points = helix(
radius = [40, 20],
levels = 10,
level_dist = 10,
vt_dir = "SPI_UP",
rt_dir = "CLK"
);
hull_polyline3d(points, 2);
%cylinder(h = 100, r1 = 40, r2 = 20);
![helix](images/lib-helix-2.JPG)