/* * This collar would benefit from a redesign * but I find collar design to be rather tricky business and * would love the input from someone with more pattern design * experience, or more tailoring exprience. */ export default function(part) { let { paperless, sa, snippets, complete, points, macro, paths, Path } = part.shorthand(); // Clean up for (let i of Object.keys(paths)) delete paths[i]; for (let i of Object.keys(snippets)) delete snippets[i]; paths.seam = new Path() .move(points.collarCbTop) .curve_(points.collarCbTopCp, points.notchTip) .line(points.notch) .line(points.collarstandTip) ._curve(points.collarstandCbTopCp, points.collarstandCbTop) .line(points.collarCbTop) .close() .attr("class", "various"); if (complete) { // Title points.title = points.collarCbTopCp.shiftFractionTowards(points.collarstandCbTopCp, 0.5); macro("title", { at: points.title, nr: 6, title: "underCollar" }); if (sa) { paths.sa1 = new Path() .move(points.collarstandCbTop) .line(points.collarCbTop) .offset(sa); paths.sa2 = new Path() .move(points.collarstandTip) .line(points.notch) .line(points.notchTip) .offset(-1 * sa); paths.sa = new Path() .move(points.collarstandTip) .line(paths.sa2.start()) .join(paths.sa2) .line(points.notchTip) .move(points.collarstandCbTop) .line(paths.sa1.start()) .line(paths.sa1.end()) .line(points.collarCbTop) .attr("class", "various sa"); paths.sa1.render = false; paths.sa2.render = false; } if (paperless) { macro("hd", { from: points.collarstandCbTop, to: points.collarstandTip, y: points.collarstandCbTop.y - 15 }); macro("hd", { from: points.collarstandCbTop, to: points.notch, y: points.collarstandCbTop.y - 30 }); macro("hd", { from: points.collarCbTop, to: points.notchTip, y: points.notchTip.y + 15 }); macro("vd", { from: points.collarCbTop, to: points.collarstandCbTop, x: points.collarCbTop.x - sa - 15 }); macro("ld", { from: points.collarstandTip, to: points.notch, d: sa + 15 }); macro("ld", { from: points.notchTip, to: points.notch, d: -15 - sa }); macro("vd", { from: points.notchTip, to: points.collarstandCbTop, x: points.notch.x + sa + 40 }); } } return part; }