wip(simon): Ported Brian's s3 options to yoke
This commit is contained in:
parent
2a3d20e4ab
commit
045e41d293
5 changed files with 21 additions and 17 deletions
|
@ -23,6 +23,8 @@ export default {
|
||||||
],
|
],
|
||||||
style: [
|
style: [
|
||||||
'splitYoke',
|
'splitYoke',
|
||||||
|
's3Collar',
|
||||||
|
's3Armhole',
|
||||||
'hemStyle',
|
'hemStyle',
|
||||||
'hemCurve',
|
'hemCurve',
|
||||||
'boxPleat',
|
'boxPleat',
|
||||||
|
@ -217,6 +219,9 @@ export default {
|
||||||
lengthBonus: { pct: 25, min: -4, max: 60 },
|
lengthBonus: { pct: 25, min: -4, max: 60 },
|
||||||
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 },
|
||||||
|
// s3 is short for Shoulder Seam Shift
|
||||||
|
s3Collar: { pct: 0, min: -100, max: 100 },
|
||||||
|
s3Armhole: { pct: 0, min: -100, max: 100 },
|
||||||
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 },
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import { calculateReduction } from './shared'
|
import { calculateReduction } from './shared'
|
||||||
|
|
||||||
export default (part) => {
|
export default (part) => {
|
||||||
part.paths = {} // Removes paperless dimensions from brian
|
|
||||||
let {
|
let {
|
||||||
store,
|
store,
|
||||||
measurements,
|
measurements,
|
||||||
|
@ -237,6 +236,7 @@ export default (part) => {
|
||||||
|
|
||||||
// Paperless?
|
// Paperless?
|
||||||
if (paperless) {
|
if (paperless) {
|
||||||
|
macro('rmad') // Removes paperless dimensions from brian
|
||||||
if (store.get('backDarts')) {
|
if (store.get('backDarts')) {
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.dartBottom,
|
from: points.dartBottom,
|
||||||
|
|
|
@ -23,7 +23,7 @@ export default (part) => {
|
||||||
return part
|
return part
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let id of Object.keys(part.paths)) delete part.paths[id]
|
for (let id in paths) delete part.paths[id]
|
||||||
let width = options.buttonholePlacketWidth
|
let width = options.buttonholePlacketWidth
|
||||||
let fold = options.buttonholePlacketFoldWidth
|
let fold = options.buttonholePlacketFoldWidth
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ export default (part) => {
|
||||||
return part
|
return part
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let id of Object.keys(part.paths)) {
|
for (let id in paths) {
|
||||||
if (id !== 'seam') delete part.paths[id]
|
if (id !== 'seam') delete part.paths[id]
|
||||||
}
|
}
|
||||||
macro('flip')
|
macro('flip')
|
||||||
|
|
|
@ -13,7 +13,9 @@ export default (part) => {
|
||||||
options,
|
options,
|
||||||
} = part.shorthand()
|
} = part.shorthand()
|
||||||
|
|
||||||
for (let id of Object.keys(part.paths)) delete part.paths[id]
|
for (let id in paths) {
|
||||||
|
if (['backCollar', 'backArmhole'].indexOf(id) === -1) delete part.paths[id]
|
||||||
|
}
|
||||||
|
|
||||||
// Cut off at yoke
|
// Cut off at yoke
|
||||||
points.cbYoke = new Point(0, points.armholePitch.y)
|
points.cbYoke = new Point(0, points.armholePitch.y)
|
||||||
|
@ -22,19 +24,18 @@ export default (part) => {
|
||||||
paths.saBase = new Path()
|
paths.saBase = new Path()
|
||||||
.move(points.cbYoke)
|
.move(points.cbYoke)
|
||||||
.line(points.armholePitch)
|
.line(points.armholePitch)
|
||||||
.curve(points.armholePitchCp2, points.shoulderCp1, points.shoulder)
|
.join(paths.backArmhole)
|
||||||
.line(points.neck)
|
.line(points.s3CollarSplit)
|
||||||
.curve_(points.neckCp2, points.cbNeck)
|
.join(paths.backCollar)
|
||||||
if (options.splitYoke) paths.saBase = paths.saBase.line(points.cbYoke).close()
|
if (options.splitYoke) paths.saBase = paths.saBase.line(points.cbYoke).close()
|
||||||
else {
|
else {
|
||||||
for (let p of ['neckCp2', 'neck', 'shoulder', 'shoulderCp1', 'armholePitchCp2', 'armholePitch'])
|
macro('mirror', {
|
||||||
points['_' + p] = points[p].flipX()
|
mirror: [points.cbNeck,points.cbYoke],
|
||||||
paths.saBase
|
paths: [paths.saBase],
|
||||||
._curve(points._neckCp2, points._neck)
|
clone: true
|
||||||
.line(points._shoulder)
|
})
|
||||||
.curve(points._shoulderCp1, points._armholePitchCp2, points._armholePitch)
|
paths.saBase = paths.saBase.join(paths.mirroredSaBase.reverse())
|
||||||
.line(points.cbYoke)
|
paths.mirroredSaBase.setRender(false)
|
||||||
.close()
|
|
||||||
}
|
}
|
||||||
paths.seam = paths.saBase.clone()
|
paths.seam = paths.saBase.clone()
|
||||||
paths.saBase.render = false
|
paths.saBase.render = false
|
||||||
|
@ -62,8 +63,6 @@ export default (part) => {
|
||||||
from: points.grainlineFrom,
|
from: points.grainlineFrom,
|
||||||
to: points.grainlineTo,
|
to: points.grainlineTo,
|
||||||
})
|
})
|
||||||
snippets.sleeveNotchA = new Snippet('bnotch', points.armholePitch)
|
|
||||||
snippets.sleeveNotchB = new Snippet('bnotch', points._armholePitch)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sa) {
|
if (sa) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue