Existe-t-il des pratiques «meilleures» ou au moins «communes» pour gérer les allocations dans le code OpenSCAD?


8

Je conçois quelques mécanismes avec OpenSCAD, et l'un des paramètres qui nécessitent un ajustement entre les imprimantes / filaments est les tolérances entre les pièces qui doivent être assemblées ensemble (par exemple, si je veux une "broche de 5 mm de diamètre" pour fixer deux pièces ensemble, combien plus grand que 5 mm les trous / combien plus petit que 5 mm la goupille devra-t-il être).

Actuellement, j'aborde le problème en définissant une variable globale allowanceet en l'utilisant manuellement dans le code, quelque chose comme:

module pin(radius) {
    cylinder(r = radius + allowance)
}

module hole(radius) {
    cylinder(r = radius - allowance)
}

Je n'ai cependant aucune expérience réelle de la conception, je me demande donc s'il existe des bonnes pratiques communes ou de codage pour tenir compte des tolérances lors de la conception de pièces, par exemple:

  • modules spécifiques à utiliser,
  • noms conventionnels des variables
  • techniques spécifiques à utiliser (mise à l'échelle? vecteurs?)
  • conventions (comme utiliser uniquement des tolérances sur l'attache, pas sur l'objet attaché)
  • ...?

Pour clarifier: je ne cherche pas de conseils sur la façon de planifier les dimensions de mes créations. Je recherche plutôt des conseils sur la façon d'organiser le code OpenSCAD qui les génère.


1
Je soupçonne qu'OpenSCAD est trop niche pour avoir de telles conventions. Ce que vous faites est très similaire à mes propres pratiques.
Mick

Réponses:


5

Il permet de comprendre les différents aspects des dimensions, afin que vous puissiez utiliser la terminologie correctement. Cela vous aidera à définir vos variables dans OpenSCAD avec des noms corrects. (La tolérance n'est pas le bon terme à utiliser.) Et une fois que vous avez des noms corrects, vous comprendrez comment spécifier les dimensions dans OpenSCAD.

  • La tolérance est la quantité d'écart ou de variation aléatoire autorisée pour une dimension donnée.
  • La tolérance est une différence planifiée entre une valeur nominale ou de référence et une valeur exacte.
  • Le dégagement est l'espace intentionnel entre deux parties.
  • L'interférence est le chevauchement intentionnel entre deux parties.

Deux autres termes

  • La précision est la variation dimensionnelle maximale entre les pièces. Une machine ne peut pas produire de pièces avec une tolérance plus stricte que sa précision.
  • La précision est la taille des étapes dont votre machine est capable. Il est souvent confondu avec précision.

Dans votre cas, vous devez définir l' allocation afin de créer le dégagement souhaité.

Pour concevoir votre broche de 5 mm et votre trou de 5 mm, vous devez comprendre la précision de votre machine. L'imprimante peut imprimer la broche supérieure à 5 mm ou inférieure à 5 mm. Ou il pourrait imprimer le trou plus grand que 5 mm ou plus petit que 5 mm. Vous devrez imprimer des épingles et des trous et mesurer les différences entre ce que vous avez défini et ce que vous avez imprimé. La différence entre la plus grande et la plus petite mesure que vous prenez est la précision de votre machine. Et assurez-vous de vérifier la précision de vos dimensions X, Y et Z; votre imprimante peut avoir une différence entre elles qui aurait un impact sur la rondeur des pièces.

Disons que la précision mesurée de votre imprimante est de ± 0,2 mm.

Ensuite, nous passons au dédouanement. Quel est l'écart minimum entre les pièces que vous recherchez et quel est le maximum que vous pouvez accepter?

Supposons que vous souhaitiez un jeu d'au moins 0,2 mm entre la broche et le trou, mais pas plus de 1,0 mm. Puisque votre précision est de ± 0,2 mm, votre broche sera de 5,0 ± 0,2 mm, donc le trou doit donc être de 5,6 mm ± 0,2 mm. La condition de tolérance minimale serait un trou de taille minimale (5,4 mm) et une broche de taille maximale (5,2 mm); la tolérance maximale serait un trou de taille maximale (5,8 mm) et une goupille de taille minimale (4,8 mm).

Notez qu'un espace de 1,0 mm peut être trop bâclé pour votre application. Vous pourriez penser à resserrer les tolérances à 0,05 mm afin de réduire le jeu. Mais si votre imprimante ne peut pas produire une pièce qui respecte vos tolérances spécifiées, vous devrez trouver une autre façon de fabriquer ou de finir les pièces.


Merci de m'avoir fourni le vocabulaire anglais approprié pour communiquer efficacement avec d'autres designers! J'ai mis à jour ma question en conséquence. Cependant, ma question concerne spécifiquement l' organisation du code OpenSCAD , pas la théorie et la pratique des allocations (que j'ai déjà comprises, bien que ignorant les termes anglais appropriés). :) Puis-je vous suggérer de créer une question de style wiki (option lorsque vous modifiez la question) comme "Quelles sont les différences entre tolérance et tolérance?" et y déplacer votre texte? Ce sont des informations très utiles, mais ce n'est pas une réponse à ma question, hélas!
mac

... et bien sûr, je serais le premier à voter pour cela ... faites le moi savoir dans les commentaires si vous vous déplacez pour le faire! :)
mac

2

Je ne connais pas de norme dans Openscad mais je peux partager ce que j'ai fait dans le passé.

cutoutActualDiameter = 10;
cutoutDiameterClearance = 0.1;
cutoutDiameter = cutoutActualDiameter + cutoutDiameterClearance;

Je sais que c'est verbeux mais malheureusement, d'après mon expérience, c'est une nécessité si vous voulez que votre code soit maintenable dans Openscad. L'avantage de ceci est que jusqu'à ce que vous ayez besoin d'une clairance ajoutée, vous pouvez simplement utiliser la variable cutoutDiameter, puis si et quand vous avez besoin d'une clairance ajoutée, vous pouvez renommer cette variable et vous n'avez pas à changer le code où se trouve la variable. consommé.

J'adorerais savoir comment les autres gèrent cela.


1
Alors, dites-vous qu'au lieu d'utiliser une variable pour toutes les allocations, vous créez une variable ad hoc pour chaque dimension de votre part? Sinon, pouvez-vous préciser quelle est la différence entre votre approche et celle décrite dans la question elle-même? Merci! :)
mac

@mac c'est correct. Vous pourriez toujours utiliser ce modèle avec une variable de tolérance plus globale et vous auriez la flexibilité de l'utiliser où vous le pouvez ou d'être aussi granulaire que vous le souhaitez. Certaines choses peuvent nécessiter un ajustement serré. D'autres devraient en donner.
Nick Dancer

-2

Eh bien, les tolérances dépendront du matériau à utiliser pour la fabrication de la pièce requise et également de l'endroit où la pièce ira et s'adaptera. N'oubliez pas que toutes les pièces nécessitent un certain dégagement pour s'adapter correctement.

Il y a quelques années (10 ans), je travaillais en tant qu'ingénieur qualité et certains ingénieurs de conception se plaignaient du fait qu'une broche Dupont ne s'adaptait pas sur le PCB, ils m'ont donc dit que je devais forcer la fabrication du PCB à augmenter les trous à une tolérance plus élevée. Que je devais lui demander d'abord la taille de la broche et m'a dit 0,70 mm et la taille du trou 0,80 et maximum 0,90 - hmmm et la taille maximale de la broche? J'ai demandé, et ils m'ont dit fièrement 0,78 mm pour que la pièce s'adapte parfaitement. - Oh, donc une broche carrée de 0,78 mm s'adaptera à un trou de 0,9 mm, mais qu'en est-il de la dimension diagonale? si la broche sur la dimension supérieure est proche de 1,2 mm.

Imaginez ce qui s'est passé plus tard, des modifications techniques et la modification d'autres conceptions en raison de tolérances incorrectes. le logiciel pro-engineer n'a pas pu calculer ce dont les concepteurs avaient besoin.

Le matériau présente un retrait, un gauchissement et d'autres conditions nécessaires pour connaître la malléabilité et la dureté et certaines de ces données concernent le matériau de spécification ou la spécification de pièce.


1
Cela ne répond en rien à la question.
tjb1

@ tjb1 Cela vous fait penser à considérer les tolérances même si vous utilisez le meilleur logiciel de CAO.
Fernando Baltazar

1
La question est de savoir comment appliquer les tolérances à l'intérieur d'OpenSCAD lors du codage, et non comment les tolérances s'appliquent à une pièce réelle.
tjb1

@ tjb1 Ainsi, l'utilisateur n'aura jamais l'intention de l'utiliser dans des pièces réelles?
Fernando Baltazar

1
Que ce soit des tolérances ou des tolérances, la question est de savoir comment les appliquer dans le code d'OpenSCAD qui génère le modèle, voir les puces de la question. StackExchange n'est pas un forum et votre réponse est en grande partie une histoire d'un travail précédent, mais pas une réponse à la question.
tjb1
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.