1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-01-17 22:28:16 +01:00
dotSCAD/docs/lib3x-footprints3.md
2021-02-24 21:09:54 +08:00

1.0 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 <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