home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Robotica, CNC, 3D
Finalmente un posto dove poter discutere di robotica di CNC e stampanti 3D, scambiarsi idee, progetti ed opinioni. Partecipa anche tu...


Fresare un profilo 3D
     
Autore Messaggio opzioni
rcc.roberto



[pagine pubblicate]

postato il:
07.05.2021, alle ore 21:36
OK, ho trovato.

Fai una prova così:

- disegni una semplice linea
- nelle proprietà vai in Punti ... (insieme) si apre la tabella con due righe X Y Z
- le Z sono a 0, in una delle due estremità metti, ad esempio -2, premi OK

- vai in lavorazioni, segli incisione
- setti tutto
- setta - genera percorsi utensile -
- setta - vista piano XZ (o YZ a seconda della direzione della riga) e vedi chei tagli sono inclinati

Sono riuscito solo con la linea e incisione.
Se fai una serie di linee utilizzando la matrice, poi li selezioni tutti insieme e setti l'incisione.

Ricordati però che qualuque metodo usi vengono comunque dei solchi del diametro della fresetta, per cui più sono fitte le linee meno sono profondi i solchi
rbacchi




una ogni 10 livelli


postato il:
07.05.2021, alle ore 22:52
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



Se lo puoi fare fallo e non t'arrabbiare,
se non lo puoi fare, pazienza e non t'arrabbiare
rbacchi




una ogni 10 livelli


postato il:
07.05.2021, alle ore 22:55
Aggiungo:
le dimensioni sono Altezza,Larghezza,Spessore.

In previsione di completare il disegno sono indicate anche le dimensioni del pezzo da cui sarei partito..



Se lo puoi fare fallo e non t'arrabbiare,
se non lo puoi fare, pazienza e non t'arrabbiare
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale