1
0
Fork 0

Added box pleat option to Simon. Closes #123

This commit is contained in:
Joost De Cock 2019-09-21 20:47:14 +02:00
parent ac3e7e589e
commit d9dd89346f
5 changed files with 59 additions and 10633 deletions

View file

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

View file

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

View file

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

View file

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