]> www.fi.muni.cz Git - things.git/blobdiff - mini-arrow-spring2.scad
Proof of concept of a bumper for mini arrow
[things.git] / mini-arrow-spring2.scad
diff --git a/mini-arrow-spring2.scad b/mini-arrow-spring2.scad
new file mode 100644 (file)
index 0000000..4961be6
--- /dev/null
@@ -0,0 +1,121 @@
+
+// Module names are of the form poly_<inkscape-path-id>().  As a result,
+// you can associate a polygon in this OpenSCAD program with the corresponding
+// SVG element in the Inkscape document by looking for the XML element with
+// the attribute id="inkscape-path-id".
+
+// fudge value is used to ensure that subtracted solids are a tad taller
+// in the z dimension than the polygon being subtracted from.  This helps
+// keep the resulting .stl file manifold.
+fudge = 0.1;
+
+module poly_path4339(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[25.000000,-1.500000],[25.000000,11.500000],[27.000000,11.500000],[27.000000,-1.500000],[25.000000,-1.500000]]);
+  }
+}
+
+module poly_path4315(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[-30.000000,-11.500000],[-30.000000,-8.500000],[30.000000,-8.500000],[30.000000,-11.500000],[-30.000000,-11.500000]]);
+  }
+}
+
+module poly_path4321(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[0.015625,-9.750000],[-3.592242,-9.773235],[-11.541016,-9.560550],[-15.799638,-9.233666],[-19.558594,-8.679690],[-22.353516,-7.800780],[-23.300781,-7.109380],[-23.750000,-6.000000],[-23.392851,-4.918063],[-22.539062,-4.150390],[-20.097656,-3.341800],[-13.306641,-2.626950],[-9.756763,-2.294389],[-6.738281,-1.759770],[-4.791016,-0.931640],[-4.250000,0.000000],[-2.750000,0.000000],[-3.069577,-1.201359],[-3.884766,-2.126950],[-6.355469,-3.208980],[-9.583081,-3.787643],[-13.193359,-4.123050],[-19.808594,-4.814450],[-21.785156,-5.447270],[-22.250000,-6.000000],[-22.181641,-6.111330],[-21.669922,-6.466800],[-19.253906,-7.210940],[-15.645675,-7.740944],[-11.458984,-8.064450],[-3.595258,-8.273640],[-0.015625,-8.250000],[0.015625,-9.750000]]);
+  }
+}
+
+module poly_path4291(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[-30.000000,-8.500000],[-30.000000,1.500000],[-28.000000,1.500000],[-28.000000,-8.500000],[-30.000000,-8.500000]]);
+  }
+}
+
+module poly_path4345(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[28.000000,-8.500000],[28.000000,1.500000],[30.000000,1.500000],[30.000000,-8.500000],[28.000000,-8.500000]]);
+  }
+}
+
+module poly_path4333(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[-0.015625,-9.750000],[3.592242,-9.773235],[11.541016,-9.560550],[15.799638,-9.233666],[19.558594,-8.679690],[22.353516,-7.800780],[23.300781,-7.109380],[23.750000,-6.000000],[23.383995,-4.912297],[22.511719,-4.146480],[20.015625,-3.341800],[13.056641,-2.626950],[9.413756,-2.293870],[6.312500,-1.757810],[4.304688,-0.925780],[3.870214,-0.487351],[3.750000,0.000000],[2.250000,0.000000],[2.579004,-1.207472],[3.414062,-2.132810],[5.937500,-3.210940],[9.242494,-3.788161],[12.943359,-4.123050],[19.734375,-4.814450],[21.769531,-5.451170],[22.250000,-6.000000],[22.181641,-6.111330],[21.669922,-6.466800],[19.253906,-7.210940],[15.645675,-7.740944],[11.458984,-8.064450],[3.595258,-8.273640],[0.015625,-8.250000],[-0.015625,-9.750000]]);
+  }
+}
+
+module poly_path4303(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[-30.000000,8.500000],[-30.000000,11.500000],[30.000000,11.500000],[30.000000,8.500000],[-30.000000,8.500000]]);
+  }
+}
+
+module poly_path4285(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[-4.250000,0.000000],[-4.791016,0.931640],[-6.738281,1.759770],[-9.756763,2.294389],[-13.306641,2.626950],[-20.097656,3.341800],[-22.539062,4.150390],[-23.392851,4.918063],[-23.750000,6.000000],[-23.300781,7.109380],[-22.353516,7.800780],[-19.558594,8.679690],[-15.799638,9.233666],[-11.541016,9.560550],[-3.592242,9.773235],[0.015625,9.750000],[-0.015625,8.250000],[-3.595258,8.273640],[-11.458984,8.064450],[-15.645675,7.740944],[-19.253906,7.210940],[-21.669922,6.466800],[-22.181641,6.111330],[-22.250000,6.000000],[-21.785156,5.447270],[-19.808594,4.814450],[-13.193359,4.123050],[-9.583081,3.787643],[-6.355469,3.208980],[-3.884766,2.126950],[-3.069577,1.201359],[-2.750000,0.000000],[-4.250000,0.000000]]);
+  }
+}
+
+module poly_path4327(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[3.750000,0.000000],[3.870214,0.487351],[4.304688,0.925780],[6.312500,1.757810],[9.413756,2.293870],[13.056641,2.626950],[20.015625,3.341800],[22.511719,4.146480],[23.383995,4.912298],[23.750000,6.000000],[23.300781,7.109380],[22.353516,7.800780],[19.558594,8.679690],[15.799638,9.233666],[11.541016,9.560550],[3.592242,9.773235],[-0.015625,9.750000],[0.015625,8.250000],[3.595258,8.273640],[11.458984,8.064450],[15.645675,7.740944],[19.253906,7.210940],[21.669922,6.466800],[22.181641,6.111330],[22.250000,6.000000],[21.769531,5.451170],[19.734375,4.814450],[12.943359,4.123050],[9.242494,3.788161],[5.937500,3.210940],[3.414062,2.132810],[2.579004,1.207473],[2.250000,0.000000],[3.750000,0.000000]]);
+  }
+}
+
+module poly_path4297(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[-27.000000,-1.500000],[-27.000000,11.500000],[-25.000000,11.500000],[-25.000000,-1.500000],[-27.000000,-1.500000]]);
+  }
+}
+
+module poly_path4309(h)
+{
+  union()
+  {
+    linear_extrude(height=h)
+      polygon([[-1.000000,-1.500000],[-1.000000,11.500000],[1.000000,11.500000],[1.000000,-1.500000],[-1.000000,-1.500000]]);
+  }
+}
+
+poly_path4339(5);
+poly_path4315(5);
+poly_path4321(5);
+poly_path4291(5);
+poly_path4345(5);
+poly_path4333(5);
+poly_path4303(5);
+poly_path4285(5);
+poly_path4327(5);
+poly_path4297(5);
+poly_path4309(5);