--- /dev/null
+// -*- C -*-
+//
+// For holding the spring while reassembling a candle holder.
+
+spring_body_w = 5.0;
+spring_body_l = 6.0;
+axle_dia = 2.0;
+recess_d = 13.0;
+total_len = 30.0;
+
+th_y = 1;
+th_x = 2;
+handle_th = 2.5;
+
+// calculated
+
+outer_sz = [spring_body_l + th_x, spring_body_w + th_y];
+handle_sz = [outer_sz[0], handle_th];
+th_z = th_x;
+
+module OuterElevation(){
+ square(center=true, outer_sz);
+}
+
+module Elevation(){
+ difference(){
+ OuterElevation();
+
+ square(center=true, [spring_body_l, spring_body_w]);
+ square(center=true, [outer_sz[0] + 10, axle_dia]);
+ }
+}
+
+module Clip(){
+ linextr(-th_z, recess_d) Elevation();
+ linextr(-th_z, 0) OuterElevation();
+ linextr(recess_d - total_len, 0) square(center=true, handle_sz);
+}
+
+module Print(){
+ rotate([0, 90, 0]) Clip();
+}
+
+Print();