Resumé
J'avais besoin d'un grand filet de vis et d'un écrou pour s'adapter sur un tube. Il existe d'excellentes bibliothèques pour ça, comme par exemple...https://www.thingiverse.com/thing:8793ethttps://www.thingiverse.com/thing:193647, mais j'ai pensé qu'il serait amusant de construire le mien.
Cette bibliothèque vous permet de fabriquer des vis métriques. La géométrie du filetage suit les normes métriques, telles que décrites danshttps://www.machiningdoctor.com/charts/metric-thread-charts/#c-mc. Voir aussihttp://www.apollointernational.in/iso-metric-thread-chart.phppour les tolérances de filetage ISO.
Avant de vous induire en erreur, je devrais mentionner la page des bibliothèques OpenScad (<https://openscad.org/libraries.html) dispose d'un certain nombre de bibliothèques qui fournissent diverses vis et écrous. En particulier, consultez les modules BOSL2, BOLTS et threads.scad. Je n'ai essayé aucun d'entre eux, mais c'est un excellent endroit où regarder si cette bibliothèque ne fait pas ce dont vous avez besoin. Ou même si elle le fait !
La section transversale idéalisée du filetage métrique est un triangle équilatéral, où un côté du triangle est aligné le long de l'axe de la vis (je suppose un axe vertical). Le sommet extérieur du triangle est coupé, de sorte que la section transversale réelle du filetage est un trapèze. Le diamètre nominal du filetage (la valeur "M") correspond à la face du trapèze coupée, mais le filetage réel est légèrement sous-dimensionné.
Mise à jour du 17/08/2022 : J'ai ajouté le paramètre "angle" qui permet des géométries de filetage non métriques. La valeur par défaut est de 60 degrés, ce qui est métrique. Des angles plus petits donnent un filetage plus profond, des angles plus grands donnent un filetage moins profond.
Pour l'impression 3D, nous devons modifier la géométrie originale, donc nous fournissons des paramètres pour modifier le diamètre, ainsi que pour la découpe et le remplissage. En général, vous devriez pouvoir laisser la découpe et le remplissage en mode par défaut et simplement modifier le diam_adj.
La bibliothèque contient cinq modules :
- screw_segment - construit un segment de vis et contient toute la logique de filetage.
- nut_core - construit un filet orienté vers l'intérieur, encapsulé dans une paroi extérieure mince. Le filet est construit en différenciant un segment de vis approprié d'un cylindre.
- Hex_bolt - construit un boulon hexagonal dont la partie du corps peut éventuellement ne pas être filetée.
- Hex_nut - construit un écrou hexagonal.
- Wing_nut - construit un écrou à ailettes.
Si vous exécutez OpenSCAD sur ce fichier, il construira des boulons et des écrous d'exemple pour les tailles M4, M5, M6, M8 et M10.
Chaque module prend deux ou trois paramètres positionnels et un certain nombre de paramètres nommés optionnels. Les paramètres positionnels sont les mêmes que ceux utilisés pour spécifier les tailles de vis métriques : diamètre, pas et longueur, tous en mm. Le paramètre de longueur est transmis uniquement aux modules de vis et de boulons, les écrous déduisent la longueur du paramètre hex_thickness. Nous utilisons hex_thickness nommé pour indiquer claire
Les paramètres nommés affinent et modifient la forme de la vis comme suit :
Paramètres communs :
fn = 50 : segments de polyèdre par tour.
diam_adj = +/-0.1 : changement du diamètre extérieur nominal (modifie le jeu) négatif pour la vis, positif pour l'écrou.
trunc = -1 : combien il faut trimer le pic extérieur. -1 : h/4
fill = -1 : combien remplir la vallée intérieure. -1 : h/8
angle = 60 : angle de la filetage extérieur du triangle de section transversale du filetage. Les filetages métriques ont une section transversale triangulaire équilatérale avant tout usinage, donc c'est 60 degrés. Des angles plus petits donnent un filetage plus profond, des angles plus grands donnent un filetage moins profond.
chamfer_top = true : chanfreiner la vis ou l'écrou sur le dessus.
chamfer_bottom = false : Chanfreiner la vis ou l'écrou sur le fond.
Seulement le segment screw_segment :
lead_top = true : fil de tête (qui s'enfonce vers l'intérieur) en haut.
lead_bottom = false : fil de discussion principal en bas.
Uniquement hex_bolt :
thread_length = -1 : longueur du filetage en mm, -1 est égal à la longueur du boulon.
Hex_bolt, Hex_nut et Wing_nut :
hex_width = -1 : taille de la clé hexagonale en mm, -1 pour automatique.
hex_thickness = -1 : épaisseur de la tête (ou de l'écrou) en mm, -1 pour automatique.
Nous supposons que la vis est construite verticalement, donc "bas" et "haut" se réfèrent aux deux extrémités de la vis.
Nous suivons la logique ISO, où le diamètre extérieur de la vis se réfère à la face extérieure, c'est-à-dire après que la garniture ait été soustraite. Vous devriez pouvoir laisser la garniture et le remplissage comme paramètres par défaut et ne modifier que le diag_adj si nécessaire. En général, les vis devraient être légèrement rétrécies et les boulons légèrement élargis, pour tenir compte du fait que les impressions
Exécuté seul, le code peut produire une combinaison de boulon et d'écrou pour chacune des tailles M3, M4, M5, M6, M8 et M10. Sur mon imprimante, en utilisant du PLA, diam_adj varie de -0,7 à -0,3 pour les boulons et reste à 0,3 pour les écrous. Vous devrez peut-être modifier cela en fonction de la taille de votre vis, du matériau d'impression et de la qualité d'impression.
Les paramètres suivants ont fonctionné pour moi (voir les réglages d'impression ci-dessous), mais vous devriez tester ce qui fonctionne sur votre imprimante. Ceux-ci sont pour M5, M6, M8 et M10. Le boulon M4 était trop fragile à mon goût, mais j'inclus les paramètres de l'écrou M4. Dans tous les cas, les boulons et les écrous s'adaptent mutuellement ainsi qu'aux vis et écrous métriques correspondants.
hex_bolt( 5, 0.8, 15, diam_adj=-0.5, fn=50, thread_length=-1, hex_thickness=5 ) ;
hex_bolt( 6, 1.0, 15, diam_adj=-0.5, fn=50, thread_length=-1, hex_thickness=-1 ) ;
hex_bolt( 8, 1.25, 15, diam_adj=-0.7, fn=50, thread_length=-1, hex_thickness=-1 ) ;
hex_bolt( 10, 1.5, 25, diam_adj=-0.7, fn=50, thread_length=15, hex_thickness=-1 ) ;
hex_nut( 4, 0.7, diam_adj=0.3, fn=50, hex_thickness=5 ) ;
hex_nut( 5, 0.8, diam_adj=0.3, fn=50, hex_thickness=5 ) ;
hex_nut( 6, 1.0, diam_adj=0.3, fn=50, hex_thickness=-1 ) ;
hex_nut( 8, 1.25, diam_adj=0.3, fn=50, hex_thickness=-1 ) ;
hex_nut( 10, 1.5, diam_adj=0.3, fn=50, hex_thickness=8 ) ;
Définissez les indicateurs vrai/faux au début du code pour sélectionner ce qui doit être rendu. Par défaut, toutes les tailles sauf M3 sont construites. M3 nécessite une très bonne qualité d'impression pour la vis (l'écrou est acceptable, mais même un cylindre vierge de la bonne taille fonctionne comme un écrou M3), et la vis est trop fragile pour être très utile.
L'algorithme pour générer la spirale de fils est légèrement différent de celui utilisé dans les autres bibliothèques que j'ai vues. Au lieu de construire un polyèdre pour chaque segment de fil, toute la spirale est un seul polyèdre. Les segments sont les mêmes sous les deux algorithmes, c'est juste une manière différente d'assembler toute la spirale.
Théoriquement, on pourrait espérer que ce soit un peu plus efficace, mais l'inconvénient est qu'OpenSCAD a du mal à afficher le filetage construit de cette manière dans l'aperçu. Il le rendra correctement, donc vous pouvez préfixer les appels de filetage avec l'opérateur render(), ou simplement appuyer sur F6 fréquemment dans l'interface utilisateur.
J'ai ajouté quelques commentaires pour rendre plus facile à comprendre ce qui se passe. Vous pouvez trouver la version actuelle de ce code, ainsi que mes autres primitives OpenSCAD, surGitHub
Réglages d'impression.
Imprimante :
Machine Fab configurable construite à la maison.
Radeaux :
Non.
Soutient :
Non.
Résolution :
0,4 mm.
Remplissage :
20 %
Notes :
J'ai construit tous les échantillons en utilisant du PLA à 205C, un lit de verre chauffé à 60C, avec de la colle Elmer's comme adhésif.
Model Kaynağı
