From 3ba0642be8a532c0aac315f0a7cafcc36cae8bd8 Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Thu, 17 Jul 2025 16:43:36 +0200 Subject: [PATCH] Add tailored shirt block --- templates/dimension_names.yaml | 16 ++ templates/tailored_shirt_block.yaml | 311 ++++++++++++++++++++++++++++ 2 files changed, 327 insertions(+) create mode 100644 templates/tailored_shirt_block.yaml diff --git a/templates/dimension_names.yaml b/templates/dimension_names.yaml index b8c9069..e7dee77 100644 --- a/templates/dimension_names.yaml +++ b/templates/dimension_names.yaml @@ -17,6 +17,22 @@ waist_to_hip: name: Waist to hip waist_to_floor: name: Waist to floor +scye_depth: + name: Scye depth +neck_size: + name: Neck size +chest: + name: Chest +back_waist: + name: Back neck to waist +half_back: + name: Half back +shirt_length: + name: Shirt length +sleeve_length_shirt: + name: Sleeve length for shirts +cuff_size: + name: Cuff size bovenwijdte: name: Bovenwijdte diff --git a/templates/tailored_shirt_block.yaml b/templates/tailored_shirt_block.yaml new file mode 100644 index 0000000..5461ef6 --- /dev/null +++ b/templates/tailored_shirt_block.yaml @@ -0,0 +1,311 @@ +--- +name: Basic Trouser Block +panels: + body: + allowances: + hem: 1cm + seam: 1cm + information: + position: + y: -10 + x: 10 + lines: + - through: [14,8] + style: + thickness: 1 + - through: [8, 7, 0, 1, 2, 3, 37, 19, 35, 6, 22] + - through: [1,11,17,4] + - through: [7,12,10] + - through: [9,15,10,23,11] + - through: [15,16] + curve: + start: 10 + - through: [0,7a,8] + curve: + start: 7 + style: + thickness: 1 + - through: [17,18,19] + - through: [24,21] + style: + thickness: 1 + - through: [21,22] + curve: + start: 20b + end: 20a + style: + thickness: 1 + - through: [14,10,11a,17,25a,26,27a,24] + curve: + start: 14 + style: + thickness: 1 + - through: [28,28a] + - through: [22,29,29a] + - through: [37,34] + curve: + start: 19 + end: 34a + style: + thickness: 1 + - through: [33,36] + curve: + start: 33a + end: 36a + style: + thickness: 1 + - through: [17,31,34] + curve: {} + style: + thickness: 0.6 + - through: [17,30,33] + curve: {} + style: + thickness: 0.6 + - through: [36,29b] + - through: [34,33] + style: + thickness: 1 + - through: [39,43,41] + curve: {} + style: + thickness: 0.6 + - through: [39,42,41] + curve: {} + style: + thickness: 0.6 + - through: [0,3,37] + style: + thickness: 1 + - through: [22,29,29b,36] + style: + thickness: 1 + + points: + 0: + position: {} + 1: + position: + y: -(scye_depth) - 60 + 2: + position: + y: -(back_waist + 25 ) + 3: + position: + y: -(shirt_length) - 40 + 4: + relativeTo: 1 + position: + x: chest/2 + 100 + 5: + relativeTo: 0 + position: + x: DistanceBetween("1","4") + 6: + relativeTo: 3 + position: + x: DistanceBetween("1","4") + 7: + relativeTo: 0 + position: + x: neck_size/5 - 5 + 8: + relativeTo: 7 + position: + y: 45 + 9: + position: + y: -(DistanceBetween("0","1")/5 + 40) + 10: + relativeTo: 9 + position: + x: half_back + 40 + 11: + relativeTo: 1 + position: + x: half_back + 40 + 12: + relativeTo: 0 + position: + x: half_back + 40 + 14: + relativeTo: 12 + position: + x: 15 + y: 20 + 15: + relativeTo: 10 + position: + x: -100 + 16: + relativeTo: 10 + position: + y: -7.5 + 17: + relativeTo: 1 + position: + x: DistanceBetween("1","4")/2 + 5 + 18: + relativeTo: 17 + position: + y: -(DistanceBetween("1","2")+25) + 19: + relativeTo: 17 + position: + y: -DistanceBetween("1","3") + 20: + relativeTo: 5 + position: + y: -45 + 21: + relativeTo: 20 + position: + x: -(neck_size/5-10) + 22: + relativeTo: 20 + position: + y: -(neck_size/5-25) + 23: + relativeTo: 10 + position: + y: -15 + 24: + relativeTo: 21 + polar: + length: DistanceBetween("8","14") + rotation: acos(YDistanceBetween("21","23")/DistanceBetween("8","14")) + 25: + relativeTo: 1 + position: + x: chest/3+40 + 26: + relativeTo: 25 + position: + y: 40 + 27: + between: + from: 26 + to: 24 + offset: 0.5 + 28: + relativeTo: 22 + position: + x: 15 + 28a: + relativeTo: 28 + position: + y: -YDistanceBetween("28","3") + hide: true + 29: + relativeTo: 28 + position: + x: 35 + 29a: + relativeTo: 29 + position: + y: -YDistanceBetween("29","3") + hide: true + 29b: + relativeTo: 29a + position: + y: DistanceBetween("35","36") + hide: true + 30: + relativeTo: 18 + position: + x: 25 + 31: + relativeTo: 18 + position: + x: -25 + 32: + relativeTo: 19 + position: + y: 80 + 33: + relativeTo: 32 + position: + x: 15 + 33a: + relativeTo: 33 + position: + x: DistanceBetween("33","36") + 34: + relativeTo: 32 + position: + x: -15 + 34a: + relativeTo: 34 + position: + x: -DistanceBetween("19","37") + 35: + between: + from: 6 + to: 19 + offset: 0.5 + 36: + relativeTo: 35 + position: + x: 30 + rotation: -pi/2 + 36a: + relativeTo: 36 + position: + x: -DistanceBetween("33","36") + 37: + between: + from: 3 + to: 19 + offset: 0.5 + 38: + relativeTo: 1 + position: + x: DistanceBetween("1","11")/2 + 20 + 39: + relativeTo: 38 + position: + y: -40 + 40: + relativeTo: 2 + position: + x: DistanceBetween("1","38") + y: -25 + 41: + relativeTo: 40 + position: + y: -160 + 42: + relativeTo: 40 + position: + x: 7.5 + 43: + relativeTo: 40 + position: + x: -7.5 + 7a: + relativeTo: 7 + polar: + length: 20 + rotation: 3*pi/4 + 11a: + relativeTo: 11 + position: + y: 30 + x: 10 + 20a: + relativeTo: 22 + position: + x: -DistanceBetween("21","20")*2 + 20b: + relativeTo: 21 + position: + y: -DistanceBetween("22","20")*2 + 27a: + relativeTo: 27 + position: + x: 10 + 25a: + relativeTo: 25 + position: + y: 7 + x: -30 \ No newline at end of file