|
|
@@ -0,0 +1,46 @@
|
|
|
+include <../config/wall_spacer.scad>
|
|
|
+include <../config/wall.scad>
|
|
|
+
|
|
|
+module wall_spacer_contact_shape() {
|
|
|
+ outside = wall_mounting_screws + wall_spacer_contact_margin;
|
|
|
+ inside = wall_mounting_screws;
|
|
|
+
|
|
|
+ difference() {
|
|
|
+ circle(r = outside / 2);
|
|
|
+ circle(r = inside / 2);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+module wall_spacer_contact_object() {
|
|
|
+ linear_extrude(height = wall_spacer_contact_height) {
|
|
|
+ wall_spacer_contact_shape();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+module wall_spacer_top_shape() {
|
|
|
+ outside = wall_mounting_screws + wall_spacer_margin;
|
|
|
+ inside = wall_mounting_screws;
|
|
|
+
|
|
|
+ difference() {
|
|
|
+ circle(r = outside / 2);
|
|
|
+ circle(r = inside / 2);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+module wall_spacer_top_object() {
|
|
|
+ top_height = wall_spacer_full_height - wall_spacer_contact_height;
|
|
|
+
|
|
|
+ linear_extrude(height = top_height) {
|
|
|
+ wall_spacer_top_shape();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+module wall_spacer_object() {
|
|
|
+ color(wall_spacer_color) {
|
|
|
+ wall_spacer_contact_object();
|
|
|
+
|
|
|
+ translate([0, 0, wall_spacer_contact_height]) {
|
|
|
+ wall_spacer_top_object();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|