rcc.roberto:
ok domani appena posso provo
guzzj:
ti mando i sorgenti del disegno fatto con openscad, e dato che ci sono metto anche una libreria che ho costruito nel tempo ma che in questo caso non uso. Openscad è un software a mio avviso intrigante: il disegno lo crei come se stessi scrivendo un programma. Il pacchetto è open source e portable, quindi molto poco impegnativo.
Il disegno (PlaccaFissaggioCestino.scad)
// Placca fissaggio cestino rimovibile Decathlon
include<ParametriPlaccaFissaggioCestino.scad>
include<LibreriaRobi.scad>
difference()
{
cube([Larghezza,Altezza,Spessore],center=true);
translate([Larghezza/2-LarghezzaScanalatura/2,0,DecScan])cube([LarghezzaScanalatura+Delta,Altezza,SpessoreScanalatura],center=true);
translate([-Larghezza/2+LarghezzaScanalatura/2,0,DecScan])cube([LarghezzaScanalatura+Delta,Altezza,SpessoreScanalatura],center=true);
{
translate([(Larghezza-LarghezzaScanalatura)/2,(Altezza-LunghezzaSmussoScanalatura)/2,Spessore/2-SpessoreScanalatura])
rotate([0,90,0])
linear_extrude(height=LarghezzaScanalatura,center=true,convexity=10,twist=0)
polygon(points=[[0,0],[SpessoreFinaleScanalatura,LunghezzaSmussoScanalatura],[0,LunghezzaSmussoScanalatura],[0,0]]);
}
{
translate([-(Larghezza-LarghezzaScanalatura)/2,(Altezza-LunghezzaSmussoScanalatura)/2,Spessore/2-SpessoreScanalatura])
rotate([0,90,0])
linear_extrude(height=LarghezzaScanalatura,center=true,convexity=10,twist=0)
polygon(points=[[0,0],[SpessoreFinaleScanalatura,LunghezzaSmussoScanalatura],[0,LunghezzaSmussoScanalatura],[0,0]]);
}
};
translate([DecDen/2,(Altezza+AltezzaDentino)/2,-(Spessore-SpessoreDentino)/2])
cube([LarghezzaDentino,AltezzaDentino,SpessoreDentino],center=true);
translate([-DecDen/2,(Altezza+AltezzaDentino)/2,-(Spessore-SpessoreDentino)/2])
cube([LarghezzaDentino,AltezzaDentino,SpessoreDentino],center=true);
/*
VerX(Dman/2,10,0.1);
VerZ(Hcoperchio/2,100,0.1);
VerZ(-Hcoperchio/2,100,0.1);
*/
Parametri con le misure (ParametriPlaccaFissaggioCestino.scad)
// Parametri placca fissaggio cestino bici
LarghezzaMateriale=120;
AltezzaMateriale=110;
SpessoreMateriale=5;
Larghezza=93;
Altezza=75;
Spessore=5;
LarghezzaScanalatura=5;
SpessoreScanalatura=0.8;
SpessoreFinaleScanalatura=1.5;
LunghezzaSmussoScanalatura=17.4;
DecScan=(Spessore-SpessoreScanalatura)/2;
AltezzaDentino=3;
LarghezzaDentino=10;
DecDen=59.7;
SpessoreDentino=3.5;
Delta=0.01;
Libreria, anche se non necessaria (LibreriaRobi.scad)
module CilCavo_z(h,Dext,Dint,PosX,PosY,PosZ)
{
translate([PosX,PosY,PosZ])
difference()
{
cylinder(r=Dext/2, h=h, $fn=100);
translate([0,0,-Delta]) cylinder(r=Dint/2, h=h+2*Delta, $fn=100);
}
}
module ConoCavo_z(h,DextInizio,DextFine,Spessore,PosX,PosY,PosZ)
{
translate([PosX,PosY,PosZ])
difference()
{
cylinder(r1=DextInizio/2,r2=DextFine/2, h=h);
translate([0,0,-Delta]) cylinder(r1=DextInizio/2-Spessore,r2=DextFine/2-Spessore, h=h+2*Delta);
}
}
module CilindroStondato(H,D,R,PosX,PosY,PosZ)
{
translate([PosX,PosY,PosZ])
{
intersection()
{
translate([0,0,H-R]) sphere(R);
cylinder(h=H,r=D/2);
}
}
}
module CuboStondato(Lar,Lun,Alt,Rc,PosX,PosY,PosZ)
{
minkowski()
{
cube([Lar-Rc*2,Lun-Rc*2,Alt-Rc*2],center=true);
sphere(r=Rc,$fn=25);
}
}
// Per verifiche nel disegno traccia un piano yz distante dal centro pari a Quota
module VerX(Quota,Dimensione,Spessore)
{
translate([Quota,0,0]) cube([Spessore,Dimensione,Dimensione],center=true); // x
}
// Per verifiche nel disegno traccia un piano xz distante dal centro pari a Quota
module VerY(Quota,Dimensione,Spessore)
{
translate([0,Quota,0]) cube([Dimensione,Spessore,Dimensione],center=true); // y
}
// Per verifiche nel disegno traccia un piano xy distante dal centro pari a Quota
module VerZ(Quota,Dimensione,Spessore)
{
translate([0,0,Quota]) cube([Dimensione,Dimensione,Spessore],center=true); // x
}
// Cornice con smussi verso l'interno
module CorniceCoperchio(Larghezza,Lunghezza,Altezza,LargCornice,DeltaLarBase)
{
// Punti e facce cornice
CorniceZeppaPoints =
[
[-Larghezza/2,Lunghezza/2,Altezza], //0
[Larghezza/2,Lunghezza/2,Altezza], //1
[Larghezza/2,-Lunghezza/2,Altezza], //2
[-Larghezza/2,-Lunghezza/2,Altezza], //3
[-(Larghezza/2-LargCornice),(Lunghezza/2-LargCornice),Altezza], //4
[(Larghezza/2-LargCornice),(Lunghezza/2-LargCornice),Altezza], //5
[(Larghezza/2-LargCornice),-(Lunghezza/2-LargCornice),Altezza], //6
[-(Larghezza/2-LargCornice),-(Lunghezza/2-LargCornice),Altezza], //7
[-(Larghezza/2-LargCornice-DeltaLarBase),(Lunghezza/2-LargCornice-DeltaLarBase),0], //8
[(Larghezza/2-LargCornice-DeltaLarBase),(Lunghezza/2-LargCornice-DeltaLarBase),0], //9
[(Larghezza/2-LargCornice-DeltaLarBase),-(Lunghezza/2-LargCornice-DeltaLarBase),0], //10
[-(Larghezza/2-LargCornice-DeltaLarBase),-(Lunghezza/2-LargCornice-DeltaLarBase),0], //11
[-Larghezza/2,Lunghezza/2,0], //12
[Larghezza/2,Lunghezza/2,0], //13
[Larghezza/2,-Lunghezza/2,0], //14
[-Larghezza/2,-Lunghezza/2,0], //15
];
CorniceFacesN =
[
[0,1,5,4], // Alto
[4,5,9,8], // Avanti
[12,8,9,13], // Sotto
[12,13,1,0], // Dietro
[5,1,13,9], // Destra (E)
[0,4,8,12], // Sinistra (O)
];
CorniceFacesE =
[
[5,1,2,6], // Alto
[6,2,14,10], // Avanti
[13,9,10,14], // Sotto
[1,5,9,13], // Dietro
[2,1,13,14], // Destra (E)
[5,6,10,9], // Sinistra (O)
];
CorniceFacesS =
[
[7,6,2,3], // Alto
[3,2,14,15], // Avanti
[14,10,11,15], // Sotto
[6,7,11,10], // Dietro
[2,6,10,14], // Destra (E)
[7,3,15,11], // Sinistra (O)
];
CorniceFacesO =
[
[0,4,7,3], // Alto
[3,7,11,15], // Avanti
[11,8,12,15], // Sotto
[8,4,0,12], // Dietro
[7,4,8,11], // Destra (E)
[3,15,12,0], // Sinistra (O)
];
polyhedron( CorniceZeppaPoints, CorniceFacesN);
polyhedron( CorniceZeppaPoints, CorniceFacesE);
polyhedron( CorniceZeppaPoints, CorniceFacesS);
polyhedron( CorniceZeppaPoints, CorniceFacesO);
}
Spero di non averla fatta troppo lunga.
Buona serata