1
0
Fork 0

wip(simon): Ported Brian's s3 options to yoke

This commit is contained in:
Joost De Cock 2021-06-16 18:57:41 +02:00
parent 2a3d20e4ab
commit 045e41d293
5 changed files with 21 additions and 17 deletions

View file

@ -23,6 +23,8 @@ export default {
],
style: [
'splitYoke',
's3Collar',
's3Armhole',
'hemStyle',
'hemCurve',
'boxPleat',
@ -217,6 +219,9 @@ export default {
lengthBonus: { pct: 25, min: -4, max: 60 },
shoulderEase: { pct: 2, min: 0, max: 15 },
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 },
sleevecapTopFactorX: { pct: 50, min: 25, max: 75 },
sleevecapTopFactorY: { pct: 100, min: 35, max: 165 },

View file

@ -1,7 +1,6 @@
import { calculateReduction } from './shared'
export default (part) => {
part.paths = {} // Removes paperless dimensions from brian
let {
store,
measurements,
@ -237,6 +236,7 @@ export default (part) => {
// Paperless?
if (paperless) {
macro('rmad') // Removes paperless dimensions from brian
if (store.get('backDarts')) {
macro('vd', {
from: points.dartBottom,

View file

@ -23,7 +23,7 @@ export default (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 fold = options.buttonholePlacketFoldWidth

View file

@ -23,7 +23,7 @@ export default (part) => {
return part
}
for (let id of Object.keys(part.paths)) {
for (let id in paths) {
if (id !== 'seam') delete part.paths[id]
}
macro('flip')

View file

@ -13,7 +13,9 @@ export default (part) => {
options,
} = 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
points.cbYoke = new Point(0, points.armholePitch.y)
@ -22,19 +24,18 @@ export default (part) => {
paths.saBase = new Path()
.move(points.cbYoke)
.line(points.armholePitch)
.curve(points.armholePitchCp2, points.shoulderCp1, points.shoulder)
.line(points.neck)
.curve_(points.neckCp2, points.cbNeck)
.join(paths.backArmhole)
.line(points.s3CollarSplit)
.join(paths.backCollar)
if (options.splitYoke) paths.saBase = paths.saBase.line(points.cbYoke).close()
else {
for (let p of ['neckCp2', 'neck', 'shoulder', 'shoulderCp1', 'armholePitchCp2', 'armholePitch'])
points['_' + p] = points[p].flipX()
paths.saBase
._curve(points._neckCp2, points._neck)
.line(points._shoulder)
.curve(points._shoulderCp1, points._armholePitchCp2, points._armholePitch)
.line(points.cbYoke)
.close()
macro('mirror', {
mirror: [points.cbNeck,points.cbYoke],
paths: [paths.saBase],
clone: true
})
paths.saBase = paths.saBase.join(paths.mirroredSaBase.reverse())
paths.mirroredSaBase.setRender(false)
}
paths.seam = paths.saBase.clone()
paths.saBase.render = false
@ -62,8 +63,6 @@ export default (part) => {
from: points.grainlineFrom,
to: points.grainlineTo,
})
snippets.sleeveNotchA = new Snippet('bnotch', points.armholePitch)
snippets.sleeveNotchB = new Snippet('bnotch', points._armholePitch)
}
if (sa) {