sparkles: Paperless front left
This commit is contained in:
parent
3f447019e0
commit
c152c42976
12 changed files with 229 additions and 90 deletions
|
@ -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();
|
||||
|
||||
|
|
5
packages/simon/package-lock.json
generated
5
packages/simon/package-lock.json
generated
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"]
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"]
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue