//Abstandhalter für Chassis V1-B1

$fn=300;

x1=11; //halbe Breite Fläche hinten
x2=10.5; //halber Abstand Schraublöcher
x3=4.7; //halbe Breite Trapez Öhse hinten
x4=4.7; //Halbe Öhsenbreite
x5=12; //Ausleger x-Richtung

y1=1.5; //Wanddicke Chassis hinten
y2=2.95; //Y-Abstand Schraubloch
y3=1.5; //Abstand Wand zu Öhse
y4=5; //Ausleger y-Richtung

r1=2; //Radius Schraubloch außen
r2=1; //Radius Schraubloch innen
r3=2; //Radius Ausleger innen
r4=1; //Radius Ausleger außen

z1=5.5; //Höhe OK Wand bis Öhse
z2=9.5; //Höhe bis UK Ausleger
z3=5; //Höhe Ausleger innen
z4=2; //Höhe 1 Ausler außen 
z5=5; //Höhe 2 Ausleger außen


module Abstandhalter_halb()
{
  
    difference()
        {

        union()
            {
            translate ([0,-y1,0]) cube([x1,2.8*y1,y1+z1]);
            translate([x2,y2,z1]) cylinder(y1,r1,r1);
                
            hull()
            {
            translate([x1,-r3/2,z1-z2]) cylinder(z3,r3,r3);
            translate([x1+x5, -y4,z1-z2]) cylinder(z4,r4,r4);
            }

            hull()
            {
            translate([x1,-r3/2,z1-z2]) cylinder(z3,r3,r3);
            translate([x1, 0,z1+y1-0.1]) cylinder(0.1,r4,r4);
            }

            translate([x1+x5, -y4,z1-z2]) cylinder(z5,r4,r4);    
                
                
            }
            
        translate ([0,0,-z2])cube([x1,y1,z1+z2]);
        translate([x2,y2,0]) cylinder(z1,r1,r1);
        translate([x2-x1+x3,0,z1-z2]) cube([x2+x1-x3,2*r1,z2]);
        translate([0,y1,0]) cube([x3,2*r1,z1-y1]);
        translate([x2,y2,0]) cylinder(2*z1,r2,r2);
        }


}

Abstandhalter_halb();
mirror([1,0,0]) Abstandhalter_halb();


 