mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-02-23 00:52:30 +01:00
56 lines
1.0 KiB
Markdown
56 lines
1.0 KiB
Markdown
# footprints3
|
|
|
|
A 3D verion of [footprint2](https://openhome.cc/eGossip/OpenSCAD/lib2x-footprints2.html).
|
|
|
|
**Since:** 2.4
|
|
|
|
## Parameters
|
|
|
|
- `cmds` : A list of `["forward", length]`s, `["turn", angle]`s, `["roll", angle]`s and `["pitch", angle]`s.
|
|
- `start` : Set the start point of the turtle. Default to `[0, 0, 0]`.
|
|
|
|
## Examples
|
|
|
|
use <hull_polyline3d.scad>;
|
|
use <turtle/footprints3.scad>;
|
|
|
|
function xy_arc_cmds(radius, angle, steps) =
|
|
let(
|
|
fa = angle / steps,
|
|
ta = fa / 2,
|
|
leng = sin(ta) * radius * 2
|
|
)
|
|
concat(
|
|
[["turn", ta]],
|
|
[
|
|
for(i = [0:steps - 2])
|
|
each [["forward", leng], ["turn", fa]]
|
|
],
|
|
[["forward", leng], ["turn", ta]]
|
|
);
|
|
|
|
poly = footprints3(
|
|
concat(
|
|
[
|
|
["forward", 10],
|
|
["turn", 90],
|
|
["forward", 10]
|
|
],
|
|
xy_arc_cmds(5, 180, 12),
|
|
[
|
|
["pitch", 90],
|
|
["forward", 10],
|
|
["roll", 90]
|
|
],
|
|
xy_arc_cmds(5, 180, 12),
|
|
[
|
|
["forward", 10]
|
|
]
|
|
)
|
|
);
|
|
|
|
hull_polyline3d(poly, thickness = 1);
|
|
|
|

|
|
|