✨ Added box pleat option to Simon. Closes #123
This commit is contained in:
parent
ac3e7e589e
commit
d9dd89346f
5 changed files with 59 additions and 10633 deletions
|
@ -1,14 +1,17 @@
|
||||||
Unreleased:
|
Unreleased:
|
||||||
date:
|
date:
|
||||||
Added:
|
Added:
|
||||||
penelope:
|
|
||||||
- Added the Penelope Pencil Skirt pattern by @woutervdub
|
|
||||||
waralee:
|
|
||||||
- Added the Waralee wrap Pants pattern by @woutervdub
|
|
||||||
i18n:
|
i18n:
|
||||||
- Added translations for Penelope and Waralee
|
- Added translations for Penelope and Waralee
|
||||||
|
penelope:
|
||||||
|
- Added the Penelope Pencil Skirt pattern by @woutervdub
|
||||||
|
simon:
|
||||||
|
- "[#123](https://github.com/freesewing/freesewing/issues/123):
|
||||||
|
Added a box pleat option to Simon"
|
||||||
utils:
|
utils:
|
||||||
- Added backend methods for administration
|
- Added backend methods for administration
|
||||||
|
waralee:
|
||||||
|
- Added the Waralee wrap Pants pattern by @woutervdub
|
||||||
Changed:
|
Changed:
|
||||||
core:
|
core:
|
||||||
- The pattern super constructor now sets a `config` property that
|
- The pattern super constructor now sets a `config` property that
|
||||||
|
|
|
@ -2,6 +2,18 @@ barrelCuffNarrowButton:
|
||||||
title: Cuff narrow button
|
title: Cuff narrow button
|
||||||
description: Whether to include a button to tie the cuffs more narrow. This option is only relevant for barrel cuffs.
|
description: Whether to include a button to tie the cuffs more narrow. This option is only relevant for barrel cuffs.
|
||||||
|
|
||||||
|
boxPleat:
|
||||||
|
title: Box pleat
|
||||||
|
description: Whether to include a box pleat at the back or not
|
||||||
|
|
||||||
|
boxPleatWidth:
|
||||||
|
title: Box pleat width
|
||||||
|
description: The total widh of the box pleat
|
||||||
|
|
||||||
|
boxPleatFold:
|
||||||
|
title: Box pleat fold
|
||||||
|
description: The amount by with the box pleat folds inwards
|
||||||
|
|
||||||
buttonPlacketStyle:
|
buttonPlacketStyle:
|
||||||
title: Button placket style
|
title: Button placket style
|
||||||
description: Style of the button placket.
|
description: Style of the button placket.
|
||||||
|
|
|
@ -26,6 +26,7 @@ export default {
|
||||||
'splitYoke',
|
'splitYoke',
|
||||||
'hemStyle',
|
'hemStyle',
|
||||||
'hemCurve',
|
'hemCurve',
|
||||||
|
'boxPleat',
|
||||||
{
|
{
|
||||||
closure: [
|
closure: [
|
||||||
'extraTopButton',
|
'extraTopButton',
|
||||||
|
@ -71,6 +72,8 @@ export default {
|
||||||
'frontArmholeDeeper',
|
'frontArmholeDeeper',
|
||||||
'shoulderSlopeReduction',
|
'shoulderSlopeReduction',
|
||||||
'sleeveWidthGuarantee',
|
'sleeveWidthGuarantee',
|
||||||
|
'boxPleatWidth',
|
||||||
|
'boxPleatFold',
|
||||||
{
|
{
|
||||||
sleevecap: [
|
sleevecap: [
|
||||||
'sleevecapEase',
|
'sleevecapEase',
|
||||||
|
@ -168,6 +171,8 @@ export default {
|
||||||
dflt: 'angledBarrelCuff'
|
dflt: 'angledBarrelCuff'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Bool
|
||||||
|
boxPleat: { bool: false },
|
||||||
// Counters
|
// Counters
|
||||||
buttons: { count: 7, min: 4, max: 12 },
|
buttons: { count: 7, min: 4, max: 12 },
|
||||||
cuffButtonRows: { count: 1, min: 1, max: 2 },
|
cuffButtonRows: { count: 1, min: 1, max: 2 },
|
||||||
|
@ -184,6 +189,8 @@ export default {
|
||||||
buttonholePlacketFoldWidth: { mm: 6, min: 3, max: 10 },
|
buttonholePlacketFoldWidth: { mm: 6, min: 3, max: 10 },
|
||||||
collarStandWidth: { mm: 35, min: 15, max: 60 },
|
collarStandWidth: { mm: 35, min: 15, max: 60 },
|
||||||
sleevePlacketWidth: { mm: 25, min: 15, max: 35 },
|
sleevePlacketWidth: { mm: 25, min: 15, max: 35 },
|
||||||
|
boxPleatWidth: { mm: 35, min: 5, max: 65 },
|
||||||
|
boxPleatFold: { mm: 5, min: 1, max: 15 },
|
||||||
|
|
||||||
// Percentages
|
// Percentages
|
||||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -77,6 +77,29 @@ export default part => {
|
||||||
points.waistCp2 = points.waist.shift(90, points.armhole.dy(points.waist) / 2)
|
points.waistCp2 = points.waist.shift(90, points.armhole.dy(points.waist) / 2)
|
||||||
points.hipsCp2 = points.hips.shift(90, points.waist.dy(points.hips) / 4)
|
points.hipsCp2 = points.hips.shift(90, points.waist.dy(points.hips) / 4)
|
||||||
|
|
||||||
|
// Cut off at yoke
|
||||||
|
points.cbYoke = new Point(0, points.armholePitch.y)
|
||||||
|
|
||||||
|
// Box pleat
|
||||||
|
if (options.boxPleat) {
|
||||||
|
points.boxPleatLeft = points.cbYoke.shift(0, options.boxPleatWidth / 2)
|
||||||
|
points.boxPleatMid = points.boxPleatLeft.shift(0, options.boxPleatFold)
|
||||||
|
points.boxPleatRight = points.boxPleatMid.shift(0, options.boxPleatFold)
|
||||||
|
points.boxPleatLeftBottom = new Point(points.boxPleatLeft.x, points.armholeHollowCp2.y)
|
||||||
|
points.boxPleatMidBottom = new Point(points.boxPleatMid.x, points.armholeHollowCp2.y)
|
||||||
|
points.boxPleatRightBottom = new Point(points.boxPleatRight.x, points.armholeHollowCp2.y)
|
||||||
|
for (let p of [
|
||||||
|
'armholePitch',
|
||||||
|
'armholePitchCp1',
|
||||||
|
'armholeHollowCp2',
|
||||||
|
'armholeHollow',
|
||||||
|
'armholeHollowCp1',
|
||||||
|
'armholeCp2',
|
||||||
|
'armhole'
|
||||||
|
])
|
||||||
|
points[p] = points[p].shift(0, options.boxPleatFold * 2)
|
||||||
|
}
|
||||||
|
|
||||||
// Yoke dart
|
// Yoke dart
|
||||||
paths.armhole = new Path()
|
paths.armhole = new Path()
|
||||||
.move(points.armhole)
|
.move(points.armhole)
|
||||||
|
@ -109,9 +132,6 @@ export default part => {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cut off at yoke
|
|
||||||
points.cbYoke = new Point(0, points.armholePitch.y)
|
|
||||||
|
|
||||||
// Draft hem
|
// Draft hem
|
||||||
switch (options.hemStyle) {
|
switch (options.hemStyle) {
|
||||||
case 'baseball':
|
case 'baseball':
|
||||||
|
@ -181,6 +201,16 @@ export default part => {
|
||||||
macro('title', { at: points.title, nr: 3, title: 'back' })
|
macro('title', { at: points.title, nr: 3, title: 'back' })
|
||||||
points.logo = points.title.shift(-90, 70)
|
points.logo = points.title.shift(-90, 70)
|
||||||
snippets.logo = new Snippet('logo', points.logo)
|
snippets.logo = new Snippet('logo', points.logo)
|
||||||
|
if (options.boxPleat) {
|
||||||
|
paths.boxPleat = new Path()
|
||||||
|
.move(points.boxPleatLeft)
|
||||||
|
.line(points.boxPleatLeftBottom)
|
||||||
|
.move(points.boxPleatMid)
|
||||||
|
.line(points.boxPleatMidBottom)
|
||||||
|
.move(points.boxPleatRight)
|
||||||
|
.line(points.boxPleatRightBottom)
|
||||||
|
.attr('class', 'fabric stroke-sm dashed')
|
||||||
|
}
|
||||||
|
|
||||||
if (sa) {
|
if (sa) {
|
||||||
paths.sa = paths.saBase.offset(sa).attr('class', 'fabric sa')
|
paths.sa = paths.saBase.offset(sa).attr('class', 'fabric sa')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue