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: [ 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 },

View file

@ -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,

View file

@ -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

View file

@ -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')

View file

@ -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) {