Problem with comparison.
/Modules/Mechanical/Boxes/BASEBOX01A/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+2*vyska_listy) |
square([(pocet_der-1)*vzdalenost_der-vule_delky_celicka, tloustka_celicka-vule_tlousky], center = true); |
} |
} |
/Modules/Mechanical/Boxes/BASEBOX01A/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); |
/Modules/Mechanical/Boxes/BASEBOX01A/CAD/configuration/manufactury_conf.scad |
---|
0,0 → 1,41 |
$fn=20; // model faces resolution. |
//Sloupek - vyrobni parametry |
zapust=6; //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=5; //definuje výšku žlábku do kterého se vsunuje čelíčko |
//parametry pro úžlabinu |
sirka_materialu = 3; //sirka materialu od kraje desky k uzlabine |
//Celicko |
//-------------------------------------------------- |
vule_vysky_celicka =1; //definuje vůli celicka v liste |
vule_delky_celicka =1; |
tloustka_celicka = 3; |
vule_tlousky = 0.25; |
/Modules/Mechanical/Boxes/BASEBOX01A/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); |
/Modules/Mechanical/Boxes/BASEBOX01A/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); |
} |
} |