Problem with comparison.
/Modules/Mechanical/AWSCREEN01A/CAD/SRC/AWSCREEN01A_D02.scad
0,0 → 1,94
$fn=40; // model faces resolution.
include <../configuration.scad>
include <polyScrewThread_r1.scad>
 
 
 
 
difference () {
AWSCREEN01A_D02(D03_vyska_zavitu,D03_tolerance_zavitu,D03_material_za_zavitem,D03_polomer_zavitu,D03_polomer_stitu,D03_tloustka_materialu,3*D03_vyska_zavitu,D03_pocet_vyztuh,screen_bevel);
 
 
cube([180,180,180]);
 
}
 
 
 
 
 
module AWSCREEN01A_D02(D03_vyska_zavitu,D03_tolerance_zavitu,D03_material_za_zavitem,D03_polomer_zavitu,D03_polomer_stitu,D03_tloustka_materialu,D03_vyska_stitu,D03_pocet_vyztuh,screen_bevel)
 
{
angle_sep = 360/D03_pocet_vyztuh;
 
//spodní kruh
difference () {
cylinder (h=3*D03_tloustka_materialu,r = D03_polomer_stitu,$fn=100);
translate ([0,0,-0.005])
cylinder (h=2*D03_tloustka_materialu+0.01,r = D03_polomer_stitu-D03_tloustka_materialu,$fn=100);
translate ([0,0,3*D03_tloustka_materialu])
translate ([0,0,-D03_tloustka_materialu-0.01/2])
cylinder (h=D03_vyska_stitu-3*D03_tloustka_materialu-0.4,r1=D03_polomer_stitu ,r2=D03_polomer_zavitu,$fn=100);
}
//spodní kruh - kvůli doplnění výkroje
difference () {
cylinder (h=3*D03_tloustka_materialu,r = D03_polomer_stitu,$fn=100);
translate ([0,0,-0.005])
cylinder (h=3*D03_tloustka_materialu+0.01,r = D03_polomer_stitu-D03_tloustka_materialu,$fn=100);
}
 
 
 
 
 
 
//screen - velky kuzel
translate ([0,0,3*D03_tloustka_materialu])
difference () {
cylinder (h=D03_vyska_stitu-3*D03_tloustka_materialu,r1=D03_polomer_stitu ,r2=D03_polomer_zavitu,$fn=100);
translate ([0,0,-D03_tloustka_materialu-0.01/2])
cylinder (h=D03_vyska_stitu-3*D03_tloustka_materialu-0.4,r1=D03_polomer_stitu ,r2=D03_polomer_zavitu,$fn=100);
}
//horni kuzel
translate ([0,0,D03_vyska_stitu-0.01])
cylinder (h=5,r1=D03_polomer_zavitu ,r2=1,$fn=100);
 
 
//inner ring
 
 
difference () {
cylinder (h=D03_vyska_zavitu,r = D03_polomer_zavitu + D03_material_za_zavitem/2,$fn=100);
translate([0,0,-1])
screw_thread(D03_polomer_zavitu*2,4,55,D03_vyska_zavitu+2,PI/2,2);
}
 
 
// center ribs
for (i = [0 : (D03_pocet_vyztuh-1)]) {
rotate ([90,0,angle_sep* i])
translate ([0,0,-D03_tloustka_materialu/2])
linear_extrude (height = D03_tloustka_materialu, convexity = 10)
polygon(points=[[D03_polomer_zavitu,D03_vyska_stitu+0.01],[D03_polomer_zavitu, 0],[D03_polomer_stitu - D03_tloustka_materialu+0.01,0],[D03_polomer_stitu- D03_tloustka_materialu+0.01,3*D03_tloustka_materialu]]);
 
}
}
/Modules/Mechanical/AWSCREEN01A/CAD/SRC/AWSCREEN01A_D03.scad
0,0 → 1,122
$fn=40; // model faces resolution.
include <../configuration.scad>
include <polyScrewThread_r1.scad>
 
difference () {
AWSCREEN01A_D03(D03_vyska_zavitu,D03_tolerance_zavitu,D03_material_za_zavitem,D03_polomer_zavitu,D03_polomer_stitu,D03_tloustka_materialu,D03_vyska_stitu,D03_pocet_vyztuh,screen_bevel);
 
 
cube([180,180,180]);
 
}
 
 
 
 
module AWSCREEN01A_D03(D03_vyska_zavitu,D03_tolerance_zavitu,D03_material_za_zavitem,D03_polomer_zavitu,D03_polomer_stitu,D03_tloustka_materialu,D03_vyska_stitu,D03_pocet_vyztuh,screen_bevel)
 
{
angle_sep = 360/D03_pocet_vyztuh;
 
//spodní kruh - kvůli výkroji
difference () {
cylinder (h=3*D03_tloustka_materialu,r = D03_polomer_stitu,$fn=100);
translate ([0,0,-0.005])
cylinder (h=2*D03_tloustka_materialu+0.01,r = D03_polomer_stitu-D03_tloustka_materialu,$fn=100);
translate ([0,0,3*D03_tloustka_materialu])
translate ([0,0,-0.01/2-D03_tloustka_materialu])
cylinder (h=D03_vyska_stitu-3*D03_tloustka_materialu+0.01,r1=D03_polomer_stitu ,r2=D03_polomer_zavitu -D03_tolerance_zavitu- D03_material_za_zavitem,$fn=100);
}
//spodní kruh - kvůli doplnění výkroje
difference () {
cylinder (h=3*D03_tloustka_materialu,r = D03_polomer_stitu,$fn=100);
translate ([0,0,-0.005])
cylinder (h=3*D03_tloustka_materialu+0.01,r = D03_polomer_stitu-D03_tloustka_materialu,$fn=100);
}
 
 
//horni zavit
translate ([0,0,D03_vyska_stitu-0.01])
// screen upper rim
difference () {
screw_thread((D03_polomer_zavitu-D03_tolerance_zavitu)*2,4,55,D03_vyska_zavitu+5,PI/2,2);
translate ([0,0,-0.01])
cylinder (h=D03_vyska_zavitu+0.02 ,r= D03_polomer_zavitu -D03_tolerance_zavitu- D03_material_za_zavitem-D03_material_za_zavitem_pridani ,$fn=100);
translate ([0,0,D03_vyska_zavitu-0.01])
cylinder (h=D03_vyska_zavitu+0.02 ,r= D03_polomer_zavitu ,$fn=100);
}
 
//materiál pod horním závitem
translate ([0,0,D03_vyska_stitu-D03_tloustka_materialu])
difference () {
translate ([0,0,0])
cylinder (h=D03_tloustka_materialu ,r=D03_polomer_zavitu -D03_tolerance_zavitu- D03_material_za_zavitem+D03_tloustka_materialu ,$fn=100);
translate ([0,0,-0.01])
cylinder (h=D03_tloustka_materialu+0.02 ,r= D03_polomer_zavitu -D03_tolerance_zavitu- D03_material_za_zavitem-D03_material_za_zavitem_pridani ,$fn=100);
}
 
 
 
//screen
translate ([0,0,3*D03_tloustka_materialu])
difference () {
cylinder (h=D03_vyska_stitu-3*D03_tloustka_materialu,r1=D03_polomer_stitu ,r2=D03_polomer_zavitu -D03_tolerance_zavitu- D03_material_za_zavitem-D03_material_za_zavitem_pridani,$fn=100);
translate ([0,0,-0.01/2-D03_tloustka_materialu])
cylinder (h=D03_vyska_stitu-3*D03_tloustka_materialu+0.01,r1=D03_polomer_stitu ,r2=D03_polomer_zavitu -D03_tolerance_zavitu- D03_material_za_zavitem-D03_material_za_zavitem_pridani,$fn=100);
translate ([0,0,D03_vyska_stitu-D03_vyska_zavitu-3*D03_tloustka_materialu])
cylinder (h=D03_vyska_zavitu+0.02 ,r= D03_polomer_zavitu -D03_tolerance_zavitu- D03_material_za_zavitem-D03_material_za_zavitem_pridani ,$fn=100);
}
 
 
//inner ring
 
//spodní závit
difference () {
union(){
cylinder (h=D03_vyska_zavitu,r = D03_polomer_zavitu + D03_material_za_zavitem/2,$fn=100);
//výztuhy
// center ribs
for (i = [0 : (D03_pocet_vyztuh-1)]) {
rotate ([90,0,angle_sep* i])
translate ([0,0,-D03_tloustka_materialu/2])
linear_extrude (height = D03_tloustka_materialu, convexity = 10)
polygon(points=[[D03_polomer_zavitu- D03_material_za_zavitem-D03_tolerance_zavitu-D03_material_za_zavitem_pridani,D03_vyska_stitu],[D03_polomer_zavitu, 0],[D03_polomer_stitu - D03_tloustka_materialu,0],[D03_polomer_stitu- D03_tloustka_materialu,3*D03_tloustka_materialu]]);
 
}
}
translate([0,0,-1])
screw_thread(D03_polomer_zavitu*2,4,55,D03_vyska_zavitu+2,PI/2,2);
}
 
 
 
}
/Modules/Mechanical/AWSCREEN01A/CAD/SRC/AWSCREEN01A_D04.scad
0,0 → 1,115
$fn=40; // model faces resolution.
include <../configuration.scad>
include <polyScrewThread_r1.scad>
 
 
AWSCREEN01A_D04();
 
 
module AWSCREEN01A_D04()
 
{
union()
{
difference()
{
union()
{
difference()
{
translate([0,0,0])
cylinder (h = D04_sila_materialu_na_konektor, r=(S01_prumer_zavitu+4*D01_material_pred_zavitem)/2, $fn=12);
translate([0,0,-0.01])
cylinder (h = 0.01+D01_material_pod_zavitem+D04_sila_materialu_na_konektor, r=(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu-2*D01_material_za_zavitem)/2, $fn=100);
}
difference()
{
translate([0,0,D04_sila_materialu_na_konektor])
screw_thread(S01_prumer_zavitu-2*D01_material_za_zavitem-2*D03_tolerance_zavitu-2*D03_tolerance_zavitu,4,55,D01_material_pod_zavitem+4,PI/2,2);
translate([0,0,D04_sila_materialu_na_konektor+D01_material_pod_zavitem])
cylinder (h = 5, r=(S01_prumer_zavitu-D01_material_za_zavitem-2*D03_tolerance_zavitu+10)/2, $fn=100);
cylinder (h = 0.01+D01_material_pod_zavitem+D04_sila_materialu_na_konektor, r=(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu-2*D01_material_za_zavitem)/2, $fn=100);
}
 
//materiál držáku konektoru
translate([0,0,D04_sila_materialu_na_konektor/2])
cube([D04_konenektor_x+12,(S01_prumer_zavitu-D01_material_za_zavitem-2*D03_tolerance_zavitu-D01_material_za_zavitem),D04_sila_materialu_na_konektor],true);
 
//materiál pro kryt konektoru
//spodní krychle
translate([0,-(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/4+5,D04_konenektor_z/2+D04_sila_materialu_na_konektor])
cube([D04_konenektor_x+6+2*D03_tloustka_materialu,(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/2,D04_konenektor_z],true);
 
 
 
 
//vrchní válec
translate([0,5,D04_sila_materialu_na_konektor+D04_konenektor_z])
 
rotate ([90,0,0])
difference()
{
cylinder (h = (S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/2, r=(D04_konenektor_x+6+2*D03_tloustka_materialu)/2, $fn=100);
}
 
}
 
//otvor na konektor
translate([0,-(S01_prumer_zavitu-D01_material_za_zavitem-2*D03_tolerance_zavitu-D01_material_za_zavitem-2)/2+D04_konenektor_y/2,-0.01])
cube([D04_konenektor_x,D04_konenektor_y,10],true);
 
//dotvoření otvoru
//pro nasunutí ve spodní části
translate([0,-(S01_prumer_zavitu-D01_material_za_zavitem-2*D03_tolerance_zavitu-D01_material_za_zavitem)/2,-0.01])
cube([D04_konenektor_x,D04_konenektor_y,18],true);
 
translate([0,-(S01_prumer_zavitu-D01_material_za_zavitem-2*D03_tolerance_zavitu-D01_material_za_zavitem)/4,D04_sila_materialu_na_konektor+(D04_konenektor_z)/2])
//odstranění spodního kvádru v oblasti krytu konektoru
cube([D04_konenektor_x+6,(S01_prumer_zavitu-D01_material_za_zavitem-2*D03_tolerance_zavitu-D01_material_za_zavitem)/2+8,D04_konenektor_z+0.01],true);
 
//odstranění vrchního válce
translate([0,5-D03_tloustka_materialu,D04_sila_materialu_na_konektor+D04_konenektor_z])
 
rotate ([90,0,0])
difference()
{
cylinder (h = (S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/2, r=(D04_konenektor_x+6)/2, $fn=100);
//odečtení půl válce
translate([0,-(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/4,((S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu))/2])
cube([(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/2,(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/2,(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)],true);
}
 
 
//otvor na senzor v držáku
translate([0,7,-2])
translate([0,0,(15+5.08)/2-(5.08+3.3+2)/2])
cube([10.16,3,25],true);
//odstranění spodních výčnělků
translate([0,0,-25/2])
cube([S01_prumer_zavitu,S01_prumer_zavitu,25],true);
 
}
 
translate([0,7,(D04_vyska_drzaku_senzoru)/2])
difference()
{
cube([10.16+2*D03_tloustka_materialu,3+2*D03_tloustka_materialu,D04_vyska_drzaku_senzoru],true);
 
cube([10.16,3,D04_vyska_drzaku_senzoru+0.01],true);
translate([0,5,D04_vyska_drzaku_senzoru/2-3.08])
rotate ([90,0,0])
cylinder (h = 30, r=(3.3/2), $fn=100);
}
}
}
/Modules/Mechanical/AWSCREEN01A/CAD/SRC/zk.scad
0,0 → 1,25
$fn=40; // model faces resolution.
include <../configuration.scad>
include <polyScrewThread_r1.scad>
 
//materiál pro kryt konektoru
//spodní krychle
translate([0,-(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/4+5,D04_konenektor_z/2+D04_sila_materialu_na_konektor])
cube([D04_konenektor_x+6+2*D03_tloustka_materialu,(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/2,D04_konenektor_z],true);
 
 
 
 
//vrchní válec
translate([0,5,D04_sila_materialu_na_konektor+D04_konenektor_z])
 
rotate ([90,0,0])
difference()
{
cylinder (h = (S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/2, r=(D04_konenektor_x+6+2*D03_tloustka_materialu)/2, $fn=100);
 
//tohle když se smaže je to ok
translate([0,-(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/4,(D04_konenektor_x+6+2*D03_tloustka_materialu)/2])
cube([(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/2,(S01_prumer_zavitu-2*D01_material_za_zavitem-4*D03_tolerance_zavitu)/2,D04_konenektor_x+6+2*D03_tloustka_materialu],true);
}
/Modules/Mechanical/AWSCREEN01A/CAD/SRC/AWSCREEN01A_D05.scad
0,0 → 1,90
$fn=40; // model faces resolution.
include <../configuration.scad>
 
include <AWSCREEN01A_D06.scad>
include <polyScrewThread_r1.scad>
 
PI=3.141592;
 
 
 
module AWSCREEN01A_D05(S01_vyska_komponentu_na_lozisko,S01_prumer_zavitu,D01_material_pod_zavitem,D01_material_za_zavitem,D01_material_pred_zavitem,D01_delka_tyce,D01_sirka_tyce,D02_sila_materialu,D02_vyska_uchytky,D02_prumer_obruby,D02_delka_celeho_uchytu,D02_dotahova_vzdalenost,D02_prumer_uchytneho_sroubu,D03_tolerance_zavitu)
{
 
difference()
{
 
union()
{
//výstuha
//translate ([0,0,-D03_tloustka_materialu/2])
rotate ([0,-90,0])
linear_extrude (height = D03_tloustka_materialu, convexity = 10)
polygon(points=[[D02_vyska_uchytky/2,D01_delka_tyce+S01_prumer_zavitu/2+D01_material_pred_zavitem+D02_sila_materialu],[0, D01_delka_tyce+S01_prumer_zavitu/2+D01_material_pred_zavitem+D02_sila_materialu],[0,D03_polomer_stitu+D01_material_pred_zavitem],[D01_material_pod_zavitem,D03_polomer_stitu+D01_material_pred_zavitem]]);
//zavit
translate([0,0,D01_material_pod_zavitem-2])
screw_thread(S01_prumer_zavitu-2*D03_tolerance_zavitu,4,55,S01_vyska_komponentu_na_lozisko+5,PI/2,2);
 
difference()
{
//spodní valec
translate([0,0,D01_material_pod_zavitem/2])
cylinder (h = D01_material_pod_zavitem, r=(S01_prumer_zavitu+D01_material_pred_zavitem*2)/2, center = true, $fn=100);
translate([0,0,-4])
screw_thread(S01_prumer_zavitu-2*D01_material_za_zavitem-2*D03_tolerance_zavitu,4,55,D01_material_pod_zavitem+4,PI/2,2);
 
 
}
 
//uchyt na tyc
translate([0,D01_delka_tyce/2+S01_prumer_zavitu/2+D01_material_pred_zavitem,D01_material_pod_zavitem/2])
cube([D01_sirka_tyce,D01_delka_tyce,D01_material_pod_zavitem],center=true);
//uchyt na tyc ovalna cast
translate([0,S01_prumer_zavitu/2+D01_material_pred_zavitem,D01_material_pod_zavitem/2])
cube([D01_sirka_tyce,D01_material_za_zavitem+D01_material_pred_zavitem,D01_material_pod_zavitem],center=true);
//material kolem uchytu na sloupek
translate([0,D01_delka_tyce+S01_prumer_zavitu/2+D01_material_pred_zavitem+(D02_sila_materialu+D02_prumer_obruby/2)/2-D02_dotahova_vzdalenost,D01_material_pod_zavitem/2])
difference()
{
cube([D01_sirka_tyce,D02_sila_materialu+D02_prumer_obruby/2,D01_material_pod_zavitem],center=true);
translate([0,D02_prumer_obruby/2-D02_dotahova_vzdalenost-D02_sila_materialu,0])
cylinder(h=D02_vyska_uchytky+0.01,r=D02_prumer_obruby/2,center=true);
}
 
 
//uchyt na sloupek
translate([0,D01_delka_tyce+S01_prumer_zavitu/2+D01_material_pred_zavitem+D02_sila_materialu+(D02_prumer_obruby)/2,D02_vyska_uchytky/2])
rotate(a=[0,0,270])
AWSCREEN01A_D06_2();
 
}
 
//otvor válcový
translate([0,0,D01_material_pod_zavitem-1+S01_vyska_komponentu_na_lozisko/2])
cylinder (h = S01_vyska_komponentu_na_lozisko+2+0.02, r=(S01_prumer_zavitu-2*D03_tolerance_zavitu-2*D01_material_za_zavitem)/2, center = true, $fn=100);
 
//odecet vrchního závitu aby byl rovný
translate([0,0,D01_material_pod_zavitem+S01_vyska_komponentu_na_lozisko])
 
cylinder (h = S01_vyska_komponentu_na_lozisko+0.02, r=(S01_prumer_zavitu-2*D03_tolerance_zavitu)/2, $fn=100);
 
// cube([200,200,200]);
 
}
}
AWSCREEN01A_D05(S01_vyska_komponentu_na_lozisko,S01_prumer_zavitu,D01_material_pod_zavitem,D01_material_za_zavitem,D01_material_pred_zavitem,D01_delka_tyce,D01_sirka_tyce,D02_sila_materialu,D02_vyska_uchytky,D02_prumer_obruby,D02_delka_celeho_uchytu,D02_dotahova_vzdalenost,D02_prumer_uchytneho_sroubu,D03_tolerance_zavitu);
 
 
/Modules/Mechanical/AWSCREEN01A/CAD/SRC/AWSCREEN01A_D06.scad
0,0 → 1,87
$fn=40; // model faces resolution.
include <../configuration.scad>
 
 
module AWSCREEN01A_D06(D02_sila_materialu,D02_vyska_uchytky,D02_prumer_obruby,D02_delka_celeho_uchytu,D02_dotahova_vzdalenost,D02_prumer_uchytneho_sroubu){
difference()
{
union()
{
//základní válec
cylinder(h=D02_vyska_uchytky,r=(D02_prumer_obruby+2*D02_sila_materialu)/2,center=true);
//úchytové plošky
translate([D02_dotahova_vzdalenost+D02_sila_materialu/2,0,0]){cube([D02_sila_materialu,D02_delka_celeho_uchytu,D02_vyska_uchytky],center=true);}
}
//válec na odečet
cylinder(h=D02_vyska_uchytky+0.01,r=D02_prumer_obruby/2,center=true);
//kvádr na odecet
translate([D02_dotahova_vzdalenost-(D02_prumer_obruby+2*D02_sila_materialu)/2,0,0]){cube([D02_prumer_obruby+2*D02_sila_materialu,D02_prumer_obruby+2*D02_sila_materialu,D02_vyska_uchytky+0.01],center=true);}
//otvory na sroub
translate([D02_dotahova_vzdalenost,(D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu,D02_vyska_uchytky/4]){rotate([0,90,0]){cylinder(h=D02_sila_materialu+0.01,r=D02_prumer_uchytneho_sroubu/2);}}
//drzak matky
translate([D02_dotahova_vzdalenost+D02_sila_materialu-D02_vyska_matky,(D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu,D02_vyska_uchytky/4]){rotate([0,90,0]){ cylinder (h = D02_vyska_matky+0.01, r= (D02_sirka_matky+0.2)/2, $fn=6);}}
translate([D02_dotahova_vzdalenost,(D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu,-D02_vyska_uchytky/4]){rotate([0,90,0]){cylinder(h=D02_sila_materialu+0.01,r=D02_prumer_uchytneho_sroubu/2);}}
//drzak matky
translate([D02_dotahova_vzdalenost+D02_sila_materialu-D02_vyska_matky,(D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu,-D02_vyska_uchytky/4]){rotate([0,90,0]){ cylinder (h = D02_vyska_matky+0.01, r= (D02_sirka_matky+0.2)/2, $fn=6);}}
translate([D02_dotahova_vzdalenost,-((D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu),-D02_vyska_uchytky/4]){rotate([0,90,0]){cylinder(h=D02_sila_materialu+0.01,r=D02_prumer_uchytneho_sroubu/2);}}
//drzak matky
translate([D02_dotahova_vzdalenost+D02_sila_materialu-D02_vyska_matky,-((D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu),-D02_vyska_uchytky/4]){rotate([0,90,0]){ cylinder (h = D02_vyska_matky+0.01, r= (D02_sirka_matky+0.2)/2, $fn=6);}}
 
translate([D02_dotahova_vzdalenost,-((D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu),D02_vyska_uchytky/4]){rotate([0,90,0]){cylinder(h=D02_sila_materialu+0.01,r=D02_prumer_uchytneho_sroubu/2);}}
//drzak matky
translate([D02_dotahova_vzdalenost+D02_sila_materialu-D02_vyska_matky,-((D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu),D02_vyska_uchytky/4]){rotate([0,90,0]){ cylinder (h = D02_vyska_matky+0.01, r= (D02_sirka_matky+0.2)/2, $fn=6);}}
}
}
 
module AWSCREEN01A_D06_2(){
difference()
{
union()
{
//základní válec
cylinder(h=D02_vyska_uchytky,r=(D02_prumer_obruby+2*D02_sila_materialu)/2,center=true);
//úchytové plošky
translate([D02_dotahova_vzdalenost+D02_sila_materialu/2,0,0]){cube([D02_sila_materialu,D02_delka_celeho_uchytu,D02_vyska_uchytky],center=true);}
}
//válec na odečet
cylinder(h=D02_vyska_uchytky+0.01,r=D02_prumer_obruby/2,center=true);
//kvádr na odecet
translate([D02_dotahova_vzdalenost-(D02_prumer_obruby+2*D02_sila_materialu)/2,0,0]){cube([D02_prumer_obruby+2*D02_sila_materialu,D02_prumer_obruby+2*D02_sila_materialu,D02_vyska_uchytky+0.01],center=true);}
//otvory na sroub
translate([D02_dotahova_vzdalenost,(D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu,D02_vyska_uchytky/4]){rotate([0,90,0]){cylinder(h=D02_sila_materialu+0.01,r=D02_prumer_uchytneho_sroubu/2);}}
translate([D02_dotahova_vzdalenost,(D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu,-D02_vyska_uchytky/4]){rotate([0,90,0]){cylinder(h=D02_sila_materialu+0.01,r=D02_prumer_uchytneho_sroubu/2);}}
translate([D02_dotahova_vzdalenost,-((D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu),-D02_vyska_uchytky/4]){rotate([0,90,0]){cylinder(h=D02_sila_materialu+0.01,r=D02_prumer_uchytneho_sroubu/2);}}
 
translate([D02_dotahova_vzdalenost,-((D02_delka_celeho_uchytu/2-D02_prumer_obruby/2-D02_sila_materialu)/2+D02_prumer_obruby/2+D02_sila_materialu),D02_vyska_uchytky/4]){rotate([0,90,0]){cylinder(h=D02_sila_materialu+0.01,r=D02_prumer_uchytneho_sroubu/2);}}
}
}
/Modules/Mechanical/AWSCREEN01A/CAD/SRC/polyScrewThread_r1.scad
0,0 → 1,233
/*
* polyScrewThread_r1.scad by aubenc @ Thingiverse
*
* This script contains the library modules that can be used to generate
* threaded rods, screws and nuts.
*
* http://www.thingiverse.com/thing:8796
*
* CC Public Domain
*/
 
module screw_thread(od,st,lf0,lt,rs,cs)
{
or=od/2;
ir=or-st/2*cos(lf0)/sin(lf0);
pf=2*PI*or;
sn=floor(pf/rs);
lfxy=360/sn;
ttn=round(lt/st+1);
zt=st/sn;
 
intersection()
{
if (cs >= -1)
{
thread_shape(cs,lt,or,ir,sn,st);
}
 
full_thread(ttn,st,sn,zt,lfxy,or,ir);
}
}
 
module hex_nut(df,hg,sth,clf,cod,crs)
{
 
difference()
{
hex_head(hg,df);
 
hex_countersink_ends(sth/2,cod,clf,crs,hg);
 
screw_thread(cod,sth,clf,hg,crs,-2);
}
}
 
 
module hex_screw(od,st,lf0,lt,rs,cs,df,hg,ntl,ntd)
{
ntr=od/2-(st/2)*cos(lf0)/sin(lf0);
 
union()
{
hex_head(hg,df);
 
translate([0,0,hg])
if ( ntl == 0 )
{
cylinder(h=0.01, r=ntr, center=true);
}
else
{
if ( ntd == -1 )
{
cylinder(h=ntl+0.01, r=ntr, $fn=floor(od*PI/rs), center=false);
}
else if ( ntd == 0 )
{
union()
{
cylinder(h=ntl-st/2,
r=od/2, $fn=floor(od*PI/rs), center=false);
 
translate([0,0,ntl-st/2])
cylinder(h=st/2,
r1=od/2, r2=ntr,
$fn=floor(od*PI/rs), center=false);
}
}
else
{
cylinder(h=ntl, r=ntd/2, $fn=ntd*PI/rs, center=false);
}
}
 
translate([0,0,ntl+hg]) screw_thread(od,st,lf0,lt,rs,cs);
}
}
 
module hex_screw_0(od,st,lf0,lt,rs,cs,df,hg,ntl,ntd)
{
ntr=od/2-(st/2)*cos(lf0)/sin(lf0);
 
union()
{
hex_head_0(hg,df);
 
translate([0,0,hg])
if ( ntl == 0 )
{
cylinder(h=0.01, r=ntr, center=true);
}
else
{
if ( ntd == -1 )
{
cylinder(h=ntl+0.01, r=ntr, $fn=floor(od*PI/rs), center=false);
}
else if ( ntd == 0 )
{
union()
{
cylinder(h=ntl-st/2,
r=od/2, $fn=floor(od*PI/rs), center=false);
 
translate([0,0,ntl-st/2])
cylinder(h=st/2,
r1=od/2, r2=ntr,
$fn=floor(od*PI/rs), center=false);
}
}
else
{
cylinder(h=ntl, r=ntd/2, $fn=ntd*PI/rs, center=false);
}
}
 
translate([0,0,ntl+hg]) screw_thread(od,st,lf0,lt,rs,cs);
}
}
 
module thread_shape(cs,lt,or,ir,sn,st)
{
if ( cs == 0 )
{
cylinder(h=lt, r=or, $fn=sn, center=false);
}
else
{
union()
{
translate([0,0,st/2])
cylinder(h=lt-st+0.005, r=or, $fn=sn, center=false);
 
if ( cs == -1 || cs == 2 )
{
cylinder(h=st/2, r1=ir, r2=or, $fn=sn, center=false);
}
else
{
cylinder(h=st/2, r=or, $fn=sn, center=false);
}
 
translate([0,0,lt-st/2])
if ( cs == 1 || cs == 2 )
{
cylinder(h=st/2, r1=or, r2=ir, $fn=sn, center=false);
}
else
{
cylinder(h=st/2, r=or, $fn=sn, center=false);
}
}
}
}
 
module full_thread(ttn,st,sn,zt,lfxy,or,ir)
{
if(ir >= 0.2)
{
for(i=[0:ttn-1])
{
for(j=[0:sn-1])
assign( pt = [ [0, 0, i*st-st ],
[ir*cos(j*lfxy), ir*sin(j*lfxy), i*st+j*zt-st ],
[ir*cos((j+1)*lfxy), ir*sin((j+1)*lfxy), i*st+(j+1)*zt-st ],
[0,0,i*st],
[or*cos(j*lfxy), or*sin(j*lfxy), i*st+j*zt-st/2 ],
[or*cos((j+1)*lfxy), or*sin((j+1)*lfxy), i*st+(j+1)*zt-st/2 ],
[ir*cos(j*lfxy), ir*sin(j*lfxy), i*st+j*zt ],
[ir*cos((j+1)*lfxy), ir*sin((j+1)*lfxy), i*st+(j+1)*zt ],
[0, 0, i*st+st ] ])
{
polyhedron(points=pt,
triangles=[ [1,0,3],[1,3,6],[6,3,8],[1,6,4],
[0,1,2],[1,4,2],[2,4,5],[5,4,6],[5,6,7],[7,6,8],
[7,8,3],[0,2,3],[3,2,7],[7,2,5] ]);
}
}
}
else
{
echo("Step Degrees too agresive, the thread will not be made!!");
echo("Try to increase de value for the degrees and/or...");
echo(" decrease the pitch value and/or...");
echo(" increase the outer diameter value.");
}
}
 
module hex_head(hg,df)
{
rd0=df/2/sin(60);
x0=0; x1=df/2; x2=x1+hg/2;
y0=0; y1=hg/2; y2=hg;
 
intersection()
{
cylinder(h=hg, r=rd0, $fn=6, center=false);
 
rotate_extrude(convexity=10, $fn=6*round(df*PI/6/0.5))
polygon([ [x0,y0],[x1,y0],[x2,y1],[x1,y2],[x0,y2] ]);
}
}
 
module hex_head_0(hg,df)
{
cylinder(h=hg, r=df/2/sin(60), $fn=6, center=false);
}
 
module hex_countersink_ends(chg,cod,clf,crs,hg)
{
translate([0,0,-0.1])
cylinder(h=chg+0.01,
r1=cod/2,
r2=cod/2-(chg+0.1)*cos(clf)/sin(clf),
$fn=floor(cod*PI/crs), center=false);
 
translate([0,0,hg-chg+0.1])
cylinder(h=chg+0.01,
r1=cod/2-(chg+0.1)*cos(clf)/sin(clf),
r2=cod/2,
$fn=floor(cod*PI/crs), center=false);
}
 
/Modules/Mechanical/AWSCREEN01A/CAD/SRC/polytests.scad
0,0 → 1,95
/*
* polyTests.scad by aubenc @ Thingiverse
*
* This script contains few examples to show how to use the modules
* included in the library script: polyScrewThead.scad
*
* http://www.thingiverse.com/thing:8796
*
* CC Public Domain
*/
include <polyScrewThread.scad>
 
PI=3.141592;
 
/* Example 01.
* Just a 100mm long threaded rod.
*
* screw_thread(15, // Outer diameter of the thread
* 4, // Step, traveling length per turn, also, tooth height, whatever...
* 55, // Degrees for the shape of the tooth
* (XY plane = 0, Z = 90, btw, 0 and 90 will/should not work...)
* 100, // Length (Z) of the tread
* PI/2, // Resolution, one face each "PI/2" mm of the perimeter,
* 0); // Countersink style:
* -2 - Not even flat ends
* -1 - Bottom (countersink'd and top flat)
* 0 - None (top and bottom flat)
* 1 - Top (bottom flat)
* 2 - Both (countersink'd)
*/
// screw_thread(15,4,55,100,PI/2,2);
 
 
/* Example 02.
* A nut for the previous example.
*
* hexa_nut(24, // Distance between flats
* 8, // Height
* 4, // Step height (the half will be used to countersink the ends)
* 55, // Degrees (same as used for the screw_thread example)
* 15, // Outer diameter of the thread to match
* 0.5) // Resolution, you may want to set this to small values
* (quite high res) to minimize overhang issues
*
*/
// hex_nut(24,8,4,55,15,0.5);
 
 
/* Example 03.
* A screw, threaded all the way, with hex head.
*
* hex_screw(15, // Outer diameter of the thread
* 4, // Thread step
* 55, // Step shape degrees
* 30, // Length of the threaded section of the screw
* 1.5, // Resolution (face at each 2mm of the perimeter)
* 2, // Countersink in both ends
* 24, // Distance between flats for the hex head
* 8, // Height of the hex head (can be zero)
* 0, // Length of the non threaded section of the screw
* 0) // Diameter for the non threaded section of the screw
* -1 - Same as inner diameter of the thread
* 0 - Same as outer diameter of the thread
* value - The given value
*
*/
// hex_screw(15,4,55,30,1.5,2,24,8,0,0);
 
 
/* Example 04.
* A screw with a non threaded section and with hex head.
*
* Same module and parameters than for Example 03 but for the length of the non
* threaded section wich is set to 50mm here.
*
*/
// hex_screw(15,4,55,30,1.5,2,24,8,50,0);
 
 
/* Example 05.
*
* A rod whith a middle section without thread and, a portion of it, hex shaped.
* One end is threaded in the opposite direction than the other.
*
* So... yes, OpenSCAD mirror feature will change the thread direction.
*
*/
/*
translate([0,0,32.5+5+7.5])
union()
{
hex_screw(15,4,55,32.5,1.5,2,15,5,7.5,0);
mirror([0,0,1]) hex_screw(15,4,55,32.5,1.5,2,15,5,7.5,0);
}
*/
/Modules/Mechanical/AWSCREEN01A/CAD/configuration.scad
0,0 → 1,57
$fn=40; // model faces resolution.
 
//OBECNE PARAMETRY
//----------------------------------------------------------------
//----------------------------------------------------------------
 
 
//AWSCREEN01A_D03 -stredni díl
D03_vyska_zavitu=5;
D03_tolerance_zavitu=0.75; //tolerance s poloměru
D03_material_za_zavitem=2;
D03_material_za_zavitem_pridani=1.5; //tímto se pridává materiál za horním závitem
D03_polomer_zavitu=32.5;
D03_polomer_stitu=47.5;
D03_tloustka_materialu=1.8;
D03_vyska_stitu=15;
D03_pocet_vyztuh=3;
screen_bevel = 20;
PI=3.141592;
 
//AWSCREEN01A_D04
D04_sila_materialu_na_konektor=3;
D04_konenektor_x=12.3;
D04_konenektor_y=19;
D04_konenektor_z=5; //vyska krytu
D04_vyska_drzaku_senzoru=28;
 
 
//AWSCREEN01A_D05 //uchyt velky
D01_material_pod_zavitem=5;
D01_material_za_zavitem=3;
D01_material_pred_zavitem=2;
D01_delka_tyce=50;
D01_sirka_tyce=10;
S01_vyska_komponentu_na_lozisko=D03_vyska_zavitu;
S01_prumer_zavitu=2*D03_polomer_zavitu;
 
 
//AWSCREEN01A_D06 //uchyt na sloup
D02_sila_materialu=4;
D02_vyska_uchytky=40;
D02_prumer_obruby=27;
 
//27 mm - 3/4 trubka
D02_delka_celeho_uchytu=60;
D02_dotahova_vzdalenost=1.5;
D02_prumer_uchytneho_sroubu=4.2;
D02_sirka_matky=9.1; //pro M4
D02_vyska_matky=3;
 
 
 
 
 
 
 
 
/Modules/Mechanical/AWSCREEN01A/CAD/assembly.scad
0,0 → 1,76
use <SRC/AWSCREEN01A_D02.scad>
use <SRC/AWSCREEN01A_D03.scad>
use <SRC/AWSCREEN01A_D04.scad>
use <SRC/AWSCREEN01A_D05.scad>
use <SRC/AWSCREEN01A_D06.scad>
 
include <configuration.scad>
 
 
barva_D02 = "cyan";
barva_D03 = "yellow";
barva_D04 = "green";
barva_D05 = "yellow";
barva_D06 = "cyan";
 
 
 
 
posunuti_dilu=0; //posunuti dilu od sebe
difference()
{
union()
{
//AWSCREEN01A_D05 DRŽÁK
//-------------------------------------------------------------
//-------------------------------------------------------------
color(barva_D05)
translate([0,0,0])
AWSCREEN01A_D05(S01_vyska_komponentu_na_lozisko,S01_prumer_zavitu,D01_material_pod_zavitem,D01_material_za_zavitem,D01_material_pred_zavitem,D01_delka_tyce,D01_sirka_tyce,D02_sila_materialu,D02_vyska_uchytky,D02_prumer_obruby,D02_delka_celeho_uchytu,D02_dotahova_vzdalenost,D02_prumer_uchytneho_sroubu,D03_tolerance_zavitu);
//AWSCREEN01A_D06 DRŽÁK druhy dil
//-------------------------------------------------------------
//-------------------------------------------------------------
color(barva_D06)
translate([0,S01_prumer_zavitu/2+D01_material_pred_zavitem+D01_delka_tyce+D02_prumer_obruby/2+D02_sila_materialu+10,D02_vyska_uchytky/2])
rotate(a=[0,0,90])
AWSCREEN01A_D06(D02_sila_materialu,D02_vyska_uchytky,D02_prumer_obruby,D02_delka_celeho_uchytu,D02_dotahova_vzdalenost,D02_prumer_uchytneho_sroubu);
//AWSCREEN01A_D04 uchyt na senzor
//-------------------------------------------------------------
//-------------------------------------------------------------
color(barva_D04)
translate([0,0,-D04_sila_materialu_na_konektor-2*posunuti_dilu])
AWSCREEN01A_D04();
//AWSCREEN01A_D03 klasicky dil
//-------------------------------------------------------------
//-------------------------------------------------------------
color(barva_D03)
translate([0,0,D01_material_pod_zavitem+4*posunuti_dilu])
AWSCREEN01A_D03(D03_vyska_zavitu,D03_tolerance_zavitu,D03_material_za_zavitem,D03_polomer_zavitu,D03_polomer_stitu,D03_tloustka_materialu,D03_vyska_stitu,D03_pocet_vyztuh,screen_bevel);
color(barva_D03)
translate([0,0,D01_material_pod_zavitem+D03_vyska_stitu+5*posunuti_dilu])
AWSCREEN01A_D03(D03_vyska_zavitu,D03_tolerance_zavitu,D03_material_za_zavitem,D03_polomer_zavitu,D03_polomer_stitu,D03_tloustka_materialu,D03_vyska_stitu,D03_pocet_vyztuh,screen_bevel);
 
//AWSCREEN01A_D02 zakoncovaci dil
//-------------------------------------------------------------
//-------------------------------------------------------------
color(barva_D02)
translate([0,0,D01_material_pod_zavitem+2*D03_vyska_stitu+6*posunuti_dilu])
AWSCREEN01A_D02(D03_vyska_zavitu,D03_tolerance_zavitu,D03_material_za_zavitem,D03_polomer_zavitu,D03_polomer_stitu,D03_tloustka_materialu,D03_vyska_stitu,D03_pocet_vyztuh,screen_bevel);
}
//prurez
translate([-D03_polomer_stitu,-D03_polomer_stitu,0])
cube([D03_polomer_stitu*2,D03_polomer_stitu,3*D03_polomer_stitu],false);
}
/Modules/Mechanical/AWSCREEN01A/CAD/print_data/P_AWSCREEN01A_D06.scad
0,0 → 1,15
$fn=100; // model faces resolution.
include <../configuration.scad>
use <../SRC/AWSCREEN01A_D06.scad>
 
rotate([0, 0, 0])
translate([-D02_dotahova_vzdalenost,0,D02_vyska_uchytky/2])
 
AWSCREEN01A_D06(D02_sila_materialu,
D02_vyska_uchytky,
D02_prumer_obruby,
D02_delka_celeho_uchytu,
D02_dotahova_vzdalenost,
D02_prumer_uchytneho_sroubu);
 
/Modules/Mechanical/AWSCREEN01A/CAD/print_data/P_AWSCREEN01A_D04.scad
0,0 → 1,10
$fn=100; // model faces resolution.
include <../configuration.scad>
use <../SRC/AWSCREEN01A_D04.scad>
 
rotate([0, 0, 0])
AWSCREEN01A_D04();
 
/Modules/Mechanical/AWSCREEN01A/CAD/print_data/P_AWSCREEN01A_D05.scad
0,0 → 1,15
$fn=100; // model faces resolution.
include <../configuration.scad>
 
 
use <../SRC/polyScrewThread_r1.scad>
use <../SRC/AWSCREEN01A_D05.scad>
 
 
PI=3.141592;
 
AWSCREEN01A_D05(S01_vyska_komponentu_na_lozisko,S01_prumer_zavitu,D01_material_pod_zavitem,D01_material_za_zavitem,D01_material_pred_zavitem,D01_delka_tyce,D01_sirka_tyce,D02_sila_materialu,D02_vyska_uchytky,D02_prumer_obruby,D02_delka_celeho_uchytu,D02_dotahova_vzdalenost,D02_prumer_uchytneho_sroubu,D03_tolerance_zavitu);
 
 
/Modules/Mechanical/AWSCREEN01A/CAD/print_data/P_AWSCREEN01A_D02.scad
0,0 → 1,10
$fn=100; // model faces resolution.
include <../configuration.scad>
use <../SRC/AWSCREEN01A_D02.scad>
 
rotate([0, 0, 0])
AWSCREEN01A_D02(D03_vyska_zavitu,D03_tolerance_zavitu,D03_material_za_zavitem,D03_polomer_zavitu,D03_polomer_stitu,D03_tloustka_materialu,3*D03_vyska_zavitu,D03_pocet_vyztuh,screen_bevel);
 
/Modules/Mechanical/AWSCREEN01A/CAD/print_data/P_AWSCREEN01A_D03.scad
0,0 → 1,10
$fn=100; // model faces resolution.
include <../configuration.scad>
use <../SRC/AWSCREEN01A_D03.scad>
 
rotate([0, 0, 0])
AWSCREEN01A_D03(D03_vyska_zavitu,D03_tolerance_zavitu,D03_material_za_zavitem,D03_polomer_zavitu,D03_polomer_stitu,D03_tloustka_materialu,D03_vyska_stitu,D03_pocet_vyztuh,screen_bevel);