1
0
Fork 0

sparkles: Paperless front left

This commit is contained in:
Joost De Cock 2018-12-28 15:42:53 +01:00
parent 3f447019e0
commit c152c42976
12 changed files with 229 additions and 90 deletions

View file

@ -19,6 +19,7 @@
<script type="text/javascript" src="../../freesewing/dist/browser.js"></script> <script type="text/javascript" src="../../freesewing/dist/browser.js"></script>
<script type="text/javascript" src="node_modules/@freesewing/plugin-bundle/dist/browser.js"></script> <script type="text/javascript" src="node_modules/@freesewing/plugin-bundle/dist/browser.js"></script>
<script type="text/javascript" src="node_modules/@freesewing/plugin-sprinkle/dist/browser.js"></script> <script type="text/javascript" src="node_modules/@freesewing/plugin-sprinkle/dist/browser.js"></script>
<script type="text/javascript" src="node_modules/@freesewing/plugin-banner/dist/browser.js"></script>
<script type="text/javascript" src="dist/browser.js"></script> <script type="text/javascript" src="dist/browser.js"></script>
<!-- <script type="text/javascript" src="node_modules/@freesewing/plugin-theme/dist/browser.js"></script> --> <!-- <script type="text/javascript" src="node_modules/@freesewing/plugin-theme/dist/browser.js"></script> -->
<script type="text/javascript" src="../../plugins/plugin-theme/dist/browser.js"></script> <script type="text/javascript" src="../../plugins/plugin-theme/dist/browser.js"></script>
@ -102,19 +103,21 @@
let settings1 = { ...settings }; let settings1 = { ...settings };
var pattern1 = new freesewing.patterns.simon(settings1); var pattern1 = new freesewing.patterns.simon(settings1);
pattern1.use(freesewing.plugins.theme); pattern1.use(freesewing.plugins.theme);
pattern1.use(freesewing.plugins.designer); //pattern1.use(freesewing.plugins.designer);
pattern1.use(freesewing.plugins.flip); pattern1.use(freesewing.plugins.flip);
pattern1.use(freesewing.plugins.banner);
pattern1.use(freesewing.plugins.debug); pattern1.use(freesewing.plugins.debug);
pattern1.settings.options.yokeDart = 0; pattern1.settings.options.yokeDart = 0;
pattern1.settings.options.lengthBonus = 0.1; pattern1.settings.options.lengthBonus = 0.1;
pattern1.settings.options.hemStyle = "aseball"; pattern1.settings.options.hemStyle = "slashed";
pattern1.settings.options.buttonholePlacketStyle = "classic"; pattern1.settings.options.buttonholePlacketType = "seperate";
pattern1.settings.options.buttonholePlacketStyle = "seamless";
pattern1.settings.options.cuffButtonRows = 2; pattern1.settings.options.cuffButtonRows = 2;
pattern1.settings.options.barrelCuffNarrowButton = "yes"; pattern1.settings.options.barrelCuffNarrowButton = "yes";
pattern1.settings.options.cuffStyle = "straightBarrelCuff"; pattern1.settings.options.cuffStyle = "straightBarrelCuff";
pattern1.settings.options.splitYoke = "yes"; pattern1.settings.options.splitYoke = "yes";
pattern1.settings.sa = 10; pattern1.settings.sa = 10;
pattern1.settings.only = ["frontLeft"]; pattern1.settings.nly = ["sleeve"];
pattern1.draft(); pattern1.draft();
document.getElementById("svg1").innerHTML = pattern1.render(); document.getElementById("svg1").innerHTML = pattern1.render();

View file

@ -1320,6 +1320,11 @@
"integrity": "sha512-lhC+2+o5STB4JBUk2JVY4qAkcSsm+kIQzkmycr83Z8Y/6iD6Ap/WsJxlVL0PsuZe6QLjYqJkfqBlbFs5vC121Q==", "integrity": "sha512-lhC+2+o5STB4JBUk2JVY4qAkcSsm+kIQzkmycr83Z8Y/6iD6Ap/WsJxlVL0PsuZe6QLjYqJkfqBlbFs5vC121Q==",
"dev": true "dev": true
}, },
"@freesewing/plugin-banner": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-banner/-/plugin-banner-0.2.0.tgz",
"integrity": "sha512-URf6rpXtq9woxu8/NRlTsCDU/CxAY2wm92lBqVkqvMIzQRx1BDPnowXe/F5QnT6hfh/HIKUaAyA9AYlyia8nTA=="
},
"@freesewing/plugin-bundle": { "@freesewing/plugin-bundle": {
"version": "0.7.1", "version": "0.7.1",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-bundle/-/plugin-bundle-0.7.1.tgz", "resolved": "https://registry.npmjs.org/@freesewing/plugin-bundle/-/plugin-bundle-0.7.1.tgz",

View file

@ -48,6 +48,7 @@
}, },
"dependencies": { "dependencies": {
"@freesewing/brian": "^0.22.0", "@freesewing/brian": "^0.22.0",
"@freesewing/plugin-banner": "0.2.0",
"@freesewing/plugin-bundle": "^0.7.1", "@freesewing/plugin-bundle": "^0.7.1",
"@freesewing/plugin-buttons": "0.1.0", "@freesewing/plugin-buttons": "0.1.0",
"@freesewing/plugin-flip": "0.1.1", "@freesewing/plugin-flip": "0.1.1",

View file

@ -216,6 +216,10 @@ export default part => {
.move(paths.sa.end()) .move(paths.sa.end())
.line(points.cbYoke) .line(points.cbYoke)
.attr("class", "fabric sa"); .attr("class", "fabric sa");
macro("banner", {
path: "hemSa",
text: ["hem", ": 3x", "seamAllowance"]
});
} }
} }

View file

@ -184,6 +184,40 @@ export default part => {
// Paperless? // Paperless?
if (paperless) { if (paperless) {
let offset = 0;
for (let pid of [
"placketBottomOuterEdgeUnder",
"placketBottomOuterEdgeFold",
"placketBottomOuterEdgeOver",
"placketCfHem",
"placketBottomInnerEdgeOver",
"placketBottomInnerEdgeFold",
"placketBottomInnerEdgeUnder"
]) {
offset += 15;
macro("hd", {
from: points.placketBottomEdge,
to: points[pid],
y: points.placketBottomEdge.y + offset + 3 * sa
});
}
let len =
points.cfNeck.dist(points.cfHips) * (1 - options.buttonFreeLength);
points.button0 = points.placketTopEdge;
let j;
for (let i = 0; i < options.buttons; i++) {
j = i + 1;
macro("vd", {
from: points["button" + j],
to: points["button" + i],
x: points.placketTopEdge.x - 15
});
}
macro("vd", {
from: points.placketBottomEdge,
to: points.placketTopEdge,
x: points.placketTopEdge.x - 30
});
} }
return part; return part;

View file

@ -74,7 +74,6 @@ export default part => {
delta = draft(tweak); delta = draft(tweak);
tweak = tweak * (1 - delta / 1000); tweak = tweak * (1 - delta / 1000);
run++; run++;
console.log("tweak is", tweak, "run", run, "delta", delta);
} while (Math.abs(delta) > 1 && run < 20); } while (Math.abs(delta) > 1 && run < 20);
paths.seam = new Path() paths.seam = new Path()

View file

@ -189,6 +189,11 @@ export default part => {
to: points.neck, to: points.neck,
y: points.placketTopEdge.y - offset - sa - 15 y: points.placketTopEdge.y - offset - sa - 15
}); });
macro("hd", {
from: points.placketTopEdge,
to: points.shoulder,
y: points.placketTopEdge.y - offset - sa - 30
});
let len = let len =
points.cfNeck.dist(points.cfHips) * (1 - options.buttonFreeLength); points.cfNeck.dist(points.cfHips) * (1 - options.buttonFreeLength);
points.button0 = points.placketTopEdge; points.button0 = points.placketTopEdge;

View file

@ -38,6 +38,16 @@ export default part => {
// Title // Title
macro("title", { at: points.title, nr: "2a", title: "frontLeft" }); macro("title", { at: points.title, nr: "2a", title: "frontLeft" });
delete snippets["cfWaist-notch"];
delete snippets["cfHips-notch"];
delete snippets["cfArmhole-notch"];
points.edgeArmhole = new Point(points.neckEdge.x, points.armhole.y);
points.edgeWaist = new Point(points.neckEdge.x, points.waist.y);
points.edgeHips = new Point(points.neckEdge.x, points.hips.y);
macro("sprinkle", {
snippet: "notch",
on: ["edgeArmhole", "edgeWaist", "edgeHips"]
});
if (sa) { if (sa) {
paths.saFromArmhole.end().x = points.neckEdge.x - sa; paths.saFromArmhole.end().x = points.neckEdge.x - sa;
paths.hemSa.start().x = points.neckEdge.x - sa; paths.hemSa.start().x = points.neckEdge.x - sa;
@ -50,6 +60,32 @@ export default part => {
// Paperless? // Paperless?
if (paperless) { if (paperless) {
macro("hd", {
from: points.neckEdge,
to: points.neck,
y: points.neck.y - sa - 15
});
macro("hd", {
from: points.neckEdge,
to: points.shoulder,
y: points.neck.y - sa - 30
});
macro("vd", {
from: points.neckEdge,
to: points.neck,
x: points.neckEdge.x - sa - 15
});
macro("vd", {
from: points.hemEdge,
to: points.neck,
x: points.neckEdge.x - sa - 30
});
for (let pid of ["Armhole", "Waist", "Hips"]) {
macro("hd", {
from: points["edge" + pid],
to: points[pid.toLowerCase()]
});
}
} }
return part; return part;
}; };

View file

@ -18,7 +18,6 @@ export default part => {
options options
} = part.shorthand(); } = part.shorthand();
console.log("seamless buttonjholes");
let fold = options.buttonholePlacketFoldWidth; let fold = options.buttonholePlacketFoldWidth;
let width = options.buttonholePlacketWidth; let width = options.buttonholePlacketWidth;
points.placketCfNeck = points.cfNeck; points.placketCfNeck = points.cfNeck;
@ -79,6 +78,43 @@ export default part => {
// Paperless? // Paperless?
if (paperless) { if (paperless) {
let offset = 0;
for (let pid of [
"placketBottomFold2",
"placketBottomFold1",
"cfHem",
"slashEnd",
"hips"
]) {
offset += 15;
macro("hd", {
from: points.placketBottomEdge,
to: points[pid],
y: points.placketBottomEdge.y + offset + 3 * sa
});
}
macro("hd", {
from: points.placketTopEdge,
to: points.neck,
y: points.neck.y - 15 - sa
});
let len =
points.cfNeck.dist(points.cfHips) * (1 - options.buttonFreeLength);
points.button0 = points.placketTopEdge;
let j;
for (let i = 0; i < options.buttons; i++) {
j = i + 1;
macro("vd", {
from: points["button" + j],
to: points["button" + i],
x: points.placketTopEdge.x - 15
});
}
macro("vd", {
from: points.placketBottomEdge,
to: points.placketTopEdge,
x: points.placketTopEdge.x - 30
});
} }
return part; return part;
}; };

View file

@ -10,104 +10,115 @@ export default part => {
paperless, paperless,
points, points,
macro, macro,
Path Path,
paths
} = part.shorthand(); } = part.shorthand();
if (complete && paperless) { if (complete) {
macro("ld", { macro("banner", {
from: points.neck, path: "hemSa",
to: points.shoulder, text: ["hem", ": 3x", "seamAllowance"]
d: 15 + sa
}); });
macro("pd", { macro("banner", {
path: new Path() path: "saFrench",
.move(points.armholePitch) text: ["frenchSeam", ": 2x", "seamAllowance"]
.curve(points.armholePitchCp2, points.shoulderCp1, points.shoulder),
d: -15
}); });
macro("vd", { if (paperless) {
from: points.armhole, macro("ld", {
to: points.armholePitch, from: points.neck,
x: points.armhole.x + 15 + sa * 2 to: points.shoulder,
}); d: 15 + sa
macro("vd", { });
from: points.armhole, macro("pd", {
to: points.shoulder, path: new Path()
x: points.armhole.x + 30 + sa * 2 .move(points.armholePitch)
}); .curve(points.armholePitchCp2, points.shoulderCp1, points.shoulder),
macro("vd", { d: -15
from: points.armhole,
to: points.neck,
x: points.armhole.x + 45 + sa * 2
});
macro("vd", {
from: points.waist,
to: points.armhole,
x: points.armhole.x + 15 + sa * 2
});
macro("vd", {
from: points.hips,
to: points.armhole,
x: points.armhole.x + 30 + sa * 2
});
if (options.hemStyle === "baseball") {
macro("vd", {
from: points.bballStart,
to: points.bballEnd,
x: points.hips.x + 15 + 2 * sa
}); });
macro("vd", { macro("vd", {
from: points.bballStart, from: points.armhole,
to: points.hips, to: points.armholePitch,
x: points.hips.x + 30 + 2 * sa x: points.armhole.x + 15 + sa * 2
}); });
macro("vd", { macro("vd", {
from: points.bballStart, from: points.armhole,
to: points.armhole, to: points.shoulder,
x: points.hips.x + 45 + 2 * sa x: points.armhole.x + 30 + sa * 2
}); });
macro("vd", { macro("vd", {
from: points.bballStart, from: points.armhole,
to: points.neck, to: points.neck,
x: points.hips.x + 60 + 2 * sa x: points.armhole.x + 45 + sa * 2
});
macro("hd", {
from: points.bballStart,
to: points.bballEnd,
y: points.bballStart.y + 15 + 3 * sa
});
} else if (options.hemStyle === "slashed") {
macro("vd", {
from: points.slashEnd,
to: points.slashStart,
x: points.hips.x + 15 + 3 * sa
}); });
macro("vd", { macro("vd", {
from: points.slashEnd, from: points.waist,
to: points.hips,
x: points.hips.x + 30 + 3 * sa
});
macro("vd", {
from: points.slashEnd,
to: points.armhole, to: points.armhole,
x: points.hips.x + 45 + 3 * sa x: points.armhole.x + 15 + sa * 2
}); });
macro("vd", { macro("vd", {
from: points.slashEnd, from: points.hips,
to: points.neck,
x: points.hips.x + 60 + 3 * sa
});
} else {
macro("vd", {
from: points.hem,
to: points.armhole, to: points.armhole,
x: points.armhole.x + 45 + 2 * sa x: points.armhole.x + 30 + sa * 2
});
macro("vd", {
from: points.hem,
to: points.neck,
x: points.armhole.x + 60 + 2 * sa
}); });
if (options.hemStyle === "baseball") {
macro("vd", {
from: points.bballStart,
to: points.bballEnd,
x: points.hips.x + 15 + 2 * sa
});
macro("vd", {
from: points.bballStart,
to: points.hips,
x: points.hips.x + 30 + 2 * sa
});
macro("vd", {
from: points.bballStart,
to: points.armhole,
x: points.hips.x + 45 + 2 * sa
});
macro("vd", {
from: points.bballStart,
to: points.neck,
x: points.hips.x + 60 + 2 * sa
});
macro("hd", {
from: points.bballStart,
to: points.bballEnd,
y: points.bballStart.y + 15 + 3 * sa
});
} else if (options.hemStyle === "slashed") {
macro("vd", {
from: points.slashEnd,
to: points.slashStart,
x: points.hips.x + 15 + 3 * sa
});
macro("vd", {
from: points.slashEnd,
to: points.hips,
x: points.hips.x + 30 + 3 * sa
});
macro("vd", {
from: points.slashEnd,
to: points.armhole,
x: points.hips.x + 45 + 3 * sa
});
macro("vd", {
from: points.slashEnd,
to: points.neck,
x: points.hips.x + 60 + 3 * sa
});
} else {
macro("vd", {
from: points.hem,
to: points.armhole,
x: points.armhole.x + 45 + 2 * sa
});
macro("vd", {
from: points.hem,
to: points.neck,
x: points.armhole.x + 60 + 2 * sa
});
}
} }
} }

View file

@ -68,7 +68,7 @@ export const decorateBarrelCuff = part => {
// Title // Title
points.title = new Point(points.bottomRight.x / 2, points.bottomRight.y / 2); points.title = new Point(points.bottomRight.x / 2, points.bottomRight.y / 2);
macro("title", { macro("title", {
nr: 10, nr: 11,
title: "cuff", title: "cuff",
at: points.title, at: points.title,
scale: 0.8 scale: 0.8
@ -139,7 +139,7 @@ export const decorateFrenchCuff = part => {
// Title // Title
points.title = new Point(points.bottomRight.x / 2, points.bottomRight.y / 2); points.title = new Point(points.bottomRight.x / 2, points.bottomRight.y / 2);
macro("title", { macro("title", {
nr: 10, nr: 11,
title: "cuff", title: "cuff",
at: points.title, at: points.title,
scale: 0.8 scale: 0.8

View file

@ -164,12 +164,17 @@ export default part => {
macro("grainline", { from: points.cuffMid, to: points.sleeveTip }); macro("grainline", { from: points.cuffMid, to: points.sleeveTip });
if (sa) { if (sa) {
paths.sa = paths.frenchBase paths.sa = paths.frenchBase.offset(sa * 2);
.offset(sa * 2) paths.frenchSa = paths.sa.clone();
paths.sa = paths.sa
.join(paths.saBase.offset(sa)) .join(paths.saBase.offset(sa))
.join(paths.cuffBase.offset(sa)) .join(paths.cuffBase.offset(sa))
.close() .close()
.attr("class", "fabric sa"); .attr("class", "fabric sa");
macro("banner", {
path: "frenchSa",
text: ["frenchSean", ": 2x", "seamAllowance"]
});
} }
} }