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="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-banner/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="../../plugins/plugin-theme/dist/browser.js"></script>
@ -102,19 +103,21 @@
let settings1 = { ...settings };
var pattern1 = new freesewing.patterns.simon(settings1);
pattern1.use(freesewing.plugins.theme);
pattern1.use(freesewing.plugins.designer);
//pattern1.use(freesewing.plugins.designer);
pattern1.use(freesewing.plugins.flip);
pattern1.use(freesewing.plugins.banner);
pattern1.use(freesewing.plugins.debug);
pattern1.settings.options.yokeDart = 0;
pattern1.settings.options.lengthBonus = 0.1;
pattern1.settings.options.hemStyle = "aseball";
pattern1.settings.options.buttonholePlacketStyle = "classic";
pattern1.settings.options.hemStyle = "slashed";
pattern1.settings.options.buttonholePlacketType = "seperate";
pattern1.settings.options.buttonholePlacketStyle = "seamless";
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 = ["frontLeft"];
pattern1.settings.nly = ["sleeve"];
pattern1.draft();
document.getElementById("svg1").innerHTML = pattern1.render();

View file

@ -1320,6 +1320,11 @@
"integrity": "sha512-lhC+2+o5STB4JBUk2JVY4qAkcSsm+kIQzkmycr83Z8Y/6iD6Ap/WsJxlVL0PsuZe6QLjYqJkfqBlbFs5vC121Q==",
"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": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-bundle/-/plugin-bundle-0.7.1.tgz",

View file

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

View file

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

View file

@ -184,6 +184,40 @@ export default part => {
// 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;

View file

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

View file

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

View file

@ -38,6 +38,16 @@ export default part => {
// Title
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) {
paths.saFromArmhole.end().x = points.neckEdge.x - sa;
paths.hemSa.start().x = points.neckEdge.x - sa;
@ -50,6 +60,32 @@ export default part => {
// 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;
};

View file

@ -18,7 +18,6 @@ export default part => {
options
} = part.shorthand();
console.log("seamless buttonjholes");
let fold = options.buttonholePlacketFoldWidth;
let width = options.buttonholePlacketWidth;
points.placketCfNeck = points.cfNeck;
@ -79,6 +78,43 @@ export default part => {
// 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;
};

View file

@ -10,10 +10,20 @@ export default part => {
paperless,
points,
macro,
Path
Path,
paths
} = part.shorthand();
if (complete && paperless) {
if (complete) {
macro("banner", {
path: "hemSa",
text: ["hem", ": 3x", "seamAllowance"]
});
macro("banner", {
path: "saFrench",
text: ["frenchSeam", ": 2x", "seamAllowance"]
});
if (paperless) {
macro("ld", {
from: points.neck,
to: points.shoulder,
@ -110,6 +120,7 @@ export default part => {
});
}
}
}
return options.buttonholePlacketStyle === "seamless"
? frontLeftSeamless(part)

View file

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

View file

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