for (endy=[cy0,cy1]) {
$fn=32;
translate([cx,endy,0]){
- for (rot=[45:90:315]) {
- rotate(rot){
- translate([legrad,0,0]){
- hull(){
- cylinder(r= footrad_max, h=1);
- translate([0,0,-footrad_depth])
- cylinder(r= footrad_min, h=1);
- }
+ // feet
+ for (rot=[45:90:315]) rotate(rot) {
+ translate([legrad,0,0]){
+ hull(){
+ cylinder(r= footrad_max, h=1);
+ translate([0,0,-footrad_depth])
+ cylinder(r= footrad_min, h=1);
}
}
}
- for (rot=[45,135]) {
- rotate(rot){
- hull(){
- for (s=[-1,+1]){
- translate([s*legrad,0,0])
- cylinder(r= footrad_max, h=bar[1]);
- }
+ // legs
+ for (rot=[45,135]) rotate(rot) {
+ hull(){
+ for (s=[-1,+1]){
+ translate([s*legrad,0,0])
+ cylinder(r= footrad_max, h=bar[1]);
}
}
}
+ // strap holes
+ for (rot=[0,180]) rotate(rot) {
+ translate([ straphole_x_max - strap[0]/2, 0,0 ])
+ cube(concat(strap,[20]), center=true);
+ }
}
}
}
module FitTest_PairDemo(){ ////toplevel
- translate([-120,0,0]){
+ sh=[-100,-15,0];
+ translate(sh){
FitTest_PairLink();
%FitTest_FrontCurve();
%FitTest_RearCurve();
}
+ rotate([0,0,180]){
+ translate(sh){
+ difference(){
+ union(){
+ FitTest_FrontCurve();
+ FitTest_RearCurve();
+ }
+ #FitTest_PairLink(true);
+ }
+ }
+ }
}
module RoundCornerDemo_plat(cnr){