1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-01-16 13:50:05 +01:00
dotSCAD/docs/lib3x-footprints3.md
2022-06-06 13:11:46 +08:00

1.1 KiB

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 <polyline_join.scad>
use <turtle/footprints3.scad>

function xy_arc_cmds(radius, angle, steps) = 
	let(
		fa = angle / steps,
		ta = fa / 2,
		leng = sin(ta) * radius * 2
	)
    [
        ["turn", ta],
        each [
			for(i = [0:steps - 2])
			each [["forward", leng], ["turn", fa]]
		],
        ["forward", leng], 
        ["turn", ta]
    ];

poly = footprints3(
    [
        ["forward", 10],
        ["turn", 90],
        ["forward", 10],
        each xy_arc_cmds(5, 180, 12),
        ["pitch", 90],
        ["forward", 10],
        ["roll", 90],
        each xy_arc_cmds(5, 180, 12),
        ["forward", 10]
    ]
);

polyline_join(poly)
    sphere(.5);

footprints3