1
0
Fork 0

Added tutorial pattern

This commit is contained in:
Joost De Cock 2019-05-30 21:19:06 +02:00
parent a1e9badc2c
commit 7d9e41ec6f
28 changed files with 11984 additions and 0 deletions

View file

@ -0,0 +1,61 @@
export default function(part) {
let {
Point,
points,
Path,
paths,
measurements,
options,
macro
} = part.shorthand();
let rotateThese = [
"edgeTopLeftCp",
"edgeTop",
"tipRight",
"tipRightTop",
"tipRightTopStart",
"tipRightTopCp1",
"tipRightTopCp2",
"tipRightTopEnd",
"tipRightBottomStart",
"tipRightBottomCp1",
"tipRightBottomCp2",
"tipRightBottomEnd",
"tipRightBottom",
"top",
"topCp2"
];
while (points.tipRightBottomStart.x > -1) {
for (let p of rotateThese) points[p] = points[p].rotate(1, points.edgeLeft);
}
points.snapLeft = points.top.shiftFractionTowards(points.edgeTop, 0.5);
macro("round", {
from: points.edgeTop,
to: points.tipRight,
via: points.tipRightTop,
prefix: "tipRightTop",
render: true
});
macro("round", {
from: points.tipRight,
to: points.top,
via: points.tipRightBottom,
prefix: "tipRightBottom",
render: true
});
paths.rect = new Path()
.move(points.edgeTop)
.curve(points.edgeTopLeftCp, points.edgeLeftCp, points.edgeLeft)
.line(points.bottomLeft)
.line(points.bottomRight)
.line(points.edgeRight)
.curve(points.edgeRightCp, points.edgeTopRightCp, points.edgeTop)
.close();
return part;
}