Impression 3D : crochet de rideau de douche
par , le mercredi 21 avril 2021 à 19:34

Catégorie : Général
Mots clés : Impression3D Bricolage

Suite à la reconstruction de ma douche pour laquelle j'ai installé un rideau de douche, j'ai eu besoin de crochets sur mesure pour le rideau de douche.


Origine :

Je suis parti d'un modèle déjà conçu par un maker sur Thingiverse, mais dans mon cas j'avais besoin de différentes longueurs.

Modélisation :

J'ai donc repris le modèle, je l'ai coupé en 2 et j'ai ajouté une tige d'extension paramétrable pour mon modèle sous FreeCAD. Il est donc très simple d'exporter le modèle en fichier STL en indiquant la longueur totale du crochet.

Ceci dit, j'ai du bricoler un peu car je suis parti du maillage du maker d'origine, et avec quelques opérations booléennes j'ai coupé son modèle en 2 morceaux avant d'ajouter ma rallonge. Finalement la fonction paramétrique de FreeCAD m'a permis de déplacer les 2 morceaux et de régler la longueur de la rallonge à partir du tableur intégré.

Impression 3D :

J'ai imprimé plusieurs exemplaires de différentes tailles, dont :

ce qui donne :

et en place avec le rideau :

Scripts de génération auto :

Grace à l'approche paramétrique, à la fonction tableur de FreeCAD et au langage python (au coeur de FreeCAD) il est possible de rendre scriptable la génération du fichier STL :

auto_export_parametric.py :

#! /usr/bin/python3

import sys

sys.path.append('/usr/lib/freecad/lib')

import FreeCAD
import Mesh

FreeCAD.openDocument('crochet_rideau_douche_rallonge.FCStd')

App.getDocument('crochet_rideau_douche_rallonge').getObject('Spreadsheet').set("A2", sys.argv[1]);
App.ActiveDocument.recompute()

__objs__=[]
__objs__.append(FreeCAD.getDocument("crochet_rideau_douche_rallonge").getObject("Cut"))
__objs__.append(FreeCAD.getDocument("crochet_rideau_douche_rallonge").getObject("Common"))
__objs__.append(FreeCAD.getDocument("crochet_rideau_douche_rallonge").getObject("Box002"))

Mesh.export(__objs__,u"crochet_rideau_douche_rallonge_temp.stl")

del __objs__

que l'on peut du coup appeler depuis un script web; exemple en PHP :

crochet_rideau_douche_rallonge.php :

<?php

if (!empty($_REQUEST[length]) && is_numeric($_REQUEST[length])) {
    system("/usr/bin/python3 auto_export_parametric.py $_REQUEST[length]");

    header('Content-Type: application/octet-stream');
    header('Content-disposition: filename="crochet_rideau_douche_rallonge_temp.stl"');

    print file_get_contents("crochet_rideau_douche_rallonge_temp.stl");
} else {
    print('Parameter "length" must exist and be an integer !!!');
}

?>

dont le formulaire d'appel est de la forme :

crochet_rideau_douche_rallonge.html :

<form action=crochet_rideau_douche_rallonge.php>
   Longueur total du crochet : 
   <input name='length' size=3>
   <input type=submit value='Générer le fichier STL'>
</form>

Du coup si vous souhaitez un crochet de rideau d'une longueur dédié.

A bientôt

Antoine

Ecrire à l'auteur