use <text/Write.scad>
use <MLAB_logo.scad>
use <sloupek.scad>
use <plbase.scad>
use <bocnice.scad>
include <manufactury_conf.scad>
include <../configuration.scad>

spodni_kryt(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice);

//Spodni kryt - aby nebyli vidět matice ze spodu boxu
//------------------------------------------------------------


module spodni_kryt(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice){
  
 
translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,(vyska_prekryti_spodni+vyska_prekryti_vrchni+tloustka_plbase)])
    rotate(a=[180,0,90])        
        translate([radidus_hrany,radidus_hrany,0])
            translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0])

difference () {

    minkowski()
        {
        cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_prekryti_spodni+vyska_prekryti_vrchni+sila_spodniho_krytu]);          // base plastics brick
        cylinder(r=radidus_hrany,h=0.1);
        }
    translate([tloustka_bocnice-tolerance_na_nasunuti,tloustka_bocnice-tolerance_na_nasunuti,-sila_spodniho_krytu])    
        minkowski()
        {
        cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice+2*tolerance_na_nasunuti,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice+2*tolerance_na_nasunuti,vyska_prekryti_spodni+
vyska_prekryti_vrchni+sila_spodniho_krytu+0.2]);          // base plastics brick
        cylinder(r=radidus_hrany,h=0.1);
        }
    
 
    translate([0,0,-vyska_prekryti_spodni-sila_spodniho_krytu])  
        difference () {

            minkowski()
            {
                cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_prekryti_spodni+
vyska_prekryti_vrchni+sila_spodniho_krytu]);                // base plastics brick
                cylinder(r=radidus_hrany,h=0.1);
            }

            translate([tloustka_bocnice,tloustka_bocnice,-0.1])    
                minkowski()
                {
                cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,vyska_prekryti_spodni+
vyska_prekryti_vrchni+sila_spodniho_krytu+0.2]);          // base plastics brick
                cylinder(r=radidus_hrany,h=0.1);
                }
    
            translate([-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1+prekryti_tolerance/2,-radidus_hrany-0.25,-0.1])    

                cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice-vzdalenost_der-2*tloustka_bocnice-2-prekryti_tolerance,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice+0.5,vyska_bocnice+sila_spodniho_krytu+0.2]);

            translate([-radidus_hrany-0.25,-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1+prekryti_tolerance/2,-0.1])    

                cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice+0.5,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice-vzdalenost_der-2*tloustka_bocnice-2-prekryti_tolerance,vyska_bocnice+sila_spodniho_krytu+0.2]);      

 } 

    
 } 
 
}