diff --git a/packages/simon/index.html b/packages/simon/index.html index e3a155149b9..7b22b6be765 100644 --- a/packages/simon/index.html +++ b/packages/simon/index.html @@ -105,18 +105,17 @@ let settings1 = { ...settings }; pattern1.use(freesewing.plugins.designer); pattern1.use(freesewing.plugins.flip); pattern1.use(freesewing.plugins.debug); - pattern1.settings.options.yokeDart = 0.15; + pattern1.settings.options.yokeDart = 0; pattern1.settings.options.lengthBonus = 0.1; - pattern1.settings.options.hemStyle = "slashed"; + pattern1.settings.options.hemStyle = "baseball"; pattern1.settings.options.buttonholePlacketStyle = "classic"; pattern1.settings.options.cuffButtonRows = 2; pattern1.settings.options.barrelCuffNarrowButton = "yes"; pattern1.settings.options.cuffStyle = "straightBarrelCuff"; pattern1.settings.options.splitYoke = "yes"; pattern1.settings.sa = 10; - pattern1.settings.only = ["sleeve", "cuff"]; + pattern1.settings.only = ["back"]; pattern1.draft(); - console.log(pattern1); document.getElementById("svg1").innerHTML = pattern1.render(); function pointHover(evt) { diff --git a/packages/simon/src/back.js b/packages/simon/src/back.js index e29e178a14b..ddd15aa8cba 100644 --- a/packages/simon/src/back.js +++ b/packages/simon/src/back.js @@ -1,6 +1,7 @@ import { calculateReduction } from "./shared"; export default part => { + part.paths = {}; // Removes paperless dimensions from brian let { store, measurements, @@ -220,6 +221,120 @@ export default part => { // Paperless? if (paperless) { + if (reduce / 4 > options.minimalDartShaping) { + macro("vd", { + from: points.dartBottom, + to: points.dartCenterIn, + x: points.dartCenterIn.x - 15 + }); + macro("vd", { + from: points.dartCenterIn, + to: points.dartTop, + x: points.dartCenterIn.x - 15 + }); + macro("hd", { + from: points.dartCenterIn, + to: points.dartCenterOut, + y: points.dartBottom.y + 15 + }); + macro("hd", { + from: points.dartCenterOut, + to: points.waist + }); + macro("hd", { + from: points.cbWaist, + to: points.dartCenterIn + }); + } else { + macro("hd", { + from: points.cbWaist, + to: points.waist + }); + } + let bottomRight; + if (typeof points.slashEnd !== "undefined") { + macro("hd", { + from: points.cbHem, + to: points.slashEnd, + y: points.cbHem.y + 15 + 3 * sa + }); + macro("vd", { + from: points.slashEnd, + to: points.slashStart, + x: points.slashStart.x + 15 + 3 * sa + }); + bottomRight = points.slashEnd; + } else if (typeof points.bballStart !== "undefined") { + macro("hd", { + from: points.cbHem, + to: points.bballStart, + y: points.cbHem.y + 15 + 3 * sa + }); + macro("vd", { + from: points.bballStart, + to: points.bballEnd, + x: points.hips.x + 15 + sa + }); + bottomRight = points.bballStart; + } else bottomRight = points.hem; + macro("hd", { + from: points.cbHem, + to: points.hips, + y: points.cbHem.y + 30 + 3 * sa + }); + macro("vd", { + from: bottomRight, + to: points.hips, + x: points.hips.x + 30 + sa + }); + macro("vd", { + from: bottomRight, + to: points.waist, + x: points.hips.x + 45 + sa + }); + macro("vd", { + from: bottomRight, + to: points.armhole, + x: points.hips.x + 60 + sa + }); + if (options.yokeDart > 0) { + macro("vd", { + from: points.armhole, + to: points.yokeDartEdge, + x: points.armhole.x + 15 + sa + }); + macro("vd", { + from: points.armhole, + to: points.yokeDartTip, + x: points.armhole.x + 30 + sa + }); + macro("hd", { + from: points.cbYoke, + to: points.yokeDartTip, + y: points.cbYoke.y - 15 - sa + }); + macro("hd", { + from: points.cbYoke, + to: points.yokeDartEdge, + y: points.cbYoke.y - 30 - sa + }); + } else { + macro("vd", { + from: points.armhole, + to: points.armholePitch, + x: points.armhole.x + 15 + sa + }); + macro("hd", { + from: points.cbYoke, + to: points.armholePitch, + y: points.cbYoke.y - 15 - sa + }); + } + macro("vd", { + from: points.cbHem, + to: points.cbYoke, + x: points.cbHem.x - 15 + }); } return part;