fix(hugo): Add neck binding part
This commit is contained in:
parent
777a9db557
commit
2353362851
3 changed files with 114 additions and 7 deletions
|
@ -7,24 +7,21 @@
|
||||||
"front": "Front",
|
"front": "Front",
|
||||||
"hoodCenter": "Hood center",
|
"hoodCenter": "Hood center",
|
||||||
"hoodSide": "Hood side",
|
"hoodSide": "Hood side",
|
||||||
|
"neckBinding": "Neck binding",
|
||||||
"pocket": "Pocket",
|
"pocket": "Pocket",
|
||||||
"pocketFacing": "Pocket facing",
|
"pocketFacing": "Pocket facing",
|
||||||
"sleeve": "Sleeve",
|
"sleeve": "Sleeve",
|
||||||
"waistband": "Waistband"
|
"waistband": "Waistband"
|
||||||
},
|
},
|
||||||
"s": {
|
"s": {
|
||||||
"cuff": "Cuff",
|
|
||||||
"hoodCenter": "Hood center",
|
|
||||||
"hoodSide": "Hood side",
|
|
||||||
"pocketFacing": "Pocket facing",
|
|
||||||
"pocket": "Pocket",
|
|
||||||
"waistband": "Waistband",
|
|
||||||
"cutPocket.t": "The pocket is not shown",
|
"cutPocket.t": "The pocket is not shown",
|
||||||
"cutPocket.d": "The **Pocket** (4) is not shown, but you can trace it from the Front part (1), which has the pocket outline on it (not including seam allowance).",
|
"cutPocket.d": "The **Pocket** (4) is not shown, but you can trace it from the Front part (1), which has the pocket outline on it (not including seam allowance).",
|
||||||
"cutCuff.t": "The cuff is not shown",
|
"cutCuff.t": "The cuff is not shown",
|
||||||
"cutCuff.d": "The **Cuff** (9) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long.",
|
"cutCuff.d": "The **Cuff** (9) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long.",
|
||||||
"cutHoodCenter.t": "The hood center is not shown",
|
"cutHoodCenter.t": "The hood center is not shown",
|
||||||
"cutHoodCenter.d": "The **Hood center** (7) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long.",
|
"cutHoodCenter.d": "The **Hood center** (7) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long.",
|
||||||
|
"cutNeckBinding.t": "The neck binding is not shown",
|
||||||
|
"cutNeckBinding.d": "The **Neck Binding** (10) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long.",
|
||||||
"cutWaistband.t": "The waistband is not shown",
|
"cutWaistband.t": "The waistband is not shown",
|
||||||
"cutWaistband.d": "The **Waistband** (8) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long"
|
"cutWaistband.d": "The **Waistband** (8) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long"
|
||||||
},
|
},
|
||||||
|
|
|
@ -11,11 +11,23 @@ import { hoodSide } from './hoodside.mjs'
|
||||||
import { hoodCenter } from './hoodcenter.mjs'
|
import { hoodCenter } from './hoodcenter.mjs'
|
||||||
import { waistband } from './waistband.mjs'
|
import { waistband } from './waistband.mjs'
|
||||||
import { cuff } from './cuff.mjs'
|
import { cuff } from './cuff.mjs'
|
||||||
|
import { neckBinding } from './neckbinding.mjs'
|
||||||
|
|
||||||
// Setup our new design
|
// Setup our new design
|
||||||
const Hugo = new Design({
|
const Hugo = new Design({
|
||||||
data,
|
data,
|
||||||
parts: [back, front, sleeve, pocket, pocketFacing, hoodSide, hoodCenter, waistband, cuff],
|
parts: [
|
||||||
|
back,
|
||||||
|
front,
|
||||||
|
sleeve,
|
||||||
|
pocket,
|
||||||
|
pocketFacing,
|
||||||
|
hoodSide,
|
||||||
|
hoodCenter,
|
||||||
|
waistband,
|
||||||
|
cuff,
|
||||||
|
neckBinding,
|
||||||
|
],
|
||||||
})
|
})
|
||||||
|
|
||||||
// Merge translations
|
// Merge translations
|
||||||
|
@ -32,6 +44,7 @@ export {
|
||||||
hoodCenter,
|
hoodCenter,
|
||||||
waistband,
|
waistband,
|
||||||
cuff,
|
cuff,
|
||||||
|
neckBinding,
|
||||||
Hugo,
|
Hugo,
|
||||||
i18n,
|
i18n,
|
||||||
}
|
}
|
||||||
|
|
97
designs/hugo/src/neckbinding.mjs
Normal file
97
designs/hugo/src/neckbinding.mjs
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
import { front } from './front.mjs'
|
||||||
|
import { back } from './back.mjs'
|
||||||
|
import { hoodCenter } from './hoodcenter.mjs'
|
||||||
|
|
||||||
|
function hugoNeckBinding({ store, sa, Point, points, Path, paths, macro, part, expand, units }) {
|
||||||
|
const length =
|
||||||
|
store.get('neckOpeningLenFront') * 2 +
|
||||||
|
store.get('neckOpeningLenBack') * 2 +
|
||||||
|
store.get('hoodCenterWidth')
|
||||||
|
const width = length / 44.2
|
||||||
|
|
||||||
|
if (expand) {
|
||||||
|
store.flag.preset('expandIsOn')
|
||||||
|
} else {
|
||||||
|
const extraSa = sa ? 2 * sa : 0
|
||||||
|
store.flag.note({
|
||||||
|
msg: `hugo:cutNeckBinding`,
|
||||||
|
notes: [sa ? 'flag:saIncluded' : 'flag:saExcluded', 'flag:partHiddenByExpand'],
|
||||||
|
replace: {
|
||||||
|
w: units(width + extraSa),
|
||||||
|
l: units(length + extraSa),
|
||||||
|
},
|
||||||
|
suggest: {
|
||||||
|
text: 'flag:show',
|
||||||
|
icon: 'expand',
|
||||||
|
update: {
|
||||||
|
settings: ['expand', 1],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
// Also hint about expand
|
||||||
|
store.flag.preset('expandIsOff')
|
||||||
|
|
||||||
|
return part.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
points.topLeft = new Point(0, 0)
|
||||||
|
points.topRight = new Point(length, 0)
|
||||||
|
points.bottomRight = new Point(length, width)
|
||||||
|
points.bottomLeft = new Point(0, width)
|
||||||
|
|
||||||
|
paths.seam = new Path()
|
||||||
|
.move(points.topLeft)
|
||||||
|
.line(points.bottomLeft)
|
||||||
|
.line(points.bottomRight)
|
||||||
|
.line(points.topRight)
|
||||||
|
.line(points.topLeft)
|
||||||
|
.close()
|
||||||
|
.attr('class', 'fabric')
|
||||||
|
|
||||||
|
// Seam allowance
|
||||||
|
if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
|
||||||
|
|
||||||
|
// Cutlist
|
||||||
|
store.cutlist.setCut({ cut: 1, from: 'fabric' })
|
||||||
|
|
||||||
|
// Grainline
|
||||||
|
macro('grainline', {
|
||||||
|
from: points.topLeft
|
||||||
|
.shiftFractionTowards(points.topRight, 0.15)
|
||||||
|
.shiftFractionTowards(points.bottomLeft, 0.6),
|
||||||
|
to: points.topRight
|
||||||
|
.shiftFractionTowards(points.topLeft, 0.15)
|
||||||
|
.shiftFractionTowards(points.bottomRight, 0.6),
|
||||||
|
})
|
||||||
|
|
||||||
|
//title
|
||||||
|
points.title = new Point(length / 2, width * 3)
|
||||||
|
macro('title', {
|
||||||
|
at: points.title,
|
||||||
|
nr: 10,
|
||||||
|
title: 'neckBinding',
|
||||||
|
scale: 0.4,
|
||||||
|
})
|
||||||
|
|
||||||
|
// Dimensions
|
||||||
|
macro('hd', {
|
||||||
|
id: 'length',
|
||||||
|
from: points.bottomLeft,
|
||||||
|
to: points.bottomRight,
|
||||||
|
y: points.bottomLeft.y + sa + 15,
|
||||||
|
})
|
||||||
|
macro('vd', {
|
||||||
|
id: 'width',
|
||||||
|
from: points.topRight,
|
||||||
|
to: points.bottomRight,
|
||||||
|
x: points.topRight.x + sa + 15,
|
||||||
|
})
|
||||||
|
|
||||||
|
return part
|
||||||
|
}
|
||||||
|
|
||||||
|
export const neckBinding = {
|
||||||
|
name: 'hugo.neckBinding',
|
||||||
|
after: [front, back, hoodCenter],
|
||||||
|
draft: hugoNeckBinding,
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue