Impression 3D Openscad - arnaudrco/exemples GitHub Wiki
8 dépôts github : exemples-de-montages avec les ateliers et projets réalisés au repair café festisol animations et projets réalisés pendant FESTISOL et à la MJC ; CROUS-micro-python animations et projets commencés au CROUS et poursuivis pendant les ateliers numériques ; piano une nouvelle passion réalisée à coup de marteau visio et communication ; jouets réparations, récréations mathématiques, création de nouveaux jouets developpement-voiture robot, intelligence artificielle ; raspberry-pico et micro-python ; Repair Café d'Orsay Blog Mots clés
Vous pouvez réparer à Orsay et Bures, amusez vous à concevoir un objet en ligne sans programmer programmer un objet avec un logiciel libre Table ronde Salle des Muses samedi 25 octobre 2025 15h 17h "impression 3D pour réparer" inscription
Les objets 3D sur internet ont souvent mal adaptés : mauvaise dimension, il faudrait ajouter un bout d'un côté, rogner une autre partie .. J'aime bien cet outil très léger et rapide digne d'être dans la boite à outils du réparateur. Avec quelques fonctions de base, il est puissant et paramétrable.
F5 visualise (instantané)
F6 calcul le rendu
F7 impression 3D
Théorie des ensembles
Pour ceux qui aiment la Théorie des ensembles
Pas facile de réaliser un beau boîtier pour un PowerBank toutes tensions . Ajouter un boîtier et un cube
Si je demande l'intersection
intersection(){ import("DC-DC_stepdown_XL4005.STL"); cube([100, 100, 10], center = true); }
Remplacer DCxxx par votre fichier et faire F5. Magique ?
Piège à moustiques
comment modifier des objets trouvés sur internet ? J'ai trouvé un "extracteur de fumée" qui est pratiquement ce que je cherche ; avec un glisser-déposer , je pose le fichier STL de l'objet dans openscad, j'appuie sur la touche de fonction F5 et l'importation est automatique !
Mais les dimensions du tube en haut ne sont pas bonnes : il me manque presque rien ; je réalise un "rabot" pour le mettre à la bonne dimension
module rabot() { difference() { cylinder(h = 20, r = 120/2, center = true); cylinder(h = 20, r = 80/2, center = true); } } rabot();
Openscad "enlève" l'exces de matière ; voici le code
Impression de la pièce
https://github.com/arnaudrco/exemples/blob/main/rabot.stl
Couture
Pas facile à avoir la bonne taille de bouton ; il est rapidement imprimé en 3D ; 3 lignes Openscad et je visualise immédiatement mon bouton
module bouton() { trou=6; difference() { cylinder(h = 3, r = 25/2, center = true); union() { translate([0,trou,trou] ) cylinder(h = 50, r = 5/2, center = true); translate([0,-trou,-trou] )cylinder(h = 50, r = 5/2, center = true); } } } bouton();
Les bords du boutons sont trop durs ? J'ajoute simplement une sphère pour adoucir les bords du bouton avec une somme de minkowski ; amusant ?
minkowski() { bouton(); sphere(1); };
Des outils libres
Un objet réalisé à partir d'un programme ? De nombreux outils peuvent le faire : FreeCAD, OpenSCAD, CADQuery ... Suivez le guide du logiciel libre de modeleur
Réalisation 5 minutes
C'est une sorte de grosse rondelle bizarre pour une rambarde ; j'ai besoin d'un gros cylindre pour la rondelle un petit pour faire le trou de la vis, et une cavité pour faire passer l'attache ; j’appuie sur F5 pour voir le résultat grossier, F6 pour le rendu et F7 pour exporter en STL. Incroyable ?
module rambarde()
{
difference() {
cylinder(h = 20, r = 20, center = true);
union() {
translate([0,10,10] ) cube([50, 10, 10], center = true);
cylinder(h = 50, r = 5, center = true);
}
}
}
rambarde();
fichier STL et sa visualisation
Avec 2 variables vis pour la vis et tige pour l'écartement de la tige :
module rambarde() { vis=6; tige=4; difference() { cylinder(h = 12, r = 25/2, center = true); union() { translate([0,tige,tige] ) cube([50, 10, 10], center = true); translate([0,-vis,-vis] )cylinder(h = 50, r = 5/2, center = true); } } } rambarde();
Partager des compétences et des réalisations
Vous avez réalisé un beau projet et vous voulez le partager pour aider les autres ?
Partager des réalisations à Bures, Gometz, Orsay,
article Comment réparer des appareils lorsque les pièces sont introuvables ? Un blender en panne , un mixeur ou une tronçonneuse : il suffit quelquefois d’une seule pièce pour que l’appareil devienne inutilisable
La modélisation n'est pas aisée souvent ; Openscad est un exemple de logiciel ancien mais efficace pour paramétrer un roulement à n billes ou un chandelier à n bougies !
Impression 3D avec Openscad
J'ai eu du mal à installer Fusion360 : la version gratuite est limitée dans le temps, il faut donner son téléphone obligatoirement, le téléchargement est important ; par contre je me suis très vite amusé avec Openscad, la bibliothèque est fournie et une version en ligne existe
sudo apt-get install openscad
24 Mo à télécharger
https://openscad.cloud/openscad/
Modélisation d'objets avec Openscad
Un Lego
c'est un jeu de Lego de choisir des blocs élémentaires et d'utiliser des fonctions comme des additions ou des intersections sur les blocs
union() : nous ajoutons des blocs
difference() : nous évidons un bloc d'un autre bloc
intersection()
Modélisation programmable
un objet est réalisé par l’exécution d'un programme
Pas facile de trouver comment modéliser une pièce ; très mathématique ; j'aime bien la possibilité de paramétrer le nombre n de bougies pour un chandelier ( n=5 ) et de voir immédiatement la réalisation de l'objet
Le chandelier à n branches est dans le menu fichier>exemple>parametric ; amusez vous à programmer une hélice
un peu plus difficile un engrenage d'un moteur pas à pas avec sa solution
bibliothèques de fonctions
desopenscad a de belles bibliothèques de modélisations
Galerie d'objets
boitier raspberry Pi
et même une imprimante 3D
et sa réalisation
fonctions de base
Exemples de2D Primitives
square(size=1, center=false, r=0)
circle(r=1, c=[0,0], internal=false, d)
3D Primitives
cube(size=1, center=false)
sphere(r=1, d)
cylinder(h=1, r1, r2, center=false, r, d, d1, d2)
2D to 3D
linear_extrude(height=100, center=false, convexity=1, twist=0, slices, scale=1.0, poly)
rotate_extrude(angle=360, offsetAngle=0, center=false, v_offset=0, i_offset=0, poly)
Fonctions "built in"
illustration de la somme de minkowski d'une boite et d'un cylindre
3D to 2D
Transform
Booleans
Tinkercad
avec Tinkercad je peux aussi programmer en scratch
CadQuery
CadQuery est très similaire ; il se programme en Python
python3 -m pip install --upgrade pip
pip install cadquery
Voir plus Impression-3D