//Funkce otvuru pro ruzne prvky umistene do celicek/*OBSAHUJE1A)1B)1C) - Pro modul USBI2C01A1D) - Pro konektor MIC3381E) - Pro modul UNIPOWER02A1F) - Pro modul I2CDIFF01A1G) - Pro modul UNIPOWER03A1H) - Větrací otvor2A) - Otvor na IR*//*1C) - Pro modul USBI2C01A----------------------------------------------------------------------------------------------------------------pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabickyposun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celickavzdalenost_der - definuje roztec dermodul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.*/module USBI2C01A(tloustka_bocnice,vzdalenost_der) //uz upraveno{USBI2C01A_sirka_kon=12; //sirka konektoruUSBI2C01A_vyska_kon=11; //vyska konektoruUSBI2C01A_sirka_mod_otvory=3; //kolik modul zabira derUSBI2C01A_svyska_nad_plbase=6; //kolik modul zabira dertranslate([vzdalenost_der*(USBI2C01A_sirka_mod_otvory-1)/2,0,USBI2C01A_vyska_kon/2+USBI2C01A_svyska_nad_plbase])cube(size = [USBI2C01A_sirka_kon,tloustka_bocnice+0.2,USBI2C01A_vyska_kon], center = true);}/*1D) - Pro konektor MIC338----------------------------------------------------------------------------------------------------------------*///posun_od_okraje - zadava se o kolik der se ma posunot otvor od středu celicka v nasobcich roztece dermodule MIC338(tloustka_bocnice,vzdalenost_der,vyska_bocnice){MIC338_polomer_kon=8; //polomer montazniho otvorutranslate([0,0,vyska_bocnice/2])rotate(a=[90,0,0])cylinder(h=tloustka_bocnice+0.1, r=MIC338_polomer_kon+0.1, center=true);}/*1E) - Pro modul UNIPOWER02A----------------------------------------------------------------------------------------------------------------pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabickyposun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celickavzdalenost_der - definuje rozec dermodul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.*/module UNIPOWER02A(tloustka_bocnice,vzdalenost_der){UNIPOWER02A_sirka_kon=10; //sirka konektoruUNIPOWER02A_vyska_kon=11; //vyska konektoruUNIPOWER02A_sirka_mod_otvory=4; //kolik modul zabira derUNIPOWER02A_vzdalenost_konektoru=6; //vzdalenost kraje konektoru od středu šroubuUNIPOWER02A_vyska_nad_plbase=6; //vyska mezi albase a konektoremtranslate([UNIPOWER02A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER02A_vyska_nad_plbase])cube(size = [UNIPOWER02A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER02A_vyska_kon], center = false);}/*1F) - Pro modul I2CDIFF01A----------------------------------------------------------------------------------------------------------------pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabickyposun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celickavzdalenost_der - definuje roztec dermodul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.*/module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno{I2CDIFF01A_sirka_kon=16.5; //sirka konektoruI2CDIFF01A_vyska_kon=13.5; //vyska konektoruI2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira derI2CDIFF01A_vyska_nad_plbase=6; //vyska mezi albase a konektoremtranslate([vzdalenost_der*(I2CDIFF01A_sirka_mod_otvory-1)/2,0,I2CDIFF01A_vyska_kon/2+I2CDIFF01A_vyska_nad_plbase])cube(size = [I2CDIFF01A_sirka_kon,tloustka_bocnice+0.2,I2CDIFF01A_vyska_kon], center = true);}/*1G) - Pro modul UNIPOWER03A----------------------------------------------------------------------------------------------------------------*/module UNIPOWER03A(tloustka_bocnice,vzdalenost_der){UNIPOWER03A_sirka_kon=10; //sirka konektoruUNIPOWER03A_vyska_kon=11; //vyska konektoruUNIPOWER03A_sirka_mod_otvory=4; //kolik modul zabira derUNIPOWER03A_vzdalenost_konektoru=5; //vzdalenost kraje konektoru od středu šroubuUNIPOWER03A_vyska_nad_plbase=6; //vyska mezi albase a konektoremtranslate([(UNIPOWER03A_sirka_mod_otvory-1)*vzdalenost_der-UNIPOWER03A_sirka_kon-UNIPOWER03A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER03A_vyska_nad_plbase])cube(size = [UNIPOWER03A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER03A_vyska_kon], center = false);}/*1G) - OTVOR PRO VETRANI----------------------------------------------------------------------------------------------------------------*/module CHLADICI_OTVORY(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice){CHLADICI_OTVORY_mezera=0.6;CHLADICI_OTVORY_snizeni_vysky=10;CHLADICI_OTVORY_prekryti=1.2;for (a =[1:delka])translate([vzdalenost_der*(a-1),0,0]){union() {translate([CHLADICI_OTVORY_prekryti/2,-CHLADICI_OTVORY_mezera/2+0.005,CHLADICI_OTVORY_snizeni_vysky/2])cube(size = [(vzdalenost_der-2*CHLADICI_OTVORY_prekryti)/2,(tloustka_bocnice+CHLADICI_OTVORY_mezera)/2,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);translate([(vzdalenost_der+CHLADICI_OTVORY_prekryti)/2,-tloustka_bocnice/2-0.005,CHLADICI_OTVORY_snizeni_vysky/2])cube(size = [(vzdalenost_der-2*CHLADICI_OTVORY_prekryti)/2,(tloustka_bocnice+CHLADICI_OTVORY_mezera)/2,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);translate([(vzdalenost_der-CHLADICI_OTVORY_prekryti)/2,-CHLADICI_OTVORY_mezera/2,CHLADICI_OTVORY_snizeni_vysky/2])cube(size = [CHLADICI_OTVORY_prekryti,CHLADICI_OTVORY_mezera,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);translate([(vzdalenost_der-CHLADICI_OTVORY_prekryti)/2+vzdalenost_der/2,-CHLADICI_OTVORY_mezera/2,CHLADICI_OTVORY_snizeni_vysky/2])cube(size = [CHLADICI_OTVORY_prekryti+1,CHLADICI_OTVORY_mezera,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);}}}/*2A) - OTVOR PRO IR----------------------------------------------------------------------------------------------------------------*/module IR(tloustka_bocnice,vyska_bocnice){IR_sirka_kon=7; //sirka senzoruIR_vyska_kon=7.5; //vyska senzoruIR_hloubka_venkovni=1.2; //sila senzoru od vodičů venIR_vyska_pro_vodice=5;translate([0,-tloustka_bocnice/2-0.01,vyska_bocnice/2-IR_vyska_kon/2])cube(size = [IR_sirka_kon,IR_hloubka_venkovni+0.1,IR_vyska_kon], center = false);translate([0,-(tloustka_bocnice/2-IR_hloubka_venkovni),vyska_bocnice/2-IR_vyska_kon/2-IR_vyska_pro_vodice])cube(size = [IR_sirka_kon,tloustka_bocnice,IR_vyska_kon+IR_vyska_pro_vodice], center = false);}module OTVOR_NA_PRUDUCH(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice){OTVOR_NA_PRUDUCH_vzdalenost_od_kraje=5;translate([0,-0.05-tloustka_bocnice/2,OTVOR_NA_PRUDUCH_vzdalenost_od_kraje])cube(size = [vzdalenost_der*(delka),tloustka_bocnice+0.1,vyska_bocnice-2*OTVOR_NA_PRUDUCH_vzdalenost_od_kraje], center = false);}module CHLADICI_OTVORY2(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice){CHLADICI_OTVORY2_mezera=1.0;CHLADICI_OTVORY2_snizeni_vysky=10;for (a =[1:delka])translate([vzdalenost_der*(a-1),0,0]){translate([vzdalenost_der/2,-0.05-tloustka_bocnice/2,CHLADICI_OTVORY2_snizeni_vysky/2])cube(size = [CHLADICI_OTVORY2_mezera,tloustka_bocnice+0.1,vyska_bocnice-CHLADICI_OTVORY2_snizeni_vysky], center = false);}}