Cylindre d'ouvrir

Cylindre d'ouvrir
Lors de la préparation de cet article, je voulais savoir ce que les gens ont des problèmes avec OpenSCAD. À ma grande surprise, la question la plus courante était de créer un cylindre. Il y a une commande cylindre que vous apprendrez les détails d'abord. Après cela, vous verrez des moyens innovants de créer des cylindres à votre goût. Vous pouvez également emporter des cylindres d'autres pièces pour créer des choses plus intéressantes. La plupart des lecteurs, qui viennent ici, veulent probablement voir un cylindre creux ou un tube d'une sorte. Continuez à lire, nous avons beaucoup en magasin pour vous.

La commande cylindre

Si vous utilisez la version la plus simple de la commande cylindre, vous n'avez besoin que d'un seul paramètre. Cela fait un cylindre uniforme solide et rien de plus. Vous devez noter que le cylindre sera d'un rayon standard et de la hauteur de la valeur dans la parenthèse. La commande a de nombreuses options cependant, fouillons-les.

cylindre (R1 = 20);
cylindre (r1 = 20, r2 = 5);
cylindre (r1 = 20, h = 40);
cylindre (r = 20, h = 40);
cylindre (r1 = 20, r2 = 5, h = 40, centre = vrai);

Les deux premiers cylindres dans le code ci-dessus n'ont aucun sens car ils n'ont aucune hauteur. Une erreur courante est lorsque vous oubliez la valeur et qu'elle ne ressemble pas à ce que vous vouliez. Lorsque vous utilisez des variables, la même chose se produit si vous utilisez une variable non définie. Dans ce cas pour la hauteur, mais vérifiez le journal de la console lorsque vous l'exécutez.

Un cône

Le troisième est un cône, la raison en est que la valeur R2 a une taille standard. Essayez le quatrième et voyez ce qui se passe. Le dernier crée un cône où vous avez le plein contrôle des dimensions. Celui-ci est simple à utiliser pour les cônes solides. Vous définissez les deux rayons et la hauteur et vous avez terminé. Vous pouvez également utiliser le diamètre si cela vous convient mieux.

La valeur centrale = vraie est valable pour l'essieu Z, laissant le cône à mi-chemin du «sol». La valeur par défaut est fausse, ce qui fait que le bas du cône se retrouve sur le «sol» pour ainsi dire. Vous pouvez également choisir à quel point les murs des cônes sont proches de la circulaire avec le paramètre «$ fn».

Cylindre creux

Hé, attendez une minute! Cela ne fait que des pièces solides, comment puis-je percer des trous dedans? Vous demandez, merci! je vais vous dire. La réponse est tout dans la différence. La commande qui est. Considérez le code ci-dessous, il contient deux cylindres qui sont embrassés avec des supports bouclés et la commande de différence.

différence()
cylindre (r = 30, h = 40);
cylindre (r = 28, h = 41);

Autrement dit, lorsque vous avez plusieurs pièces, vous avez coupé le matériel de la première pièce en utilisant toutes les pièces suivantes. Dans ce cas, vous coupez un cylindre dans un cylindre. Si vous souhaitez couper une autre forme, vous pouvez également le faire. Essayez un cube ou une sphère! Notez les effets intéressants et parfois dévastateurs que la valeur $ fn peut avoir sur ce code.

Cône creux

Vous pouvez également le faire avec un cône, utilisez simplement les valeurs de rayon double. Puisque vous définissez les deux cônes, vous avez beaucoup de contrôle sur le résultat final. Le cône creux le plus simple est juste deux cônes les uns dans les autres avec une épaisseur pour le matériau.

différence()
cylindre (r1 = 30, r2 = 12, h = 50);
cylindre (r1 = 25, r2 = 7, h = 45);

Ce cône est couvert en haut, vous pouvez l'ouvrir en définissant simplement la deuxième hauteur supérieure à la première. Depuis que vous avez deux cylindres, vous pouvez modifier l'un des deux. Par exemple, vous pouvez couper un trou droit à travers lui en changeant le deuxième cylindre. Vous pouvez également choisir un cube, mais sachez que cela peut couper trop de matériel du cône.

Pyramide

Cela peut sembler hors de propos, mais c'est une astuce utile que vous devez garder à l'esprit lorsque vous continuez à utiliser OpenSCAD. Tous les cylindres et autres éléments sont une approximation d'une forme. Vous lisez le paramètre $ fn plus tôt, ici vous en profitez. Dans cet esprit, vous pouvez penser: une pyramide est un cône avec quatre côtés. Correct! Utilisez $ fn = 4 et vous avez un cône avec quatre côtés, ce qui signifie une pyramide.

différence()
cylindre (r1 = 30, r2 = 12, h = 40, $ fn = 4);
cylindre (r1 = 25, r2 = 7, h = 35, $ ​​fn = 4);

Le cylindre intérieur coupe le même cylindre que celui extérieur. Jusqu'à ce que vous commencez à jouer avec le paramètre $ fn. Pour vous familiariser avec les effets de ce paramètre, essayez de faire un tabouret à quatre pattes. Comment le paramètre $ fn affecte-t-il le résultat? Aussi, comment pouvez-vous couvrir le haut ou le bas?

Combinant beaucoup

Pour avoir beaucoup d'utilisation des cylindres, vous devriez apprendre à combiner beaucoup d'entre eux. Le résultat final peut être très complexe et parfois même utile. Mettre un dessus sur votre cylindre est une option. Pour bien le faire, vous devez commencer à utiliser des variables. Prenez l'habitude de les mettre au sommet de ce que vous concevez. Il est plus facile de fabriquer des modules plus tard.

épais = 5;
baser = 30;
topr = 12;
hauteur = 50;
syndicat()
// le cône inférieur
différence()
cylindre (r1 = baser, r2 = topr, h = hauteur);
cylindre (r1 = baser-thickn, r2 = topr - épais, h = hauteur + épaisseur);

// la balle supérieure
traduire ([0, 0, hauteur])
différence()
sphère (r = topr);
sphère (r = topr -thickn);
traduire ([0, 0, -topr])
cube (size = topr * 2, centre = true);

À partir du haut, vous avez des variables. Ils sont pour l'épaisseur, le rayon de base, le rayon supérieur et la hauteur. La déclaration de l'Union rassemble les pièces. À l'intérieur des accolades, vous avez le cône puis la balle supérieure. Parce qu'ils sont à l'intérieur de l'Union, ils deviendront une pièce à la fin. Vous pouvez faire encore plus lorsque vous utilisez de nombreux cylindres sous plusieurs angles.

Faire un tube à essai

En passant des cônes, faites un tube à essai. Tout d'abord, vous devez considérer quelles formes font un tube à essai. La partie principale est un cylindre, rien d'extraordinaire, juste la différence régulière entre deux cylindres. Si vous définissez la longueur comme variable, vous pouvez utiliser cette valeur comme référence. Vous devez savoir où se termine le tube et devient la demi-sphère en bas. Vous utiliserez également le rayon pour le tube pour définir la sphère.

Tubr = 20;
TUBL = 80;
épais = 2;
différence()
cylindre (r1 = tubr, r2 = tubr, h = TUBL);
cylindre (r1 = tubr - épais, r2 = tubr - épais, h = TUBL);

Essayez ceci et vous n'aurez qu'un simple cylindre, pour faire tout le tube dont vous avez besoin pour le faire fondre avec la demi-sphère. Il n'y a pas de demi-sphère dans le par défaut OpenSCAD, vous devez le faire. Utilisez la différence entre deux sphères pour créer une sphère creuse, puis retirez un autre cube qui coupe la sphère.

différence()
sphère (tubr);
sphère (tubr - épaisseur);
traduire ([0, 0, -tubr])
cube (taille = tubr * 2, centre = true);

Maintenant, vous avez deux pièces distinctes. L'étape suivante consiste à les assembler. Ici, vous pouvez utiliser la commande syndicale. Comme la commande de différence, le syndicat prend toutes les pièces dans l'ordre. Dans l'Union, l'ordre n'est pas aussi important car c'est un ajout. Le code sera un peu moche car nous n'utilisons pas de modules ici.

syndicat()
// Tube principal
différence()
cylindre (r1 = tubr, r2 = tubr, h = TUBL);
cylindre (r1 = tubr - épais, r2 = tubr - épais, h = TUBL);

// sphère inférieure
traduire ([0, 0, Tub])
différence()
sphère (tubr);
sphère (tubr - épaisseur);
traduire ([0, 0, -tubr])
cube (taille = tubr * 2, centre = true);


// Anneau supérieur
différence()
cylindre (r = tubr + épais, h = épaisseur);
cylindre (r = tubr, h = épaisseur);

Ici, nous le concevons à l'envers, c'est à vous. Faites ce qui est pratique pour le cas particulier. Vous pouvez toujours le faire pivoter lorsque vous l'utilisez. L'anneau supérieur a des arêtes vives, vous pouvez y remédier en utilisant un cercle et en rotant_extrude. Il existe d'autres façons de le faire, d'explorer et d'expérimenter!

rotate_extrude (convexity = 10, $ fn = 100)
traduire ([tubr, 0, 0])
cercle (r = épaisseur, $ fn = 100);

Combiner de nombreux cylindres

Une fois que vous avez fait un tube à partir de plusieurs cylindres, vous pouvez également les connecter de différentes manières. Pour ce faire, vous pouvez à nouveau utiliser un syndicat. Disons que vous voulez un tube dans un angle de quarante-cinq degrés par rapport à l'autre tube. Pour faire cela, vous positionnez le tube angulaire à mi-chemin du grand tube.

syndicat()
tube (50, 4, 300);
traduire ([0, 0, totLength / 2]) rotation ([45, 0, 0])
tube (50, 4, 150);

Quand tu essaies ça, ça a fière allure de l'extérieur. Lorsque vous regardez à l'intérieur, vous voyez que vous avez les deux tubes entiers. Le court bloque l'écoulement dans le tube long. Pour y remédier, vous devez effacer les deux cylindres à l'intérieur des tubes. Vous pouvez considérer l'ensemble de l'Union One Piece et mettre les cylindres correspondants après cela dans une différence.

différence()
syndicat()
tube (50, 4, 300);
traduire ([0, 0, totLength / 2]) rotation ([45, 0, 0])
tube (50, 4, 150);


cylindre (r = 50 - 4, h = totale de longueur);
traduire ([0, 0, totLength / 2]) rotation ([45, 0, 0])
cylindre (r = 50 - 4, h = totLength / 2);

Comme vous pouvez le voir, le premier cylindre étire toute la longueur du tube. Cela effacera tout ce qui est à l'intérieur du grand tube, mais le petit tube qui se penche doit également être effacé. La commande Translate déplace le tube à mi-chemin, il tourne ensuite et met le cylindre à l'intérieur du tube. En fait, le code est copié d'en haut et le tube est remplacé par un cylindre.

Plomberie

Si vous souhaitez fabriquer plus de tubes, vous pouvez utiliser le module dans l'exemple ci-dessus et commencer à expliquer. Le code est disponible sur https: // github.com / Matstage / OpenScad-cylinders.git, au moment de la rédaction, il n'y a que ces deux mais revenez souvent pour en voir plus. Vous pourrez peut-être créer des choses plus excitantes.

À l'intérieur d'un bloc

Si vous visez à faire un moteur à combustion interne, vous avez besoin d'un trou cylindrique dans une pièce solide. Vous trouverez ci-dessous un exemple, le plus simple possible, pour les canaux de refroidissement et les pistons, il y a beaucoup plus à ajouter. C'est pour un autre jour.

module cylinderblock (
cylinder = 3,
Bord = 1,
numCyLinders = 8)

différence()
cube ([cylinderr * 2 + bord * 2,
cylinder * 2 * numcyLinders + edge * numcyLinders + edge, 10]);
pour (x = [0: 1: numCyLinders-1])
traduire ([cylinderr + bord, cylinder * x * 2 + bord * x + cylinder + bord, 0])
cylindre (r = cylinder, h = 12);

Ici, vous avez un cube qui grandit en fonction du nombre de cylindres que vous voulez à l'intérieur du bloc. Toutes les valeurs du module sont la valeur par défaut afin que vous puissiez l'utiliser sans valeurs. Pour l'utiliser, utilisez l'instruction «Utiliser» en haut de votre fichier, puis ajoutez CylinderBlock (numCyLinders = 8). Vous pouvez utiliser ou omettre n'importe quelle valeur, lorsque vous les omettez, cela prendra la valeur par défaut. En bref, l'intérieur du module commence par les valeurs, puis crée un cube assez long pour s'adapter aux cylindres. Il continue ensuite en retirant les cylindres avec une déclaration pour. Grâce à la déclaration pour la déclaration, vous pouvez faire un bloc plus grand ou plus petit. Pour des modules plus avancés, vous pouvez mettre des contraintes en ce qui change la conception lorsque certaines valeurs sont atteintes. Peut-être que vous voulez en faire un V s'il est 8 cylindres ou plus.

Extruder d'une forme plate

Une autre façon de créer un cylindre est de faire un cercle et de l'extruder. Un cylindre solide n'est que deux lignes:

linear_extrude (15)
cercle (20);

Cela crée un 15 (pas d'unités en openscad) longs, avec un rayon de 20. Vous pouvez utiliser le diamètre en utilisant le paramètre D. Le simple fait de créer un cylindre n'est pas très utile mais vous pouvez utiliser la même technique pour n'importe quelle forme 2D. Vous verrez cela plus tard. Tandis qu'un cylindre creux, le code est un peu plus long.

linear_extrude (15)
différence()
cercle (20);
cercle (18);

C'est pareil mais, comme nous l'avons fait plus tôt, vous retirez le cercle central. Vous pouvez également le plier en cercle avec la version rotate_extrude. C'est idéal pour faire des beignets, la version la plus simple ressemble à une.

rotate_extrude (angle = 180, convexity = 10)
traduire ([30,0,0])
différence()
cercle (20);
cercle (10);

Ce code crée un demi-cercle creux. Une note avec laquelle vous devez être prudent est la tradlate est nécessaire ou vous obtiendrez une erreur: «Erreur: tous les points pour rotateExtrude () doivent avoir le même signe de coordonnées x (la plage est -2.09 -> 20.00) ". Les nombres dépendront de la valeur dans le cercle. Puisque cela crée la même forme qu'un cylindre, cela peut sembler inutile. Ce n'est pas! La meilleure utilisation de cette commande est de rendre la forme plate fonctionnelle d'une manière ou d'une autre. Le manuel a un polygone simple comme exemple, il crée une forme ronde où vous pouvez exécuter une ceinture. Vous pouvez aussi le tordre. Le code ci-dessous crée un tire-bouchon.

traduire ([- 80,0,0])
linear_extrude (80, twist = 900, échelle = 2.0, tranches = 100)
traduire ([2, 0, 0])
carré (10);

L'exemple du manuel montre un polygone qui peut être utile. Le code ci-dessous peut être ce que vous voulez mais illustre la puissance de le faire de cette façon.

traduire ([0, -80, 0])
rotate_extrude (angle = 275)
traduire ([12,3,2])
polygone (points = [[0,0], [20,17], [34,12], [25,22], [20, 30]]);

Vous pouvez expérimenter la forme du polygone jusqu'à ce que vous obteniez le bien pour votre application. S'il se sent un peu intimidant à l'aide de nombres, vous pouvez créer le profil dans d'autres programmes CAO et importer le résultat DXF à l'aide de la commande import ().

Conclusion

Faire un cylindre est simple mais juste le début du processus. La partie délicate est de faire quelque chose d'utile. Vous devez également l'intégrer dans votre conception et peut-être créer des problèmes plus complexes que les cylindres. Trouvez des moyens et des défis pour votre expansion continue des connaissances en utilisant OpenSCAD. N'oubliez pas d'utiliser la documentation et de s'appuyer sur d'autres logiciels lorsqu'il ne peut pas être facilement réalisé avec les nombres et tels. Quelque chose de non couvert dans ce post est que vous pouvez dessiner des trucs dans Inkscape et Blender et l'importer dans OpenSCAD. L'exportation d'OpenSCAD à STL et d'autres formats est bien pris en charge et si vous êtes vraiment curieux, consultez les créations sur Thingiverse. Ils ont un paquet de passionnés contribuant des choses à leur site.