// -*- C -*-
+whole_depth = 90;
+whole_width = 120;
+
antifoot_width = 15;
antifoot_height = 15;
antifoot_slope = 1.0;
antifoot_depth = 10;
-antifoot_base = 8;
+antifoot_base = 12;
antifoot_front = 5;
-antifoot_overlap = 5;
+
+leg_width = 8;
+leg_thick = 8;
+
+post_height = 50;
+orifice_dia = 22.1 + 0.3;
+post_thick = 8;
+
+stretcher_thick = 5;
+stretcher_width = 8;
+
+antifoot_back = antifoot_depth + antifoot_height/antifoot_slope;
+post_rad = orifice_dia/2 + post_thick;
module AntiFoot(){
- antifoot_back = antifoot_depth + antifoot_height/antifoot_slope;
translate([-antifoot_front-antifoot_back, antifoot_width/2, 0])
rotate([90,0,0])
translate([antifoot_front, antifoot_base, 0])
[0, 0],
[antifoot_depth, 0],
[antifoot_back, antifoot_height],
- [antifoot_back+antifoot_overlap, antifoot_height],
- [antifoot_back+antifoot_overlap, -antifoot_base]]);
+ [antifoot_back, -antifoot_base]]);
+ translate([-antifoot_back, 0, 0])
+ cube([stretcher_width, whole_width*0.55, stretcher_width]);
+}
+
+module LeftLeg(){
+ effective_depth = whole_depth - antifoot_back;
+ translate([-effective_depth, -whole_width/2, 0])
+ AntiFoot();
+ hull(){
+ translate([-effective_depth-leg_width/2, -whole_width/2, 0])
+ cylinder(r=leg_width/2, h=antifoot_base);
+ cylinder(r=leg_width/2, h=post_height);
+ }
+}
+
+module RightLeg(){
+ mirror([0,1,0]) LeftLeg();
+}
+
+module Post(){
+ cylinder(h=post_height, r=post_rad, $fn=70);
+}
+
+module Stand(){
+ difference(){
+ union(){
+ LeftLeg();
+ RightLeg();
+ Post();
+ }
+ translate([0,0,-1]) cylinder(h=post_height+2, r=orifice_dia/2);
+ }
}
-AntiFoot();
+Stand();