Cours:Fabrication : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(openscad)
(fichiers pour coupe de robotique)
Ligne 12 : Ligne 12 :
 
==fichiers pour coupe de robotique==
 
==fichiers pour coupe de robotique==
  
 +
fichier longeron.scad : à placer dans le répertoire de travail
 
<source lang=c>
 
<source lang=c>
 
tailleCube=7.5;
 
tailleCube=7.5;
Ligne 96 : Ligne 97 :
 
         }
 
         }
 
             }
 
             }
 +
}
 +
</source>
 +
 +
exemple d'utilisation du fichier longeron.scad
 +
 +
<source lang=c>
 +
include  <longeron.scad>
 +
isConge=0;
 +
isPercage=1;
 +
$fn=45;
 +
 +
union()
 +
{
 +
    longeronX(5,0,0,0);
 +
    longeronX(3,1,4,1);
 +
    longeronZ(4,0,0,0);
 +
    longeronZ(4,4,0,0);
 +
    longeronX(5,0,0,4);
 +
    longeronY(4,2,1,4);
 +
    longeronZ(2,2,4,2);
 
}
 
}
 
</source>
 
</source>

Version du 18 novembre 2020 à 16:14

CharlyGraal

https://www.youtube.com/channel/UCZ2wggss-0usQrapW_bGplQ/videos

openscad

http://static.fablab-lannion.org/tutos/openscad/#/pageDeGarde

https://www.apmep.fr/IMG/pdf/AtelierOpenSCAD.pdf


fichiers pour coupe de robotique

fichier longeron.scad : à placer dans le répertoire de travail
tailleCube=7.5;
isConge=1;
isPercage=1;
rayonPercage=1.5;
conge=0.25;
$fn=25;

module longeronX(nbCubes=3,posX=0,posY=0,posZ=0)
{
    translate([posX*tailleCube,posY*tailleCube,posZ*tailleCube])
        rotate([0,0,0])
            longeron(nbCubes);
}

module longeronY(nbCubes=3,posX=0,posY=0,posZ=0)
{
    translate([posX*tailleCube,posY*tailleCube,posZ*tailleCube])
        rotate([0,0,90])
            longeron(nbCubes);
}

module longeronZ(nbCubes=3,posX=0,posY=0,posZ=0)
{
    translate([posX*tailleCube,posY*tailleCube,posZ*tailleCube])
        rotate([0,-90,0])
            longeron(nbCubes);
}

module longeron(nbCubes=3)
{
    difference()
    {
        translate([-tailleCube/2,-tailleCube/2,-tailleCube/2])
        cube([tailleCube*nbCubes,tailleCube,tailleCube]);
        if (isPercage==1)
        {
        for (i=[0:nbCubes-1])
        {
            translate([i*tailleCube,0,0])
            rotate([0,0,0])
                trou();
            translate([i*tailleCube,0,0])
            rotate([90,0,0])
                trou();
        }
        rotate([0,90,0])
            trou(nbCubes);
    }}
}


module boite()
{
    difference()
    {
     cube([tailleCube,tailleCube,tailleCube],center=true);
        if (isPercage==1)
        {
     rotate([0,0,0])
           trou();
     rotate([90,0,0])
           trou();
     rotate([0,90,0])
           trou();
    }
}
}

module trou(size=1)
{
        translate([0,0,(size-1)*tailleCube/2])
        {
            cylinder(h=tailleCube*size+2*conge, r=rayonPercage,center=true);
        if (isConge==1)
        {
        translate([0,0,-tailleCube*size/2-conge])
            cylinder(h=2*conge, d1=(rayonPercage+2*conge)*2,
                                d2=(rayonPercage)*2);
        translate([0,0,tailleCube*size/2-conge])
            cylinder(h=2*conge, d2=(rayonPercage+2*conge)*2,
                                d1=(rayonPercage)*2);
        }
            }
}
exemple d'utilisation du fichier longeron.scad 
include  <longeron.scad>
isConge=0;
isPercage=1;
$fn=45;

union()
{
    longeronX(5,0,0,0);
    longeronX(3,1,4,1);
    longeronZ(4,0,0,0);
    longeronZ(4,4,0,0);
    longeronX(5,0,0,4);
    longeronY(4,2,1,4);
    longeronZ(2,2,4,2);
}