From 33e8a83404048c1d8765b95a4432979d06805db2 Mon Sep 17 00:00:00 2001
From: Matthias Neeracher <microtherion@gmail.com>
Date: Fri, 26 Nov 2021 04:51:34 +0100
Subject: [PATCH] Flex (barely) holds up

---
 battery-case-generator.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/battery-case-generator.py b/battery-case-generator.py
index 3491367..4ac7931 100755
--- a/battery-case-generator.py
+++ b/battery-case-generator.py
@@ -20,6 +20,7 @@ parser.add_argument('--extra-height', default=2.0, type=float, help='Extra verti
 parser.add_argument('--thickness', default=3.0, type=float, help='Thickness of material')
 parser.add_argument('--lid', default=0.2, type=float, help='How much extra play to give the lid')
 parser.add_argument('--tooth', default=0.8, type=float, help='How much to round the edges of the teeth')
+parser.add_argument('--flex-granularity', default=1.7, type=float, help='How much space to give a pair of flex lines')
 parser.add_argument('--verbose', action='store_true', help='Print computed parameter values')
 args = parser.parse_args()
 assert (args.dimension % 2) == 1
@@ -179,7 +180,7 @@ def draw_flex(t, h):
     turtle = svgturtle.SvgTurtle(t.x, t.y)
     al     = h/3.0-args.thickness
     bl     = (h-args.thickness)/3.0-args.thickness
-    nx     = int(args.corner/1.5)
+    nx     = int(args.corner/args.flex_granularity)
     dx     = args.corner/(2*nx-1)
     for stripe in range(nx):
         turtle.right(90)
@@ -295,5 +296,5 @@ draw_plane(1.5*BOX, 1.5*BOX, 'plug')
 draw_plane(2.5*BOX, 1.5*BOX, 'lid')
 draw_plane(2.5*BOX, 1.5*BOX, 'plug_mark')
 draw_case(0.05*args.grid*args.dimension, 2.0*BOX, args.height+args.extra_height, args.slots)
-print('<g fill="none" stroke="black">', SHAPES, '</g>', '<g fill="none" stroke="red">', HOLES, '</g>', '<g fill="none" stroke="blue">', MARKS, '</g>', sep='\n')
+print('<g fill="none" stroke="red">', HOLES, '</g>', '<g fill="none" stroke="blue">', MARKS, '</g>', '<g fill="none" stroke="black">', SHAPES, '</g>', sep='\n')
 print('</svg>')