filament-abs.fr 149 Posté(e) Décembre 13, 2020 rapport Share Posté(e) Décembre 13, 2020 Bonjour, J'aimerais modéliser un polyèdre 3D à bords arrondis et je sèche... Voici un exemple de ce que je voudrais, sauf que dans ce cas, il s'agit d'un rectangle. Or j'aimerais qu'une base du rectangle soit moins large: minkowski() { cube([15,22,3]); cylinder(r=2,h=1); } Citer Lien à poster Partager sur d’autres sites
Vector 313 Posté(e) Décembre 13, 2020 rapport Share Posté(e) Décembre 13, 2020 (modifié) Salut @filament-abs.fr, c'est ça que tu veux faire ? Modifié (le) Décembre 13, 2020 par Vector Citer Lien à poster Partager sur d’autres sites
fran6p 2 358 Posté(e) Décembre 13, 2020 rapport Share Posté(e) Décembre 13, 2020 @filament-abs.fr Bonjour, La fonction «minkowski» est très intéressante pour créer des formes à bords arrondis mais elle ajoute deux fois le rayon du cylindre à la largeur et la longueur et ajoute la hauteur du cylindre à la hauteur aux dimensions de la forme de base, Citation $fn=60; mm=1.0; lar=15.0*mm; lon=22.0*mm; hau=3.0*mm; ray=2.0*mm; hcyl=1.0*mm; larrect=lar-2*ray; // largeur rectifiée lonrect=lon-2*ray; // longueur rectifiée haurect=hau-hcyl; // hauteur rectifiée translate([ray,ray,0]) minkowski() { cube([lar,lon,hau]); cylinder(r=ray,h=hcyl); } translate([ray,ray,10]) minkowski() { cube([larrect,lonrect,haurect]); cylinder(r=ray,h=hcyl); } Citer Lien à poster Partager sur d’autres sites
filament-abs.fr 149 Posté(e) Décembre 13, 2020 Auteur rapport Share Posté(e) Décembre 13, 2020 @Vector Non pas tout à fait. Sur les 6 côtés, seuls deux doivent être plus courts que les autres (et eux-même de la même longueur). - Tu dessines un rectangle, - tu raccourcis un côté - tu lui donnes de l'épaisseur. Et merci à @fran6p pour l'astuce Citer Lien à poster Partager sur d’autres sites
fran6p 2 358 Posté(e) Décembre 13, 2020 rapport Share Posté(e) Décembre 13, 2020 il y a 32 minutes, filament-abs.fr a dit : - Tu dessines un rectangle, - tu raccourcis un côté - tu lui donnes de l'épaisseur. C'est un trapèze ? Il faudrait peut-être utiliser la fonction «polyhedron». Un test avec un rectangle (en modifiant les 8 coordonnées du «cube» pour former un trapèze) ? : Citation $fn=60; mm=1.0; lar=15.0*mm; lon=22.0*mm; hau=3.0*mm; ray=2.0*mm; hcyl=1.0*mm; decal=3.0*mm; larrect=lar-2*ray; // largeur rectifiée lonrect=lon-2*ray; // longueur rectifiée haurect=hau-hcyl; // hauteur rectifiée /* minkowski() { cube([lar,lon,hau]); cylinder(r=ray,h=hcyl); } translate([ray,ray,10]) minkowski() { cube([larrect,lonrect,haurect]); cylinder(r=ray,h=hcyl); } minkowski() { cylinder(lonrect,lonrect,larrect,$fn=4); cylinder(r=ray,h=hcyl); } */ PointsCube=[ [0,0,0], //0 [larrect,0,0], //1 [larrect,lonrect,0], //2 [0,lonrect,0], //3 [decal,decal,haurect], //4 [larrect-decal,decal,haurect], //5 [larrect-decal,lonrect-decal,haurect], //6 [decal,lonrect-decal,haurect]]; //7 FacesCube=[ [4,5,1,0], //avant [5,6,2,1], //droite [6,7,3,2], //arriere [7,4,0,3], //gauche [0,1,2,3], //dessous [7,6,5,4]]; // dessus minkowski() { polyhedron(PointsCube,FacesCube); cylinder(r=ray,h=hcyl); } Citer Lien à poster Partager sur d’autres sites
filament-abs.fr 149 Posté(e) Décembre 13, 2020 Auteur rapport Share Posté(e) Décembre 13, 2020 Oui, c'est un trapèze particulier: difference() { cube([20,10,4], true); translate ([17.6,0,0]) rotate ([0,0,15]) cube([20,30,5], true); mirror ([1,0,0]) translate ([17.6,0,0]) rotate ([0,0,15]) cube([20,30,5], true); } C'est ce truc que j'aimerais mais avec des angles arrondis. Avec polyhedron je n'arrive pas à obtenir un volume. (D'ailleurs la doc précise que polyhedron est dédié à la 2D). Je vais essayer de décortiquer ton code, cependant Citer Lien à poster Partager sur d’autres sites
Vector 313 Posté(e) Décembre 14, 2020 rapport Share Posté(e) Décembre 14, 2020 (modifié) Salut @filament-abs.fr, comme ça ? : Modifié (le) Décembre 14, 2020 par Vector Citer Lien à poster Partager sur d’autres sites
filament-abs.fr 149 Posté(e) Décembre 14, 2020 Auteur rapport Share Posté(e) Décembre 14, 2020 @Vector Oui, c'est exactement ce que je voudrais! Citer Lien à poster Partager sur d’autres sites
Vector 313 Posté(e) Décembre 14, 2020 rapport Share Posté(e) Décembre 14, 2020 (modifié) Si la forme de ta pièce est un trapèze isocèle, alors pour ça il va falloir dans un premier temps que tu installes cette librairie : dotSCAD https://github.com/JustinSDK/dotSCAD Et là, si t'es sur MAC, ben c'est le drame, je ne pourrais pas t'aider plus à ce sujet, infos ici : https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Libraries Quand tu auras installé et vérifié la librairie, tu m'appelleras Modifié (le) Décembre 14, 2020 par Vector Citer Lien à poster Partager sur d’autres sites
filament-abs.fr 149 Posté(e) Décembre 14, 2020 Auteur rapport Share Posté(e) Décembre 14, 2020 Ha zut, je n'ai jamais réussi à installer une bibliothèque pour OpenScad (sur Mac en effet). J'ai mis la nouvelle bibliothèque au même endroit que la bibliothèque de base MACD mais rien à faire, ça ne fonctionne pas. Bon je vais creuser. Sinon, pourrais-tu afficher le code? Ainsi je pourrais l'essayer dès que j'aurais réussi à installer la bibliothèque? Citer Lien à poster Partager sur d’autres sites
Vector 313 Posté(e) Décembre 14, 2020 rapport Share Posté(e) Décembre 14, 2020 (modifié) Voici mon code : Citation use <shape_trapezium.scad>; use <path_extrude.scad>; use <bezier_curve.scad>; t_step = 1; $fn=200; B = 60; b = 25; h = 30; epaisseur = 10; arrondi = 5; shape_pts = shape_trapezium( [B, b], h , corner_r = arrondi ); p0 = [0, 0.001, 0]; p1 = [0, 0, epaisseur]; path_pts = bezier_curve(t_step, [p0, p1] ); path_extrude(shape_pts, path_pts); L'idée de ce code vient d'ici : https://openhome.cc/eGossip/OpenSCAD/lib-shape_trapezium.html Bon, il va falloir investir dans un PC au bout d'un moment, hein ... Modifié (le) Décembre 14, 2020 par Vector Citer Lien à poster Partager sur d’autres sites
filament-abs.fr 149 Posté(e) Décembre 14, 2020 Auteur rapport Share Posté(e) Décembre 14, 2020 Bon, c'est un problème de path. En mettant le chemin complet aux librairies derrière "USE", ça fonctionne. Il faut donc que je révise mes cours Unix... Citer Lien à poster Partager sur d’autres sites
fran6p 2 358 Posté(e) Décembre 15, 2020 rapport Share Posté(e) Décembre 15, 2020 Le 13/12/2020 at 19:09, filament-abs.fr a dit : (D'ailleurs la doc précise que polyhedron est dédié à la 2D). Bizarre polygon est son pendant pour la 2D. Les bibliothèques proposées par @Vector sont très bien. Je suis aussi obligé de mettre le chemin d'accès complet pour qu'OpenSCAD trouve les bibliothèques alors que ma variable d'environnement est correctement déclarée (Windows 10) Citer Lien à poster Partager sur d’autres sites
Vector 313 Posté(e) Décembre 15, 2020 rapport Share Posté(e) Décembre 15, 2020 (modifié) Salut @fran6p, Sur mon PC Windows 10, j'ai rajouté dans Variables d'environnement > Variables utilisateur pour xxxxxx > Nouvelle : - Nom de la variable : OPENSCADPATH - Valeur de la variable : C:\Users\xxxxxx\Documents\OpenSCAD\libraries\dotSCAD\src La librairie dotSCAD est située dans : C:\Users\xxxxxx\Documents\OpenSCAD\libraries\dotSCAD Pour vérification dans OpenSCAD : Menu fichier > Afficher le dossier des bibliothèques : C:\Users\xxxxxx\Documents\OpenSCAD\libraries Modifié (le) Décembre 15, 2020 par Vector Citer Lien à poster Partager sur d’autres sites
filament-abs.fr 149 Posté(e) Décembre 15, 2020 Auteur rapport Share Posté(e) Décembre 15, 2020 (modifié) Il y a 3 heures, fran6p a dit : Bizarre polygon est son pendant pour la 2D. J'ai dû lire la doc de travers. Quoiqu'il en soit, les formes 3D que je réalisais avec polyhedron étaient "creuses". Un artefact très curieux. @Vector de mon côté, étant sur Mac le menu "Afficher le dossier des bibliothèques" affiche bien le bon répertoire avec ta bibliothèque. Modifié (le) Décembre 15, 2020 par filament-abs.fr Citer Lien à poster Partager sur d’autres sites
Messages recommandés
Rejoindre la conversation
Vous pouvez poster un message et vous inscrire plus tard. Si vous avez déjà un compte, connectez-vous afin de poster avec.