footprints3


A 3D verion of footprint2.

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);

footprints3