1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-09-24 21:41:33 +02:00
Files
dotSCAD/docs/lib3x-footprints2.md
2021-11-18 08:08:50 +08:00

56 lines
1.0 KiB
Markdown

# footprints2
Drive a turtle with `["forward", length]` or `["turn", angle]`. This function is intended to use a turtle to imitate freehand drawing.
**Since:** 2.4
## Parameters
- `cmds` : A list of `["forward", length]`s and `["turn", angle]`s.
- `start` : Set the start point of the turtle. Default to `[0, 0]`.
## Examples
use <polyline_join.scad>;
use <turtle/footprints2.scad>;
function 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 = footprints2(
concat(
[
["forward", 10],
["turn", 90],
["forward", 10]
],
arc_cmds(5, 180, 12),
[
["turn", -90],
["forward", 10],
["turn", 90],
["forward", 10],
["turn", 90],
["forward", 10]
]
)
);
polyline_join(poly)
circle(.5);
![footprints2](images/lib3x-footprints2-1.JPG)