feat(simon[e]): Added ffsa option for flet-felled seam allowance
Closes #1251
This commit is contained in:
parent
8bf3119e03
commit
b106a2b4dd
6 changed files with 26 additions and 22 deletions
|
@ -78,6 +78,7 @@ export default {
|
||||||
'boxPleatWidth',
|
'boxPleatWidth',
|
||||||
'boxPleatFold',
|
'boxPleatFold',
|
||||||
'backDartShaping',
|
'backDartShaping',
|
||||||
|
'ffsa',
|
||||||
{
|
{
|
||||||
sleevecap: [
|
sleevecap: [
|
||||||
'sleevecapEase',
|
'sleevecapEase',
|
||||||
|
@ -225,6 +226,7 @@ export default {
|
||||||
// s3 is short for Shoulder Seam Shift
|
// s3 is short for Shoulder Seam Shift
|
||||||
s3Collar: { pct: 0, min: -100, max: 100 },
|
s3Collar: { pct: 0, min: -100, max: 100 },
|
||||||
s3Armhole: { pct: 0, min: -100, max: 100 },
|
s3Armhole: { pct: 0, min: -100, max: 100 },
|
||||||
|
ffsa: {pct: 150, min: 100, max:200 },
|
||||||
sleevecapEase: { pct: 0, min: 0, max: 3 },
|
sleevecapEase: { pct: 0, min: 0, max: 3 },
|
||||||
sleevecapTopFactorX: { pct: 50, min: 25, max: 75 },
|
sleevecapTopFactorX: { pct: 50, min: 25, max: 75 },
|
||||||
sleevecapTopFactorY: { pct: 100, min: 35, max: 165 },
|
sleevecapTopFactorY: { pct: 100, min: 35, max: 165 },
|
||||||
|
|
|
@ -122,7 +122,7 @@ export default (part) => {
|
||||||
})
|
})
|
||||||
|
|
||||||
if (sa) {
|
if (sa) {
|
||||||
paths.saFrench = paths.saBase.offset(sa * 2).attr('class', 'fabric sa')
|
paths.saFrench = paths.saBase.offset(sa * options.ffsa).attr('class', 'fabric sa')
|
||||||
paths.saFromArmhole = paths.saBaseFromArmhole.offset(sa).attr('class', 'fabric sa')
|
paths.saFromArmhole = paths.saBaseFromArmhole.offset(sa).attr('class', 'fabric sa')
|
||||||
paths.hemSa = paths.hemBase.offset(sa * 3).attr('class', 'fabric sa')
|
paths.hemSa = paths.hemBase.offset(sa * 3).attr('class', 'fabric sa')
|
||||||
paths.saConnect = new Path()
|
paths.saConnect = new Path()
|
||||||
|
|
|
@ -216,27 +216,27 @@ export const frontDimensions = (part, side = 'left') => {
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.armhole,
|
from: points.armhole,
|
||||||
to: points.armholePitch,
|
to: points.armholePitch,
|
||||||
x: points.armhole.x + (15 + sa * 2) * factor,
|
x: points.armhole.x + (15 + sa * options.ffsa) * factor,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.armhole,
|
from: points.armhole,
|
||||||
to: points.s3ArmholeSplit,
|
to: points.s3ArmholeSplit,
|
||||||
x: points.armhole.x + (30 + sa * 2) * factor,
|
x: points.armhole.x + (30 + sa * options.ffsa) * factor,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.armhole,
|
from: points.armhole,
|
||||||
to: points.s3CollarSplit,
|
to: points.s3CollarSplit,
|
||||||
x: points.armhole.x + (45 + sa * 2) * factor,
|
x: points.armhole.x + (45 + sa * options.ffsa) * factor,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.waist,
|
from: points.waist,
|
||||||
to: points.armhole,
|
to: points.armhole,
|
||||||
x: points.armhole.x + (15 + sa * 2) * factor,
|
x: points.armhole.x + (15 + sa * options.ffsa) * factor,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.hips,
|
from: points.hips,
|
||||||
to: points.armhole,
|
to: points.armhole,
|
||||||
x: points.armhole.x + (30 + sa * 2) * factor,
|
x: points.armhole.x + (30 + sa * options.ffsa) * factor,
|
||||||
})
|
})
|
||||||
macro('ld', {
|
macro('ld', {
|
||||||
from: points.cfWaist,
|
from: points.cfWaist,
|
||||||
|
@ -246,22 +246,22 @@ export const frontDimensions = (part, side = 'left') => {
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.bballStart,
|
from: points.bballStart,
|
||||||
to: points.bballEnd,
|
to: points.bballEnd,
|
||||||
x: points.hips.x + (15 + 2 * sa) * factor,
|
x: points.hips.x + (15 + options.ffsa * sa) * factor,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.bballStart,
|
from: points.bballStart,
|
||||||
to: points.hips,
|
to: points.hips,
|
||||||
x: points.hips.x + (30 + 2 * sa) * factor,
|
x: points.hips.x + (30 + options.ffsa * sa) * factor,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.bballStart,
|
from: points.bballStart,
|
||||||
to: points.armhole,
|
to: points.armhole,
|
||||||
x: points.hips.x + (45 + 2 * sa) * factor,
|
x: points.hips.x + (45 + options.ffsa * sa) * factor,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.bballStart,
|
from: points.bballStart,
|
||||||
to: points.s3CollarSplit,
|
to: points.s3CollarSplit,
|
||||||
x: points.hips.x + (60 + 2 * sa) * factor,
|
x: points.hips.x + (60 + options.ffsa * sa) * factor,
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.bballStart,
|
from: points.bballStart,
|
||||||
|
@ -293,12 +293,12 @@ export const frontDimensions = (part, side = 'left') => {
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.hem,
|
from: points.hem,
|
||||||
to: points.armhole,
|
to: points.armhole,
|
||||||
x: points.armhole.x + (45 + 2 * sa) * factor,
|
x: points.armhole.x + (45 + options.ffsa * sa) * factor,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.hem,
|
from: points.hem,
|
||||||
to: points.s3CollarSplit,
|
to: points.s3CollarSplit,
|
||||||
x: points.armhole.x + (60 + 2 * sa) * factor,
|
x: points.armhole.x + (60 + options.ffsa * sa) * factor,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,7 +145,7 @@ 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.offset(sa * 2)
|
paths.sa = paths.frenchBase.offset(sa * options.ffsa)
|
||||||
paths.frenchSa = paths.sa.clone()
|
paths.frenchSa = paths.sa.clone()
|
||||||
paths.sa = paths.sa
|
paths.sa = paths.sa
|
||||||
.join(paths.saBase.offset(sa))
|
.join(paths.saBase.offset(sa))
|
||||||
|
@ -164,27 +164,27 @@ export default (part) => {
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.backNotch,
|
from: points.backNotch,
|
||||||
to: points.sleeveTip,
|
to: points.sleeveTip,
|
||||||
y: points.sleeveTip.y - 15 - sa * 2,
|
y: points.sleeveTip.y - 15 - sa * options.ffsa,
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.sleeveTip,
|
from: points.sleeveTip,
|
||||||
to: points.frontNotch,
|
to: points.frontNotch,
|
||||||
y: points.sleeveTip.y - 15 - sa * 2,
|
y: points.sleeveTip.y - 15 - sa * options.ffsa,
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.bicepsLeft,
|
from: points.bicepsLeft,
|
||||||
to: points.sleeveTip,
|
to: points.sleeveTip,
|
||||||
y: points.sleeveTip.y - 30 - sa * 2,
|
y: points.sleeveTip.y - 30 - sa * opions.ffsa,
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.sleeveTip,
|
from: points.sleeveTip,
|
||||||
to: points.bicepsRight,
|
to: points.bicepsRight,
|
||||||
y: points.sleeveTip.y - 30 - sa * 2,
|
y: points.sleeveTip.y - 30 - sa * options.ffsa,
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.bicepsLeft,
|
from: points.bicepsLeft,
|
||||||
to: points.bicepsRight,
|
to: points.bicepsRight,
|
||||||
y: points.sleeveTip.y - 45 - sa * 2,
|
y: points.sleeveTip.y - 45 - sa * options.ffsa,
|
||||||
})
|
})
|
||||||
macro('pd', {
|
macro('pd', {
|
||||||
path: new Path()
|
path: new Path()
|
||||||
|
@ -200,17 +200,17 @@ export default (part) => {
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.wristRight,
|
from: points.wristRight,
|
||||||
to: points.bicepsRight,
|
to: points.bicepsRight,
|
||||||
x: points.bicepsRight.x + 15 + sa * 2,
|
x: points.bicepsRight.x + 15 + sa * options.ffsa,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.bicepsRight,
|
from: points.bicepsRight,
|
||||||
to: points.frontNotch,
|
to: points.frontNotch,
|
||||||
x: points.bicepsRight.x + 15 + sa * 2,
|
x: points.bicepsRight.x + 15 + sa * options.ffsa,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.bicepsRight,
|
from: points.bicepsRight,
|
||||||
to: points.sleeveTip,
|
to: points.sleeveTip,
|
||||||
x: points.bicepsRight.x + 30 + sa * 2,
|
x: points.bicepsRight.x + 30 + sa * options.ffsa,
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.bicepsLeft,
|
from: points.bicepsLeft,
|
||||||
|
|
|
@ -83,6 +83,7 @@ export default {
|
||||||
'bustDartAngle',
|
'bustDartAngle',
|
||||||
'bustDartLength',
|
'bustDartLength',
|
||||||
'frontDartLength',
|
'frontDartLength',
|
||||||
|
'ffsa',
|
||||||
{
|
{
|
||||||
sleevecap: [
|
sleevecap: [
|
||||||
'sleevecapEase',
|
'sleevecapEase',
|
||||||
|
@ -234,6 +235,7 @@ export default {
|
||||||
shoulderEase: { pct: 2, min: 0, max: 15 },
|
shoulderEase: { pct: 2, min: 0, max: 15 },
|
||||||
shoulderSlopeReduction: { pct: 0, min: 0, max: 8 },
|
shoulderSlopeReduction: { pct: 0, min: 0, max: 8 },
|
||||||
yokeHeight: { pct: 55, min: 10, max: 90 },
|
yokeHeight: { pct: 55, min: 10, max: 90 },
|
||||||
|
ffsa: {pct: 150, min: 100, max:200 },
|
||||||
// s3 is short for Shoulder Seam Shift
|
// s3 is short for Shoulder Seam Shift
|
||||||
s3Collar: { pct: 0, min: -100, max: 100 },
|
s3Collar: { pct: 0, min: -100, max: 100 },
|
||||||
s3Armhole: { pct: 0, min: -100, max: 100 },
|
s3Armhole: { pct: 0, min: -100, max: 100 },
|
||||||
|
|
|
@ -361,7 +361,7 @@ export default (part) => {
|
||||||
paths.saBase.render = false
|
paths.saBase.render = false
|
||||||
|
|
||||||
if (complete && sa) {
|
if (complete && sa) {
|
||||||
paths.saFrench = paths.saBase.offset(sa * 2).attr('class', 'fabric sa')
|
paths.saFrench = paths.saBase.offset(sa * options.ffsa).attr('class', 'fabric sa')
|
||||||
paths.saFromArmhole = paths.saBaseFromArmhole.offset(sa).attr('class', 'fabric sa')
|
paths.saFromArmhole = paths.saBaseFromArmhole.offset(sa).attr('class', 'fabric sa')
|
||||||
paths.hemSa = paths.hemBase.offset(sa * 3).attr('class', 'fabric sa')
|
paths.hemSa = paths.hemBase.offset(sa * 3).attr('class', 'fabric sa')
|
||||||
paths.saConnect = new Path()
|
paths.saConnect = new Path()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue