/Designs/ROBOTS/TEFO01A/CAD/TEFO01A_BOX02A_RS232/CAD/configuration/celicko.scad |
---|
0,0 → 1,11 |
//Funkce generujici plne celicko |
module celicko (vyska,zapust,vule_vysky_celicka,pocet_der,vzdalenost_der,vule_delky_celicka,tloustka_celicka,vule_tlousky,vyska_listy) { |
difference () { |
color("cyan") |
translate([0, 0, 0]) |
linear_extrude(height = vyska-2*zapust-vule_vysky_celicka) |
square([(pocet_der-1)*vzdalenost_der-vule_delky_celicka, tloustka_celicka-vule_tlousky], center = true); |
} |
} |
/Designs/ROBOTS/TEFO01A/CAD/TEFO01A_BOX02A_RS232/CAD/configuration/lista.scad |
---|
0,0 → 1,59 |
//Funkce generujici listu |
module lista (vzdalenost_der,pocet_der,vzdalenost_od_okraje,vzdalenost_od_diry,vzdalenost_1,vzdalenost_2, zapust,vyska_listy,tlouska_celicka,sirka_materialu,vyska_hlavy,prumer_hlavy,prumer_sroubu,prumer_matice,vyska_matice,posuv_dorazu,matice_sila_materialu) { |
difference () { |
color("cyan") |
translate([0, 0, 0]) |
linear_extrude(height = zapust+vyska_listy) |
square([((pocet_der*vzdalenost_der)+2*vzdalenost_1), vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
translate([-((((pocet_der*vzdalenost_der)+2*vzdalenost_1)/2)-(vzdalenost_1+vzdalenost_2/2)), 0, (zapust)]) |
linear_extrude(height = vyska_listy) |
square([vzdalenost_2, vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
translate([((((pocet_der*vzdalenost_der)+2*vzdalenost_1)/2)-(vzdalenost_1+vzdalenost_2/2)), 0, (zapust)]) |
linear_extrude(height = vyska_listy) |
square([vzdalenost_2, vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
translate([-((((pocet_der*vzdalenost_der)+2*vzdalenost_1)/2)-(vzdalenost_1/2)), 0, (zapust)]) |
linear_extrude(height = vyska_listy) |
square([vzdalenost_1, vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
translate([((((pocet_der*vzdalenost_der)+2*vzdalenost_1)/2)-(vzdalenost_1/2)), 0, (zapust)]) |
linear_extrude(height = vyska_listy) |
square([vzdalenost_1, vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
translate([0,-((((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-sirka_materialu)-(tlouska_celicka/2)), zapust]) |
linear_extrude(height = vyska_listy) |
square([((pocet_der*vzdalenost_der)+2*vzdalenost_1), tlouska_celicka], center = true); |
//otvory pro hlavy sroubu |
//-------------------------------------------------------------- |
translate([vzdalenost_der*pocet_der/2,-(((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-vzdalenost_od_okraje),vyska_hlavy/2]) // center top screw |
cylinder(vyska_hlavy, d=prumer_hlavy, center=true); |
translate([-vzdalenost_der*pocet_der/2,-(((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-vzdalenost_od_okraje),vyska_hlavy/2]) // center top screw |
cylinder(vyska_hlavy, d=prumer_hlavy, center=true); |
//otvory pro srouby |
//-------------------------------------------------------------- |
for (i = [0:1:pocet_der]) { |
translate([(-i*vzdalenost_der)+vzdalenost_der*pocet_der/2,-(((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-vzdalenost_od_okraje),(zapust-vyska_hlavy)+vyska_hlavy/2]) // center top screw |
cylinder((2*(zapust+vyska_listy)), d=prumer_sroubu, center=true); |
} |
//otvory pro matice |
//-------------------------------------------------------------- |
for (i = [1:1:(pocet_der-1)]) { |
translate([(-i*vzdalenost_der)+vzdalenost_der*pocet_der/2,-((((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-vzdalenost_od_okraje)-((((prumer_matice+posuv_dorazu+vzdalenost_od_diry)/2))-(prumer_matice+posuv_dorazu)/2)),matice_sila_materialu]) // center top screw |
cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); |
} |
} |
} |
//lista (vzdalenost_der,pocet_der1,vzdalenost_od_okraje,vzdalenost_od_diry,vzdalenost_1,vzdalenost_2, zapust,vyska_listy,tloustka_celicka,sirka_materialu,vyska_hlavy,prumer_hlavy,prumer_sroubu,prumer_matice,vyska_matice,posuv_dorazu,matice_sila_materialu); |
/Designs/ROBOTS/TEFO01A/CAD/TEFO01A_BOX02A_RS232/CAD/configuration/manufactury_conf.scad |
---|
0,0 → 1,41 |
$fn=20; // model faces resolution. |
//Sloupek - vyrobni parametry |
zapust=4.5; //zápust ve sloupku pro listu |
tolerance=0.5; //tolerance mezi zapusti v sloupku a v listě |
zapust1=zapust+tolerance; |
//Sroub - parametry |
vyska_hlavy = 3.5; |
prumer_hlavy=6; |
prumer_sroubu=3.3; |
//Matice - parametry |
prumer_matice=6; //hrany k hraně |
vyska_matice=3; //vyska matice |
posuv_dorazu=0; //pro moznost posuvu dorazu pro vsunutí matice |
matice_sila_materialu=2; //sila materialu pod maticí na ose z |
//Lišta parametry |
//--------------------------------------------------- |
//rozměry výrezu v ose y |
vzdalenost_od_diry = 5; //vzdalenost od stredu upevnovaci diry na druhou stranu |
//rozmery vyrezu v ose x |
vzdalenost_1 = 4.6; //od díry ke kraji |
vzdalenost_2 = 5; |
vyska_listy=2; //definuje výšku žlábku do kterého se vsunuje čelíčko |
//parametry pro úžlabinu |
sirka_materialu = 2; //sirka materialu od kraje desky k uzlabine |
//Celicko |
//-------------------------------------------------- |
vule_vysky_celicka =0.5; //definuje vůli celicka v liste |
vule_delky_celicka =0.1; |
tloustka_celicka = 2; |
vule_tlousky = 0.2; |
/Designs/ROBOTS/TEFO01A/CAD/TEFO01A_BOX02A_RS232/CAD/configuration/otvory.scad |
---|
0,0 → 1,141 |
//Funkce otvuru pro ruzne prvky umistene do celicek |
/*OBSAHUJE |
1A) - LCD 2x16 - urceno pro montaz LCD 2x16 znaku |
1B) - Pro modul RS232SINGLE01A |
1C) - Pro modul USBI2C01A |
1D) - Pro konektor MIC338 |
1E) - Pro modul UNIPOWER02A |
*/ |
//1A) - LCD 2x16 |
//-------------------------------------------------------- |
module otvor_LCD2_16_diry(vyska,zapust,vule_vysky_celicka,pocet_der2,vzdalenost_der,vule_delky_celicka,tloustka_celicka,vule_tlousky,vyska_listy,vzdalenost_der_x,vzdalenost_der_y,prumer_otvoru,prumer_sloupku,ramecek_x,ramecek_y,ramecek_vyska) |
{ |
//otvor na LCD |
translate([0,0,(vyska-2*zapust-vule_vysky_celicka)/2]) |
cube(size = [ramecek_x,tloustka_celicka,ramecek_y], center = true); |
//diry na srouby pro LCD |
translate([vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)+vzdalenost_der_y/2)]) |
rotate(a=[90,0,0]) |
cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true); |
translate([-vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)+vzdalenost_der_y/2)]) |
rotate(a=[90,0,0]) |
cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true); |
translate([vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)-vzdalenost_der_y/2)]) |
rotate(a=[90,0,0]) |
cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true); |
translate([-vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)-vzdalenost_der_y/2)]) |
rotate(a=[90,0,0]) |
cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true); |
} |
module otvor_LCD2_16_sloupky(vyska,zapust,vule_vysky_celicka,pocet_der2,vzdalenost_der,vule_delky_celicka,tloustka_celicka,vule_tlousky,vyska_listy,vzdalenost_der_x,vzdalenost_der_y,prumer_otvoru,prumer_sloupku,ramecek_x,ramecek_y,ramecek_vyska) |
{ |
union() { |
translate([vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)+vzdalenost_der_y/2)]) |
rotate(a=[90,0,0]) |
cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true); |
translate([-vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)+vzdalenost_der_y/2)]) |
rotate(a=[90,0,0]) |
cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true); |
translate([vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)-vzdalenost_der_y/2)]) |
rotate(a=[90,0,0]) |
cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true); |
translate([-vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)-vzdalenost_der_y/2)]) |
rotate(a=[90,0,0]) |
cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true); |
} |
} |
/*1B) - Pro modul RS232SINGLE01A |
-------------------------------------------------------- |
-------------------------------------------------------- |
pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky |
posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka |
vzdalenost_der - definuje rozec der |
modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. |
*/ |
module RS232SINGLE01A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy) |
{ |
RS232SINGLE01A_sirka_kon=32; //sirka konektoru |
RS232SINGLE01A_vyska_kon=13.5; //vyska konektoru |
RS232SINGLE01A_sirka_mod_otvory=5; //kolik modul zabira der |
translate([-(pocet_der_dane_strany-1)*vzdalenost_der/2+1*vzdalenost_der+vzdalenost_der*(RS232SINGLE01A_sirka_mod_otvory-1)/2+posun_od_kraje*vzdalenost_der,0,RS232SINGLE01A_vyska_kon/2+vyska_listy]) |
cube(size = [RS232SINGLE01A_sirka_kon,tloustka_celicka,RS232SINGLE01A_vyska_kon], center = true); |
} |
/*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 krabicky |
posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka |
vzdalenost_der - definuje rozec der |
modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. |
*/ |
module USBI2C01A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy) |
{ |
USBI2C01A_sirka_kon=13; //sirka konektoru |
USBI2C01A_vyska_kon=12; //vyska konektoru |
USBI2C01A_sirka_mod_otvory=3; //kolik modul zabira der |
translate([-(pocet_der_dane_strany-1)*vzdalenost_der/2+1*vzdalenost_der+vzdalenost_der*(USBI2C01A_sirka_mod_otvory-1)/2+posun_od_kraje*vzdalenost_der,0,USBI2C01A_vyska_kon/2+vyska_listy]) |
cube(size = [USBI2C01A_sirka_kon,tloustka_celicka,USBI2C01A_vyska_kon], center = true); |
} |
/*1D) - Pro konektor MIC338 |
-------------------------------------------------------- |
-------------------------------------------------------- |
*/ |
module MIC338(tloustka_celicka,vyska,zapust,vule_vysky_celicka) |
{ |
MIC338_polomer_kon=8; //polomer montazniho otvoru |
translate([0,0,(vyska-2*zapust-vule_vysky_celicka)/2]) |
rotate(a=[90,0,0]) |
cylinder(h=tloustka_celicka+0.1, r=MIC338_polomer_kon+0.1, center=true); |
} |
/*1D) - 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 krabicky |
posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka |
vzdalenost_der - definuje rozec der |
modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. |
*/ |
module UNIPOWER02A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy) |
{ |
UNIPOWER02A_sirka_kon=9; //sirka konektoru |
UNIPOWER02A_vyska_kon=11; //vyska konektoru |
UNIPOWER02A_sirka_mod_otvory=4; //kolik modul zabira der |
UNIPOWER02A_vzdalenost_konektoru=6; //vzdalenost kraje konektoru od středu šroubu |
translate([-(pocet_der_dane_strany-1)*vzdalenost_der/2+1*vzdalenost_der+posun_od_kraje*vzdalenost_der+UNIPOWER02A_vzdalenost_konektoru+UNIPOWER02A_sirka_kon/2,0,UNIPOWER02A_vyska_kon/2+vyska_listy]) |
cube(size = [UNIPOWER02A_sirka_kon,tloustka_celicka,UNIPOWER02A_vyska_kon], center = true); |
} |
/Designs/ROBOTS/TEFO01A/CAD/TEFO01A_BOX02A_RS232/CAD/configuration/otvory_conf.scad |
---|
0,0 → 1,16 |
//Konfigurace pro otvory |
//1A) - LCD 2x16 |
//vzdalenost der |
vzdalenost_der_x = 75; |
vzdalenost_der_y = 31; |
prumer_otvoru = 2.7; |
prumer_sloupku = 5; |
//ramecek LCD |
ramecek_x = 72; |
ramecek_y = 26; |
//vyska ramecku LCD |
ramecek_vyska = 5; |
/Designs/ROBOTS/TEFO01A/CAD/TEFO01A_BOX02A_RS232/CAD/configuration/plbase.scad |
---|
0,0 → 1,125 |
/* |
pocet_der1=5; |
pocet_der2=3; |
radidus_hrany=5; |
vzdalenost_der=10.16; |
vzdalenost_od_okraje=8.8; |
prumer_sroubu=3.3; |
tloustka_plbase=2; |
prekryti_der=0.3; |
vyska_nozicky=5; |
vyska_hlavy = 3.5; |
prumer_hlavy=6; |
*/ |
//PLBASE ZAKLADNI |
//------------------------------------------------------------ |
module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der){ |
difference () { |
//union () { |
translate([radidus_hrany,radidus_hrany,0]) |
minkowski() |
{ |
cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,tloustka_plbase]); // base plastics brick |
cylinder(r=radidus_hrany,h=0.1); |
} |
for (i = [0:1:pocet_der1-1]) { |
for (a = [0:1:pocet_der2-1]) { |
translate([vzdalenost_od_okraje+vzdalenost_der*i,vzdalenost_od_okraje+vzdalenost_der*a, (tloustka_plbase-prekryti_der)/2]) // center top screw |
cylinder(((tloustka_plbase-prekryti_der)), d=prumer_sroubu, center=true); |
} |
} |
translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw |
cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); |
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw |
cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); |
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw |
cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); |
translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw |
cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); |
} |
} |
//MODEL NOZICKY PRO PLBASE |
//----------------------------------------------------------- |
//průmer nozicky je roven vzdalenost_der |
module nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy) |
{ |
difference () { |
translate([0,0,-vyska_nozicky/2]) |
cylinder((vyska_nozicky), d=vzdalenost_der, center=true); |
translate([0,0,-(vyska_nozicky-vyska_hlavy/2)]) |
cylinder((vyska_hlavy), d=prumer_hlavy, center=true); |
translate([0,0,-vyska_nozicky/2]) |
cylinder((vyska_nozicky), d=prumer_sroubu, center=true); |
} |
} |
//PLBASE S NOZICKAMA |
//----------------------------------------------------------- |
module plbase_s_nozickama(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){ |
plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der); |
translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase)]) // center top screw |
rotate(a=[180,0,0]) |
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); |
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, tloustka_plbase]) // center top screw |
rotate(a=[180,0,0]) |
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); |
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw |
rotate(a=[180,0,0]) |
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); |
translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw |
rotate(a=[180,0,0]) |
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); |
} |
//PLBASE SE ZAPUSTENIM SROUBU |
//------------------------------------------------------ |
module plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy){ |
difference () { |
plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,(vyska_hlavy+1.5),prekryti_der); |
translate([vzdalenost_od_okraje,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw |
cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true); |
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw |
cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true); |
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw |
cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true); |
translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw |
cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true); |
} |
} |
/* |
plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy); |
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); |
/Designs/ROBOTS/TEFO01A/CAD/TEFO01A_BOX02A_RS232/CAD/configuration/sloupek.scad |
---|
0,0 → 1,107 |
//Funkce pro generovani sloupku |
module sloupek( |
vyska, |
zapust, |
vzdalenost_der, |
vzdalenost_od_okraje, |
vzdalenost_od_diry, |
radidus_hrany, |
prumer_sroubu, |
prumer_matice, |
vyska_matice, |
posuv_dorazu, |
matice_sila_materialu) { |
difference () { |
union () { |
color("green") |
translate([-(vzdalenost_od_okraje-radidus_hrany),-(vzdalenost_od_okraje-radidus_hrany),0]) // center top screw |
cylinder(vyska, d=(2*radidus_hrany), center=true); |
color("cyan") |
translate([vzdalenost_der/4, vzdalenost_der/4, -vyska/2]) |
linear_extrude(height = vyska) |
square([vzdalenost_der/2, vzdalenost_der/2], center = true); |
color("gray") |
translate([-vzdalenost_od_okraje/2, vzdalenost_der/4, -vyska/2]) |
linear_extrude(height = vyska) |
square([(vzdalenost_od_okraje), vzdalenost_der/2], center = true); |
color("gray") |
translate([vzdalenost_der/4, -vzdalenost_od_okraje/2, -vyska/2]) |
linear_extrude(height = vyska) |
square([vzdalenost_der/2, vzdalenost_od_okraje], center = true); |
color("red") |
translate([-(vzdalenost_od_okraje-radidus_hrany)/2, -vzdalenost_od_okraje/2, -vyska/2]) |
linear_extrude(height = vyska) |
square([vzdalenost_od_okraje-radidus_hrany, vzdalenost_od_okraje], center = true); |
color("red") |
translate([-vzdalenost_od_okraje/2,-(vzdalenost_od_okraje-radidus_hrany)/2, -vyska/2]) |
linear_extrude(height = vyska) |
square([vzdalenost_od_okraje, vzdalenost_od_okraje-radidus_hrany], center = true); |
color("green") |
translate([vzdalenost_der, -vzdalenost_od_okraje/2, -(vyska-(2*zapust))/2]) |
linear_extrude(height = (vyska-(2*zapust))) |
square([vzdalenost_der, vzdalenost_od_okraje], center = true); |
color("red") |
translate([-vzdalenost_od_okraje/2,vzdalenost_der, -(vyska-(2*zapust))/2]) |
linear_extrude(height = (vyska-(2*zapust))) |
square([ vzdalenost_od_okraje,vzdalenost_der], center = true); |
color("cyan") |
translate([vzdalenost_od_diry/2, vzdalenost_der, -(vyska-(2*zapust))/2]) |
linear_extrude(height = (vyska-(2*zapust))) |
square([(vzdalenost_od_diry), vzdalenost_der], center = true); |
color("cyan") |
translate([vzdalenost_der, vzdalenost_od_diry/2, -(vyska-(2*zapust))/2]) |
linear_extrude(height = (vyska-(2*zapust))) |
square([vzdalenost_der, vzdalenost_od_diry ], center = true); |
} |
//diry na sroub |
translate([0,0,0]) // center top screw |
cylinder(2*vyska, d=(prumer_sroubu), center=true); |
translate([vzdalenost_der,0,0]) // center top screw |
cylinder(2*vyska, d=(prumer_sroubu), center=true); |
translate([0,vzdalenost_der,0]) // center top screw |
cylinder(2*vyska, d=(prumer_sroubu), center=true); |
//diry na matice |
//1. krajni matice |
translate([vzdalenost_der,(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)),((vyska-2*zapust)/2-vyska_matice/2)-matice_sila_materialu]) // center top screw |
cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); |
translate([vzdalenost_der,(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)),-(((vyska-2*zapust)/2-vyska_matice/2)-matice_sila_materialu)]) // center top screw |
cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); |
//2. krajni matice |
translate([(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)), vzdalenost_der,((vyska-2*zapust)/2-vyska_matice/2)-matice_sila_materialu]) // center top screw |
cube([ prumer_matice+posuv_dorazu+vzdalenost_od_diry,prumer_matice,vyska_matice], center = true); |
translate([(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)), vzdalenost_der,-(((vyska-2*zapust)/2-vyska_matice/2)-matice_sila_materialu)]) // center top screw |
cube([ prumer_matice+posuv_dorazu+vzdalenost_od_diry,prumer_matice,vyska_matice], center = true); |
//prostredni dira |
translate([0,(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)),((vyska)/2-vyska_matice/2)-matice_sila_materialu]) // center top screw |
cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); |
translate([0,(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)),-(((vyska)/2-vyska_matice/2)-matice_sila_materialu)]) // center top screw |
cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); |
} |
} |