Skip to main content

Ossian BENGTSSON

 

Seance du 18/10

Initiation au prototype sur OpenSCAD

Impression du 26/10, 

Première idée de forme : entonnoire avec spirale dans le tube mais trop compliqué à imprimer avec les supports à l'intérieur


Screenshot 2023-10-26 at 16.04.02.png

code : "

$fn=100; // Définit la résolution

module spirale(hauteur=100, rayon=10, tours=10) {
    for(i = [0:0.1:hauteur]) {
        cylindre_helice(i, hauteur, rayon, tours);
    }
}

module cylindre_helice(pos, hauteur, rayon, tours) {
    angle = 360 * tours * pos / hauteur;
    x = rayon * cos(angle);
    y = rayon * sin(angle);
    translate([x, y, pos])
    cylinder(r1 = 6, r2 = 0, h = 0.1);
}

spirale();

cylinder(100,10,10);


module tube(externe_rayon=16.1, interne_rayon=16, hauteur=97) {
    difference() {
        cylinder(r=externe_rayon, h=hauteur);
        translate([0, 0, -1]) // Ajustement pour s'assurer que le cylindre intérieur enlève bien toute la matière du haut au bas
        cylinder(r=interne_rayon, h=hauteur + 2);
    }
}

tube();


// Dimensions de l'entonnoir
hauteur = 50;
ouverture_superieure = 12;
ouverture_inferieure = 70;
epaisseur_mur = 1; // Épaisseur du mur de l'entonnoir

module entonnoir() {
    
    // Cône extérieur
    difference() {
        cylinder(r1=ouverture_superieure/2, r2=ouverture_inferieure/2, h=hauteur);
        
        // Cône intérieur
        translate([0, 0, epaisseur_mur]) {
            cylinder(r1=(ouverture_superieure - epaisseur_mur * 2)/2, r2=(ouverture_inferieure - epaisseur_mur)/2, h=hauteur);
            
        }
    }
}

// Déplace l'entonnoir à une hauteur de 50 unités
translate([0, 0, 80]) {
    entonnoir();
}// Dimensions de l'entonnoir_2
hauteur_2 = 50;
ouverture_superieure_2 = 10;
ouverture_inferieure_2 = 33;
epaisseur_mur_2 = 1; // Épaisseur du mur de l'entonnoir
module entonnoir_2() {
    
    // Cône extérieur
    difference() {
        cylinder(r1=ouverture_superieure_2/2, r2=ouverture_inferieure_2/2, h=hauteur);
        
        // Cône intérieur
        translate([0, 0, epaisseur_mur_2]) {
            cylinder(r1=(ouverture_superieure_2 - epaisseur_mur_2 * 2)/2, r2=(ouverture_inferieure_2 - epaisseur_mur_2)/2, h=hauteur_2);
            
        }
    }
}
translate([0, 0, -49]) {
    entonnoir_2();
}

"

Deuxième impression : 

Forme pas imprimable sans imprimante 3D : Cube vide avec 3 cylindre imbriqués qui la traverse. 

Plus simple à coder et à imprimer. 

Screenshot 2023-10-26 at 16.08.47.png