Dimensions, grainline, i18n
This commit is contained in:
parent
78f8f21a39
commit
a5c5a7f862
7 changed files with 325 additions and 81 deletions
|
@ -1,7 +1,138 @@
|
||||||
{
|
{
|
||||||
"t": "Tristan",
|
"t": "Tristan",
|
||||||
"d": "A FreeSewing pattern that needs a description",
|
"d": "A FreeSewing pattern that needs a description",
|
||||||
"p": { },
|
"p": {
|
||||||
"s": { },
|
"backInside": "Back inside",
|
||||||
"o": { }
|
"backOutside": "Back outside",
|
||||||
|
"backPoints": "Back base",
|
||||||
|
"frontInside": "Front inside",
|
||||||
|
"frontOutside": "Front outside",
|
||||||
|
"frontPoints": "Front base",
|
||||||
|
"peplumFront": "Peplum front",
|
||||||
|
"peplumBack": "Peplum back"
|
||||||
|
},
|
||||||
|
"s": {},
|
||||||
|
"o": {
|
||||||
|
"bustSpanEase": {
|
||||||
|
"t": "Bust span ease",
|
||||||
|
"d": "Controls the amount of ease along the bust span"
|
||||||
|
},
|
||||||
|
"chestEase": {
|
||||||
|
"t": "Chest ease",
|
||||||
|
"d": "Controls the amount of ease at the chest"
|
||||||
|
},
|
||||||
|
"shoulderToShoulderEase": {
|
||||||
|
"t": "Shoulder to shoulder ease",
|
||||||
|
"d": "Controls the amount of ease along the shoulder to shoulder measurement"
|
||||||
|
},
|
||||||
|
"fullChestEaseReduction": {
|
||||||
|
"t": "Full chest ease reduction",
|
||||||
|
"d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area"
|
||||||
|
},
|
||||||
|
"waistEase": {
|
||||||
|
"t": "Waist ease",
|
||||||
|
"d": "Controls the amount of ease at the waist"
|
||||||
|
},
|
||||||
|
"frontShoulderWidth": {
|
||||||
|
"t": "Front shoulder width",
|
||||||
|
"d": "Controls how much width is added to the shoulder in the front"
|
||||||
|
},
|
||||||
|
"highBustWidth": {
|
||||||
|
"t": "High bust width",
|
||||||
|
"d": "Controls the width of the high bust"
|
||||||
|
},
|
||||||
|
"armholeDepth": {
|
||||||
|
"t": "Depth of the Armhole",
|
||||||
|
"d": "Controls how deep the armhole is"
|
||||||
|
},
|
||||||
|
"cutDepthBack": {
|
||||||
|
"t": "Depth of the cut in the back",
|
||||||
|
"d": "Controls the depth of the cut in the back"
|
||||||
|
},
|
||||||
|
"cutDepthFront": {
|
||||||
|
"t": "Depth of the cut in the front",
|
||||||
|
"d": "Controls the depth of the cut in the front"
|
||||||
|
},
|
||||||
|
"cutRoundnessBack": {
|
||||||
|
"t": "Roundness of the cut in the back",
|
||||||
|
"d": "Controls how 'round' the cut in the back is, from V to round to square"
|
||||||
|
},
|
||||||
|
"cutRoundnessFront": {
|
||||||
|
"t": "Roundness of the cut in the front",
|
||||||
|
"d": "Controls how 'round' the cut in the front is, from V to round to square"
|
||||||
|
},
|
||||||
|
"shoulderDartPosition": {
|
||||||
|
"t": "Shoulder dart position",
|
||||||
|
"d": "Controls the position of the shoulder dart"
|
||||||
|
},
|
||||||
|
"strapWidth": {
|
||||||
|
"t": "Width of the straps",
|
||||||
|
"d": "Controls the width of the straps"
|
||||||
|
},
|
||||||
|
"upperDartLength": {
|
||||||
|
"t": "Upper dart length",
|
||||||
|
"d": "Controls the length of the upper dart"
|
||||||
|
},
|
||||||
|
"waistDartLength": {
|
||||||
|
"t": "Waist dart length",
|
||||||
|
"d": "Controls the length of the waist dart"
|
||||||
|
},
|
||||||
|
"zipperLocation": {
|
||||||
|
"t": "Zipper location",
|
||||||
|
"d": "The location of the zipper: side, back, or front"
|
||||||
|
},
|
||||||
|
"zipperLocation.front": {
|
||||||
|
"t": "Front zipper location",
|
||||||
|
"d": "The location of the zipper will be in the front"
|
||||||
|
},
|
||||||
|
"zipperLocation.side": {
|
||||||
|
"t": "Side zipper location",
|
||||||
|
"d": "The location of the zipper will be on the side"
|
||||||
|
},
|
||||||
|
"zipperLocation.back": {
|
||||||
|
"t": "Back zipper location",
|
||||||
|
"d": "The location of the zipper will be in the back"
|
||||||
|
},
|
||||||
|
"lacing": {
|
||||||
|
"t": "Lacing option",
|
||||||
|
"d": "This removes part of the seam to create an opening for lacing"
|
||||||
|
},
|
||||||
|
"lacingYes": {
|
||||||
|
"t": "Add Lacing",
|
||||||
|
"d": "Remove part of the seam to create an opening for lacing"
|
||||||
|
},
|
||||||
|
"lacingNo": {
|
||||||
|
"t": "No lacing",
|
||||||
|
"d": "Close the seams normally"
|
||||||
|
},
|
||||||
|
"lacingLocation": {
|
||||||
|
"t": "Location of the lacing",
|
||||||
|
"d": "Lacing in the front, or the back"
|
||||||
|
},
|
||||||
|
"lacingWidth": {
|
||||||
|
"t": "Lacing width",
|
||||||
|
"d": "Width of the lacing opening"
|
||||||
|
},
|
||||||
|
"peplum": {
|
||||||
|
"t": "Peplum",
|
||||||
|
"d": "Add a peplum"
|
||||||
|
},
|
||||||
|
"peplumYes": {
|
||||||
|
"t": "Add a peplum",
|
||||||
|
"d": "This will generate the peplum part."
|
||||||
|
},
|
||||||
|
"peplumNo": {
|
||||||
|
"t": "No peplum",
|
||||||
|
"d": "Pattern will be generated without a peplum"
|
||||||
|
},
|
||||||
|
"peplumSize": {
|
||||||
|
"t": "Peplum size",
|
||||||
|
"d": "Controls the size of the peplum"
|
||||||
|
},
|
||||||
|
"peplumFullness": {
|
||||||
|
"t": "Peplum fullness",
|
||||||
|
"d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle."
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,10 +42,70 @@ export const backInside = {
|
||||||
title: 'backInside',
|
title: 'backInside',
|
||||||
})
|
})
|
||||||
|
|
||||||
|
points.grainlineFrom = new Point(points.hps.x / 4, points.cbCut.y)
|
||||||
|
points.grainlineTo = new Point(points.hps.x / 4, points.waistSide.y)
|
||||||
|
macro('grainline', {
|
||||||
|
from: points.grainlineFrom,
|
||||||
|
to: points.grainlineTo,
|
||||||
|
})
|
||||||
|
|
||||||
|
points.scaleboxAnchor = points.titleAnchor.shiftFractionTowards(points.dartBottomLeft, 0.5)
|
||||||
|
macro('scalebox', { at: points.scaleboxAnchor, rotate: 270 })
|
||||||
|
|
||||||
if (sa) {
|
if (sa) {
|
||||||
paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
|
paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
macro('hd', {
|
||||||
|
from: points.cbCut,
|
||||||
|
to: points.strapInside,
|
||||||
|
y: points.strapInside.y - sa - 15,
|
||||||
|
id: 'cutWidth',
|
||||||
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: points.cbCut,
|
||||||
|
to: points.shoulderDart,
|
||||||
|
y: points.strapInside.y - sa - 25,
|
||||||
|
id: 'cutToDart',
|
||||||
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: lacing ? points.lacingWaist : points.waistCenter,
|
||||||
|
to: points.dartBottomLeft,
|
||||||
|
y: points.waistCenter.y + sa + 15,
|
||||||
|
id: 'waistCenterToSide',
|
||||||
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: points.cbCut,
|
||||||
|
to: points.dartBottomLeft,
|
||||||
|
y: points.waistCenter.y + sa + 25,
|
||||||
|
id: 'waistCutToSide',
|
||||||
|
})
|
||||||
|
|
||||||
|
macro('vd', {
|
||||||
|
from: lacing ? points.lacingWaist : points.waistCenter,
|
||||||
|
to: points.cbCut,
|
||||||
|
x: points.cbCut.x - sa - 15,
|
||||||
|
id: 'waistToCut',
|
||||||
|
})
|
||||||
|
macro('vd', {
|
||||||
|
from: lacing ? points.lacingWaist : points.waistCenter,
|
||||||
|
to: points.strapInside,
|
||||||
|
x: points.cbCut.x - sa - 25,
|
||||||
|
id: 'waistToStrap',
|
||||||
|
})
|
||||||
|
macro('vd', {
|
||||||
|
from: points.dartBottomLeft,
|
||||||
|
to: points.shoulderDart,
|
||||||
|
x: points.shoulderDart.x + sa + 15,
|
||||||
|
id: 'dartToDart',
|
||||||
|
})
|
||||||
|
macro('vd', {
|
||||||
|
from: points.dartBottomLeft,
|
||||||
|
to: points.strapInside,
|
||||||
|
x: points.shoulderDart.x + sa + 25,
|
||||||
|
id: 'dartToStrap',
|
||||||
|
})
|
||||||
|
|
||||||
return part
|
return part
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,10 +31,85 @@ export const backOutside = {
|
||||||
title: 'backOutside',
|
title: 'backOutside',
|
||||||
})
|
})
|
||||||
|
|
||||||
|
points.grainlineFrom = new Point(
|
||||||
|
Math.max(points.shoulderDart.x, points.dartBottomRight.x),
|
||||||
|
points.waistSide.y - (points.waistSide.y - points.shoulder.y) * 0.7
|
||||||
|
)
|
||||||
|
points.grainlineTo = new Point(points.grainlineFrom.x, points.dartBottomRight.y * 0.95)
|
||||||
|
|
||||||
|
macro('grainline', {
|
||||||
|
from: points.grainlineFrom,
|
||||||
|
to: points.grainlineTo,
|
||||||
|
})
|
||||||
|
|
||||||
if (sa) {
|
if (sa) {
|
||||||
paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
|
paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const pLeft = paths.dart.edge('left')
|
||||||
|
|
||||||
|
macro('hd', {
|
||||||
|
from: pLeft,
|
||||||
|
to: points.shoulderDart,
|
||||||
|
y: points.shoulderDart.y - sa - 15,
|
||||||
|
id: 'leftToDart',
|
||||||
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: pLeft,
|
||||||
|
to: points.strapOutside,
|
||||||
|
y: points.shoulderDart.y - sa - 25,
|
||||||
|
id: 'leftToStrap',
|
||||||
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: pLeft,
|
||||||
|
to: points.armhole,
|
||||||
|
y: points.shoulderDart.y - sa - 35,
|
||||||
|
id: 'leftToArmhole',
|
||||||
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: pLeft,
|
||||||
|
to: points.waistSide,
|
||||||
|
y: points.dartBottomRight.y + sa + 25,
|
||||||
|
id: 'leftToWaistSide',
|
||||||
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: points.dartBottomRight,
|
||||||
|
to: points.waistSide,
|
||||||
|
y: points.dartBottomRight.y + sa + 15,
|
||||||
|
id: 'dartToWaistSide',
|
||||||
|
})
|
||||||
|
|
||||||
|
macro('vd', {
|
||||||
|
from: points.dartBottomRight,
|
||||||
|
to: pLeft,
|
||||||
|
x: pLeft.x - sa - 15,
|
||||||
|
id: 'leftToDart',
|
||||||
|
})
|
||||||
|
macro('vd', {
|
||||||
|
from: points.dartBottomRight,
|
||||||
|
to: points.shoulderDart,
|
||||||
|
x: pLeft.x - sa - 25,
|
||||||
|
id: 'dartToDart',
|
||||||
|
})
|
||||||
|
macro('vd', {
|
||||||
|
from: points.dartBottomRight,
|
||||||
|
to: points.strapOutside,
|
||||||
|
x: points.armhole.x + sa + 35,
|
||||||
|
id: 'dartToStrap',
|
||||||
|
})
|
||||||
|
macro('vd', {
|
||||||
|
from: points.waistSide,
|
||||||
|
to: points.strapOutside,
|
||||||
|
x: points.armhole.x + sa + 25,
|
||||||
|
id: 'sideToStrap',
|
||||||
|
})
|
||||||
|
macro('vd', {
|
||||||
|
from: points.waistSide,
|
||||||
|
to: points.armhole,
|
||||||
|
x: points.armhole.x + sa + 15,
|
||||||
|
id: 'sideToArmhole',
|
||||||
|
})
|
||||||
|
|
||||||
return part
|
return part
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,6 @@ export const backPoints = {
|
||||||
from: nobleBackPoints,
|
from: nobleBackPoints,
|
||||||
after: frontPoints,
|
after: frontPoints,
|
||||||
hide: hidePresets.HIDE_ALL,
|
hide: hidePresets.HIDE_ALL,
|
||||||
// options,
|
|
||||||
draft: ({ points, Path, paths, options, snippets, log, store, part }) => {
|
draft: ({ points, Path, paths, options, snippets, log, store, part }) => {
|
||||||
const lacing = true == options.lacing && 'back' == options.lacingLocation
|
const lacing = true == options.lacing && 'back' == options.lacingLocation
|
||||||
|
|
||||||
|
@ -23,8 +22,6 @@ export const backPoints = {
|
||||||
points.strapInside = points.shoulderDart.shiftTowards(points.hps, strapWidth / 2)
|
points.strapInside = points.shoulderDart.shiftTowards(points.hps, strapWidth / 2)
|
||||||
points.strapOutside = points.shoulderDart.shiftTowards(points.shoulder, strapWidth / 2)
|
points.strapOutside = points.shoulderDart.shiftTowards(points.shoulder, strapWidth / 2)
|
||||||
|
|
||||||
// points.shoulder = points.strapOutside
|
|
||||||
|
|
||||||
points.cbCut = new Path()
|
points.cbCut = new Path()
|
||||||
.move(points.cbNeck)
|
.move(points.cbNeck)
|
||||||
.curve_(points.cbNeckCp2, points.waistCenter)
|
.curve_(points.cbNeckCp2, points.waistCenter)
|
||||||
|
@ -64,7 +61,6 @@ export const backPoints = {
|
||||||
180,
|
180,
|
||||||
options.armholeBackIn * points.armhole.dist(points.dartTip)
|
options.armholeBackIn * points.armhole.dist(points.dartTip)
|
||||||
)
|
)
|
||||||
// .addCircle(4)
|
|
||||||
|
|
||||||
points.strapOutsideCp = points.strapOutside.shiftFractionTowards(
|
points.strapOutsideCp = points.strapOutside.shiftFractionTowards(
|
||||||
points.dartTip.shift(points.dartTip.angle(points.shoulderDart) - 90, strapWidth / 2),
|
points.dartTip.shift(points.dartTip.angle(points.shoulderDart) - 90, strapWidth / 2),
|
||||||
|
|
|
@ -60,23 +60,36 @@ export const frontInside = {
|
||||||
.length()
|
.length()
|
||||||
)
|
)
|
||||||
|
|
||||||
if ('front' != options.zipperLocation) {
|
|
||||||
macro('cutonfold', {
|
|
||||||
from: points.cfCut,
|
|
||||||
to: points.cfHem,
|
|
||||||
grainline: true,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lacing) {
|
if (lacing) {
|
||||||
|
store.cutlist.addCut({ cut: 2, from: 'fabric' })
|
||||||
paths.originalSide = new Path()
|
paths.originalSide = new Path()
|
||||||
.move(points.lacingCut)
|
.move(points.lacingCut)
|
||||||
.line(points.cfCut)
|
.line(points.cfCut)
|
||||||
.line(points.cfHem)
|
.line(points.cfHem)
|
||||||
.line(points.lacingHem)
|
.line(points.lacingHem)
|
||||||
.setClass('note dashed')
|
.setClass('note dashed')
|
||||||
|
macro('grainline', {
|
||||||
|
from: points.lacingCut.shift(315, 10),
|
||||||
|
to: points.lacingHem.shift(45, 10),
|
||||||
|
grainline: true,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
if ('front' == options.zipperLocation) {
|
||||||
|
store.cutlist.addCut({ cut: 2, from: 'fabric' })
|
||||||
|
macro('grainline', {
|
||||||
|
from: points.cfCut.shift(315, 10),
|
||||||
|
to: points.cfHem.shift(45, 10),
|
||||||
|
grainline: true,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
// store.cutlist.addCut({ cut: 1, from: 'fabric' })
|
||||||
|
macro('cutonfold', {
|
||||||
|
from: points.cfCut,
|
||||||
|
to: points.cfHem,
|
||||||
|
grainline: true,
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
snippets.shoulderDartTip = new Snippet('notch', points.shoulderDartTip)
|
snippets.shoulderDartTip = new Snippet('notch', points.shoulderDartTip)
|
||||||
|
|
||||||
points.titleAnchor = points.waistDartLeft.shiftFractionTowards(
|
points.titleAnchor = points.waistDartLeft.shiftFractionTowards(
|
||||||
|
@ -90,9 +103,6 @@ export const frontInside = {
|
||||||
})
|
})
|
||||||
points.gridAnchor = points.hps.clone()
|
points.gridAnchor = points.hps.clone()
|
||||||
|
|
||||||
points.scaleboxAnchor = points.titleAnchor.shift(-90, 90).shift(0, 10)
|
|
||||||
// macro('scalebox', { at: points.scaleboxAnchor, rotate: 270 })
|
|
||||||
|
|
||||||
if (sa) {
|
if (sa) {
|
||||||
if ('front' == options.zipperLocation) {
|
if ('front' == options.zipperLocation) {
|
||||||
paths.sa = paths.seam
|
paths.sa = paths.seam
|
||||||
|
@ -105,9 +115,8 @@ export const frontInside = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let extraOffset = 0
|
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfNeck,
|
from: lacing ? points.lacingHem : points.cfHem,
|
||||||
to: points.shoulderDartInside,
|
to: points.shoulderDartInside,
|
||||||
y: points.hps.y - 25,
|
y: points.hps.y - 25,
|
||||||
id: 'hpsToDart',
|
id: 'hpsToDart',
|
||||||
|
@ -125,7 +134,7 @@ export const frontInside = {
|
||||||
id: 'hemToDartTip',
|
id: 'hemToDartTip',
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfBust,
|
from: lacing ? points.lacingHem : points.cfHem,
|
||||||
to: points.shoulderDartTip,
|
to: points.shoulderDartTip,
|
||||||
y: points.cfHem.y + sa + 25,
|
y: points.cfHem.y + sa + 25,
|
||||||
id: 'middleToDartTip',
|
id: 'middleToDartTip',
|
||||||
|
@ -133,26 +142,26 @@ export const frontInside = {
|
||||||
|
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.cfNeck,
|
to: lacing ? points.lacingCut : points.cfCut,
|
||||||
x: 0 - 20 - extraOffset,
|
x: 0 - 20,
|
||||||
id: 'hemToNeck',
|
id: 'hemToNeck',
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.hps,
|
to: points.strapInside,
|
||||||
x: 0 - 40 - extraOffset,
|
x: 0 - 40,
|
||||||
id: 'hemToHps',
|
id: 'hemToHps',
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfHem,
|
from: lacing ? points.lacingHem : points.cfHem,
|
||||||
to: points.waistDartLeft,
|
to: points.waistDartLeft,
|
||||||
y: points.cfHem.y + sa + 15,
|
y: points.cfHem.y + sa + 15,
|
||||||
id: 'middleToDart',
|
id: 'middleToDart',
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfNeck,
|
from: lacing ? points.lacingCut : points.cfCut,
|
||||||
to: points.hps,
|
to: points.strapInside,
|
||||||
y: points.hps.y - sa - 15,
|
y: points.strapInside.y - sa - 15,
|
||||||
id: 'middleToHps',
|
id: 'middleToHps',
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ export const frontOutside = {
|
||||||
})
|
})
|
||||||
|
|
||||||
store.cutlist.removeCut()
|
store.cutlist.removeCut()
|
||||||
store.cutlist.addCut()
|
store.cutlist.addCut({ cut: 2, from: 'fabric' })
|
||||||
|
|
||||||
points.snippet = paths.princessSeam.shiftAlong(
|
points.snippet = paths.princessSeam.shiftAlong(
|
||||||
paths.princessSeam.length() - store.get('shoulderDartTipNotch')
|
paths.princessSeam.length() - store.get('shoulderDartTipNotch')
|
||||||
|
@ -74,7 +74,8 @@ export const frontOutside = {
|
||||||
|
|
||||||
if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
|
if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
|
||||||
|
|
||||||
let pLeft = paths.princessSeam.edge('left')
|
const pLeft = paths.princessSeam.edge('left')
|
||||||
|
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.waistDartRight,
|
from: points.waistDartRight,
|
||||||
to: points.armholeOutsidePitchCp1,
|
to: points.armholeOutsidePitchCp1,
|
||||||
|
@ -93,6 +94,24 @@ export const frontOutside = {
|
||||||
y: points.sideHemInitial.y + sa + 15,
|
y: points.sideHemInitial.y + sa + 15,
|
||||||
id: 'leftToSide',
|
id: 'leftToSide',
|
||||||
})
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: points.shoulderDartOutside,
|
||||||
|
to: points.strapOutside,
|
||||||
|
y: points.shoulderDartOutside.y - sa - 15,
|
||||||
|
id: 'dartToShoulder',
|
||||||
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: points.snippet,
|
||||||
|
to: points.strapOutside,
|
||||||
|
y: points.shoulderDartOutside.y - sa - 25,
|
||||||
|
id: 'dartPointToShoulder',
|
||||||
|
})
|
||||||
|
macro('hd', {
|
||||||
|
from: pLeft,
|
||||||
|
to: points.strapOutside,
|
||||||
|
y: points.shoulderDartOutside.y - sa - 35,
|
||||||
|
id: 'leftToShoulder',
|
||||||
|
})
|
||||||
|
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.armholeOutsidePitchCp1,
|
from: points.armholeOutsidePitchCp1,
|
||||||
|
@ -106,35 +125,10 @@ export const frontOutside = {
|
||||||
x: pLeft.x - sa - 15,
|
x: pLeft.x - sa - 15,
|
||||||
id: 'hemToLeft',
|
id: 'hemToLeft',
|
||||||
})
|
})
|
||||||
|
|
||||||
macro('hd', {
|
|
||||||
from: points.shoulderDartOutside,
|
|
||||||
to: points.shoulder,
|
|
||||||
y: points.shoulderDartOutside.y - sa - 15,
|
|
||||||
id: 'dartToShoulder',
|
|
||||||
})
|
|
||||||
macro('hd', {
|
|
||||||
from: points.snippet,
|
|
||||||
to: points.shoulder,
|
|
||||||
y: points.shoulderDartOutside.y - sa - 25,
|
|
||||||
id: 'dartPointToShoulder',
|
|
||||||
})
|
|
||||||
macro('hd', {
|
|
||||||
from: pLeft,
|
|
||||||
to: points.shoulder,
|
|
||||||
y: points.shoulderDartOutside.y - sa - 35,
|
|
||||||
id: 'leftToShoulder',
|
|
||||||
})
|
|
||||||
macro('hd', {
|
|
||||||
from: points.waistDartRight,
|
|
||||||
to: points.shoulder,
|
|
||||||
y: points.sideHemInitial.y + sa + 45,
|
|
||||||
id: 'hemDartToShoulder',
|
|
||||||
})
|
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.shoulder,
|
from: points.strapOutside,
|
||||||
to: points.sideHemInitial,
|
to: points.sideHemInitial,
|
||||||
x: points.shoulder.x,
|
x: points.sideHemInitial.x + sa + 25,
|
||||||
id: 'hemToShoulder',
|
id: 'hemToShoulder',
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
|
@ -156,20 +150,6 @@ export const frontOutside = {
|
||||||
id: 'shoulderDartToDartPoint',
|
id: 'shoulderDartToDartPoint',
|
||||||
})
|
})
|
||||||
|
|
||||||
const pArmholeLeft = paths.armhole.edge('left')
|
|
||||||
macro('hd', {
|
|
||||||
from: points.waistDartRight,
|
|
||||||
to: pArmholeLeft,
|
|
||||||
y: points.sideHemInitial.y + sa + 5,
|
|
||||||
id: 'hemDartToRight',
|
|
||||||
})
|
|
||||||
macro('vd', {
|
|
||||||
from: pArmholeLeft,
|
|
||||||
to: points.sideHemInitial,
|
|
||||||
x: points.sideHemInitial.x + sa + 25,
|
|
||||||
id: 'hemSideToRight',
|
|
||||||
})
|
|
||||||
|
|
||||||
return part
|
return part
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,12 +69,6 @@ export const frontPoints = {
|
||||||
const shoulderWidthOutside = points.shoulderDartOutside.dist(points.shoulder)
|
const shoulderWidthOutside = points.shoulderDartOutside.dist(points.shoulder)
|
||||||
let strapWidth = (shoulderWidthInside + shoulderWidthOutside) * options.strapWidth
|
let strapWidth = (shoulderWidthInside + shoulderWidthOutside) * options.strapWidth
|
||||||
|
|
||||||
console.log({
|
|
||||||
r: strapWidth / shoulderWidthOutside,
|
|
||||||
sw: shoulderWidthOutside,
|
|
||||||
strap: strapWidth,
|
|
||||||
})
|
|
||||||
|
|
||||||
if (strapWidth / 2 > shoulderWidthInside) {
|
if (strapWidth / 2 > shoulderWidthInside) {
|
||||||
strapWidth = shoulderWidthInside * 2
|
strapWidth = shoulderWidthInside * 2
|
||||||
}
|
}
|
||||||
|
@ -87,7 +81,6 @@ export const frontPoints = {
|
||||||
points.strapOutside = points.shoulderDartOutside.shiftTowards(points.shoulder, strapWidth / 2)
|
points.strapOutside = points.shoulderDartOutside.shiftTowards(points.shoulder, strapWidth / 2)
|
||||||
|
|
||||||
points.cfCut = points.cfNeck.shiftFractionTowards(points.cfBust, options.cutDepthFront)
|
points.cfCut = points.cfNeck.shiftFractionTowards(points.cfBust, options.cutDepthFront)
|
||||||
console.log({ cut: points.cfNeck.dist(points.cfCut) })
|
|
||||||
|
|
||||||
points.cutSeamInside = new Path()
|
points.cutSeamInside = new Path()
|
||||||
.move(points.waistDartLeft)
|
.move(points.waistDartLeft)
|
||||||
|
@ -104,7 +97,6 @@ export const frontPoints = {
|
||||||
points.shoulderDartOutside
|
points.shoulderDartOutside
|
||||||
)
|
)
|
||||||
.intersectsY(points.cfCut.y)[0]
|
.intersectsY(points.cfCut.y)[0]
|
||||||
// .addCircle(6)
|
|
||||||
|
|
||||||
points.cfCutCp = points.cfCut.shiftFractionTowards(
|
points.cfCutCp = points.cfCut.shiftFractionTowards(
|
||||||
points.cutSeamInside,
|
points.cutSeamInside,
|
||||||
|
@ -153,6 +145,7 @@ export const frontPoints = {
|
||||||
(points.strapInsideCp.x - points.cfCut.x) * options.lacingWidth
|
(points.strapInsideCp.x - points.cfCut.x) * options.lacingWidth
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
store.set('frontOutsideWaistLength', points.waistDartRight.dist(points.sideHem))
|
store.set('frontOutsideWaistLength', points.waistDartRight.dist(points.sideHem))
|
||||||
store.set(
|
store.set(
|
||||||
'frontInsideWaistLength',
|
'frontInsideWaistLength',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue