]> www.fi.muni.cz Git - things.git/blob - mini-arrow-spring2.scad
switch holder.scad
[things.git] / mini-arrow-spring2.scad
1
2 // Module names are of the form poly_<inkscape-path-id>().  As a result,
3 // you can associate a polygon in this OpenSCAD program with the corresponding
4 // SVG element in the Inkscape document by looking for the XML element with
5 // the attribute id="inkscape-path-id".
6
7 // fudge value is used to ensure that subtracted solids are a tad taller
8 // in the z dimension than the polygon being subtracted from.  This helps
9 // keep the resulting .stl file manifold.
10 fudge = 0.1;
11
12 module poly_path4339(h)
13 {
14   union()
15   {
16     linear_extrude(height=h)
17       polygon([[25.000000,-1.500000],[25.000000,11.500000],[27.000000,11.500000],[27.000000,-1.500000],[25.000000,-1.500000]]);
18   }
19 }
20
21 module poly_path4315(h)
22 {
23   union()
24   {
25     linear_extrude(height=h)
26       polygon([[-30.000000,-11.500000],[-30.000000,-8.500000],[30.000000,-8.500000],[30.000000,-11.500000],[-30.000000,-11.500000]]);
27   }
28 }
29
30 module poly_path4321(h)
31 {
32   union()
33   {
34     linear_extrude(height=h)
35       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]]);
36   }
37 }
38
39 module poly_path4291(h)
40 {
41   union()
42   {
43     linear_extrude(height=h)
44       polygon([[-30.000000,-8.500000],[-30.000000,1.500000],[-28.000000,1.500000],[-28.000000,-8.500000],[-30.000000,-8.500000]]);
45   }
46 }
47
48 module poly_path4345(h)
49 {
50   union()
51   {
52     linear_extrude(height=h)
53       polygon([[28.000000,-8.500000],[28.000000,1.500000],[30.000000,1.500000],[30.000000,-8.500000],[28.000000,-8.500000]]);
54   }
55 }
56
57 module poly_path4333(h)
58 {
59   union()
60   {
61     linear_extrude(height=h)
62       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]]);
63   }
64 }
65
66 module poly_path4303(h)
67 {
68   union()
69   {
70     linear_extrude(height=h)
71       polygon([[-30.000000,8.500000],[-30.000000,11.500000],[30.000000,11.500000],[30.000000,8.500000],[-30.000000,8.500000]]);
72   }
73 }
74
75 module poly_path4285(h)
76 {
77   union()
78   {
79     linear_extrude(height=h)
80       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]]);
81   }
82 }
83
84 module poly_path4327(h)
85 {
86   union()
87   {
88     linear_extrude(height=h)
89       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]]);
90   }
91 }
92
93 module poly_path4297(h)
94 {
95   union()
96   {
97     linear_extrude(height=h)
98       polygon([[-27.000000,-1.500000],[-27.000000,11.500000],[-25.000000,11.500000],[-25.000000,-1.500000],[-27.000000,-1.500000]]);
99   }
100 }
101
102 module poly_path4309(h)
103 {
104   union()
105   {
106     linear_extrude(height=h)
107       polygon([[-1.000000,-1.500000],[-1.000000,11.500000],[1.000000,11.500000],[1.000000,-1.500000],[-1.000000,-1.500000]]);
108   }
109 }
110
111 module spring() {
112 poly_path4339(5);
113 poly_path4315(5);
114 poly_path4321(5);
115 poly_path4291(5);
116 poly_path4345(5);
117 poly_path4333(5);
118 poly_path4303(5);
119 poly_path4285(5);
120 poly_path4327(5);
121 poly_path4297(5);
122 poly_path4309(5);
123 }