1/160 - Echelle N

Le Forum consacré à l'Echelle N
 
AccueilAccueil  PortailPortail  ÉvènementsÉvènements  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
N'hésitez pas à consulter le calendrier et les événements du forum pour voir les manifestations près de chez vous !
Le Deal du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

 

 Dessiner en 3D avec OpenSCAD

Aller en bas 
+5
dany56
Thomas
vignole
Jicébé
Belleroche
9 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Belleroche
Membre
Membre
Belleroche


Masculin Age : 48
Localisation : Etival-Lès-Le-Mans
Nombre de messages : 1868
Date d'inscription : 09/01/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeSam 15 Sep 2018 - 10:28

Bonjour à tous,

Je fais suite à mon post sur le châssis du Y7100 pour vous présenter plus en avant OpenSCAD.

Après avoir essayé plusieurs outils 3D sans réel engouement, je suis passé très récemment sur cet outil après la démo d'un collègue de boulot.

OpenSCAD est open-source, gratuit et tourne sous Linux ou Windows, personnellement je l'utilise sous Linux.

Le gros avantage que je vois à cet outil: on ne dessine pas avec la souris, on décrit dans un fichier texte les formes et leurs positionnements comme on écrit un programme informatique, avec tout les avantages associés: variables, copié/collé, commentaires pour expliquer ce que l'on fait, commentaires du code pour éliminer une partie des objets à dessiner, etc...

Bref, un outil parfait pour mettre au point des pièces mécaniques, et pourquoi pas un châssis adapté pour le Y7100/400 ?

Après moult prises de mesures et programmation en suivant la syntaxe OpenSCAD, voici ce à quoi j'aboutis: un modèle me permettant d'adapter le chassis Arnold DHG-700 pour respecter les 23 mm d'empattement:
Dessiner en 3D avec OpenSCAD Captur10


Après avoir modéliser la base du modèle existant (en jaune), positionné les pignons (rouge) et le carter (gris), on peut copier/coller le modèle et en faire des variations facilement.

Après la phase de modélisation, on récupére ensuite les différentes pièces destinées à l'impression en les replacant pour faciliter leur impression en 3D:
Dessiner en 3D avec OpenSCAD Adapta10


Pour ce faire des variables me permettent de choisir l'un ou l'autre mode:
Code:

/***********************/
/* Selection des modes */
/***********************/
mode_modelisation=false;
mode_impression_3D=true;

Qui sont utilisés à la fin de mon fichier:
Code:

/***********************************/
/*********** modelisations *********/
/***********************************/
if (mode_modelisation) {
  elevation=1;
  translate([-25,-30,0]) modelisation_origine(elevation);
  translate([0,0,0]) modelisation_y7100_v1(elevation);
  translate([25,30,0]) modelisation_y7100_v2(elevation);
  translate([50,60,0]) modelisation_y7100_v3(elevation);
}


/***********************************/
/**** sortie pour impression 3D ****/
/***********************************/
if (mode_impression_3D) {
  $fn=20;
  rotate([0,0,0])   translate([0,0,0])  impression_y7100_v1(extremite=true);
  rotate([-180,0,0]) translate([0,-8,0]) impression_y7100_v1();
  rotate([0,0,0])   translate([0,24,0]) impression_y7100_v2();
  rotate([-180,0,0]) translate([0,-32,0]) impression_y7100_v3(extremite=true);
}



Mais commençons par le début, quelques tutoriels !

* Vidéo


* Wiki
Tutoriel OpenSCAD
L'avantage de ce dernier est de pouvoir copier/coller les exemples...

* Excellent example de comment on arrive étape par étape à modéliser un objet:
exemple de conception d'une boîte
Dessiner en 3D avec OpenSCAD .form7_m
Revenir en haut Aller en bas
https://le-forum-du-n.1fr1.net/t4837-belleroche-voie-uniqu
Jicébé
Membre
Membre
Jicébé


Masculin Age : 77
Localisation : Paris
Nombre de messages : 5950
Date d'inscription : 28/07/2008

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeSam 15 Sep 2018 - 11:23

Revenir en haut Aller en bas
http://jcbecker.free.fr
vignole
Membre
Membre
vignole


Masculin Age : 29
Localisation : Rouen
Nombre de messages : 120
Date d'inscription : 09/05/2018

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeLun 17 Sep 2018 - 19:43

est ce difficile à utiliser?
Revenir en haut Aller en bas
Jicébé
Membre
Membre
Jicébé


Masculin Age : 77
Localisation : Paris
Nombre de messages : 5950
Date d'inscription : 28/07/2008

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeLun 17 Sep 2018 - 21:10

vignole a écrit:
est ce difficile à utiliser?
Difficile de répondre...
A mon avis, cela nécessite de connaitre les bases de la géométrie dans l'espace, et les notions de base de la programmation informatique
Donc, pour moi, qui ai enseigné cela durant des années, c'est très simple et je m'y sens parfaitement à l'aise.
Pour d'autres, heu...Dessiner en 3D avec OpenSCAD Fuite

Comme le logiciel est entièrement gratuit, le mieux est de le tester.
Le vues ci-dessous
Dessiner en 3D avec OpenSCAD Parois_Porteuses_00

Dessiner en 3D avec OpenSCAD Parois_Porteuses_01

Dessiner en 3D avec OpenSCAD Parois_Porteuses_02

ont toutes été obtenue simplement en déplaçant la sourie sur l'écran pour changer de point de vue.

Voici le code-source qui m'a permis d'obtenir ce résultat :

Citation :
L_TTrak = 310;
L= L_TTrak*3-2;
a= 8;
b = a + 8;
d = L - 8;
c = d - 8;

larg = 310;

h0= 70;
ht = 350;
h1 = ht-8;
//Menuiserie princpale extrudée
color([0,0,1]) translate([larg,0,0])rotate([90,-90,-90]) linear_extrude(height=larg) polygon([[0,0],[0,b],[h1,b],[h1,c],[0,c],[0,L],[h0,L],[h0,d],[ht,d],[ht,a],[h0,a],[h0,a],[h0,0]]);
// Panneau avant jaune
translate([larg,8,h1-78])  cube([8,L-16,80]);
//===================================================
//Plateau H0
//Module simple (mm)
Long_TTrak = 310;
Larg_TTrak = 300;
H_plancher_voies = 70;
H_Fond_Decor = 350;
H_Poisson_roue_voie = 150;

Long_Module = Long_TTrak*3 - 2;
Hauteur_Voie_Ho = H_plancher_voies + 130;

a1 = [[0,H_plancher_voies]];
b1 = [[400,H_plancher_voies]];
c1 = [[400,0]];
d1 = [[Long_Module,0]];
e1 = [[0,Hauteur_Voie_Ho]];
f1 = [[Long_Module,Hauteur_Voie_Ho]];
  //Plateau Ho
  // Base
 color([1,0,1])translate ([0,8,Hauteur_Voie_Ho])cube([50,Long_Module-8-8,8]);
   //gauche
 color([1,0,1])translate ([50,8,Hauteur_Voie_Ho])cube([5,400,H_Poisson_roue_voie]);
   //droite
 color([1,0,1])translate ([50,Long_Module-200-8,Hauteur_Voie_Ho])cube([5,200,H_Poisson_roue_voie]);
 //Mur latéral
 color([1,0,1])translate ([0,Long_Module-200,Hauteur_Voie_Ho+50])cube([50,5,H_Poisson_roue_voie-50]);
    //fond module
 color([0,0,1])translate ([0,300,Hauteur_Voie_Ho])cube([5,500,H_Poisson_roue_voie]);


Revenir en haut Aller en bas
http://jcbecker.free.fr
Thomas
Membre
Membre
Thomas


Masculin Age : 45
Localisation : Saint-Martin d'Hères
Nombre de messages : 13719
Date d'inscription : 08/03/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeLun 17 Sep 2018 - 21:17

Ça me semble être assez beaucoup très proche de tout ce que j'exècre dans l'informatique et la programmation...
Je pense que pour qui n'est pas habitué aux lignes de programmation ce n'est pas l'idéal... et source de déconvenues....
J'ai du mal aussi à imaginer la création de formes complexes avec ce logiciel.

Ceci dit, chapeau à ceux qui ont le courage de s'y lancer
Revenir en haut Aller en bas
http://alsace-lorraine-echelle-n.eklablog.com/
Belleroche
Membre
Membre
Belleroche


Masculin Age : 48
Localisation : Etival-Lès-Le-Mans
Nombre de messages : 1868
Date d'inscription : 09/01/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeLun 17 Sep 2018 - 21:23

vignole a écrit:

   est ce difficile à utiliser?
Non, si on connait quelques rudiments d'anglais et si la forme à modéliser est simple, par exemple la boite présentée ci-dessus.
Au delà il faut bien structurer son code pour s'y retrouver mais ca je pourrais vous aider.

Le plus simple c'est d'essayer ! Et ca tombe bien car on peut essayer tout de suite maintenant sans rien installer avec la version en ligne d'OpenSCAD: http://openscad.net/

Voici un code que je viens de faire en quelques minutes:
Code:

cube([40,1,2]);
translate([0,9,0]) cube([40,1,2]);
translate([0,-2,-2]) cube([3,14,2]);
translate([8,-2,-2]) cube([3,14,2]);
translate([16,-2,-2]) cube([3,14,2]);
translate([24,-2,-2]) cube([3,14,2]);
translate([32,-2,-2]) cube([3,14,2]);

que je copie colle à gauche de la fenêtre de http://openscad.net/ (remplacez tout le texte déjà présent par le code que je vous propose) puis appui sur "F4" et normalement une forme apparait, si pas le cas dézoomer avec molette souris vers le bas.

Qui va poster l'image de ce que ca donne ?

Après, je vous conseille de faire la même chose avec chaque étape de l'exemple de conception d'une boite cité précédemment.


Dernière édition par Belleroche le Mar 18 Sep 2018 - 8:50, édité 1 fois
Revenir en haut Aller en bas
https://le-forum-du-n.1fr1.net/t4837-belleroche-voie-uniqu
Jicébé
Membre
Membre
Jicébé


Masculin Age : 77
Localisation : Paris
Nombre de messages : 5950
Date d'inscription : 28/07/2008

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeLun 17 Sep 2018 - 22:05

Effectivement, c'est un outil spécialisé, et comme tout outil spécialisé, certains feront les prodiges avec, et d'autres fuiront précipitamment.
Pour ma part, je me sens plus à l'aise avec OpenSCAD qu'avec un marteau et l'obligation de planter un clou verticalement, bien droit, sans le tordre et sans taper ni sur mes doigts, ni sur les doigts des gens autour de moi.

Pour en revenir à OpenSCAD et aux logiciels comme lui, il est plus difficile à utiliser pour un débutant en 3D qu'un logiciel à interface graphique, mais pour ceux qui le maîtrise,il est beaucoup plus performant :
on maitrise facilement une précision d'une fraction de millimètre, on peut découper le travail en plusieurs parties, confiées éventuellement à plusieurs personnes travaillant chacune dans son coin et avec à la fin un simple copié-collé des fichiers pour reconstituer l'ensemble.
Enfin, le travail terminé, on peut faire disparaître momentanément les parties qui gênent la vue.
Exemple : dans le code source précédent, j'ai encadré provisoirement les lignes
Citation :
// Panneau avant jaune
translate([larg,8,h1-78])  cube([8,L-16,80]);
comme ceci :
(extrait du code source) a écrit:

h0= 70;
ht = 350;
h1 = ht-8;
//Menuiserie princpale extrudée
color([0,0,1]) translate([larg,0,0])rotate([90,-90,-90]) linear_extrude(height=larg) polygon([[0,0],[0,b],[h1,b],[h1,c],[0,c],[0,L],[h0,L],[h0,d],[ht,d],[ht,a],[h0,a],[h0,a],[h0,0]]);
/********************
// Panneau avant jaune
translate([larg,8,h1-78])  cube([8,L-16,80]);
********************/
//===================================================
//Plateau H0
//Module simple (mm)
Long_TTrak = 310;
Larg_TTrak = 300;

et le panneau jaune disparaît de la vue, révélant ce qu'il cachait :
Dessiner en 3D avec OpenSCAD Exemple
Revenir en haut Aller en bas
http://jcbecker.free.fr
Belleroche
Membre
Membre
Belleroche


Masculin Age : 48
Localisation : Etival-Lès-Le-Mans
Nombre de messages : 1868
Date d'inscription : 09/01/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeMar 18 Sep 2018 - 5:14

Jicébé a écrit:
on peut découper le travail en plusieurs parties, confiées éventuellement à plusieurs personnes travaillant chacune dans son coin et avec à la fin un simple copié-collé des fichiers pour reconstituer l'ensemble.
Et c'est justement une des ambitions derrière ce sujet: pouvoir fournir facilement quelques modules de base comme roues, pignons, axes; bogies et des moyens simples de placer tout ca pour mettre aux point et partager des châssis moteurs adaptés à nos caisses laitons, 3D ou résine Wink

Pas besoin de tout dessiner/redessiner avec OpenSCAD, on peut importer des pièces déjà designées grâce à d'autres logiciels via le format STL qui peut être importé. L'import DXF est également supporté, voir ici.
Une fois la pièce importée, on la manipule comme un autre objet de base d'OpenSCAD (cube, cyclindre, ...):
Revenir en haut Aller en bas
https://le-forum-du-n.1fr1.net/t4837-belleroche-voie-uniqu
Thomas
Membre
Membre
Thomas


Masculin Age : 45
Localisation : Saint-Martin d'Hères
Nombre de messages : 13719
Date d'inscription : 08/03/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeMar 18 Sep 2018 - 5:39

Jicébé a écrit:
Effectivement, c'est un outil spécialisé, et comme tout outil spécialisé, certains feront les prodiges avec, et d'autres fuiront précipitamment.
Pour ma part, je me sens plus à l'aise avec OpenSCAD qu'avec un marteau et l'obligation de planter un clou verticalement, bien droit, sans le tordre et sans taper ni sur mes doigts, ni sur les doigts des gens autour de moi.

Il ne s'agit pas de fuir précipitamment, juste que je ne vois pas ce qu'un tel logiciel peut m'apporter de plus qu'un logiciel de CAO3D comme Solidworks que j'utilise tous les jours.

Jicébé a écrit:
Pour en revenir à OpenSCAD et aux logiciels comme lui, il est plus difficile à utiliser pour un débutant en 3D qu'un logiciel à interface graphique, mais pour ceux qui le maîtrise,il est beaucoup plus performant :
on maitrise facilement une précision d'une fraction de millimètre, on peut découper le travail en plusieurs parties, confiées éventuellement à plusieurs personnes travaillant chacune dans son coin et avec à la fin un simple copié-collé des fichiers pour reconstituer l'ensemble.
Enfin, le travail terminé, on peut faire disparaître momentanément les parties qui gênent la vue.

Tout ceci, tout comme les autres avantages précités, est parfaitement possible sur un logiciel de CAO3D, d'ailleurs sinon cela ferait de nombreuses années qu'ils ne seraient plus utilisés dans l'industrie.

Au final, le seul avantage que je trouve à OpenSCAD est qu'il est gratuit
Revenir en haut Aller en bas
http://alsace-lorraine-echelle-n.eklablog.com/
Belleroche
Membre
Membre
Belleroche


Masculin Age : 48
Localisation : Etival-Lès-Le-Mans
Nombre de messages : 1868
Date d'inscription : 09/01/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeMar 18 Sep 2018 - 5:45

Comme dit précédemment, l'autre avantage pour moi est que l'on peut partager le code texte facilement, contrairement à un fichier propriétaire comme Solidworks.
Revenir en haut Aller en bas
https://le-forum-du-n.1fr1.net/t4837-belleroche-voie-uniqu
dany56
Membre
Membre
dany56


Masculin Age : 68
Localisation : Francilien-Morbihannais
Nombre de messages : 3052
Date d'inscription : 03/07/2007

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeMar 18 Sep 2018 - 8:15

// Trop bien, merci
/* Depuis le temps que je veux regarder de plus près la 3D
Cette approche me convient bien */
Revenir en haut Aller en bas
http://dany.kwaoo.me/ferro/index.htm
Trusty
Membre
Membre
Trusty


Masculin Age : 61
Localisation : Melun
Nombre de messages : 942
Date d'inscription : 08/10/2012

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeMar 18 Sep 2018 - 8:21

Etant développeur de TopSolid, CFAO concurrrente et 100% Française de SolidWorks, ce que je vais dire n'est pas forcément objectif, mais je le dis quand même Smile.

OpenSCad me fait fortement penser au produit Olivetti GTL que j'ai découvert au début de ma carrière, en 83. Une interface texte permettant de décrire la géométrie puis l'usinage, une partie graphique pour visualiser ce que l'on fait, une semaine de formation intense pour y arriver, et beaucoup de papier autour pour essayer de comprendre ce que l'on fait. Cette façon de faire a perduré jusqu'au début des années 90. Lorsque qu'Olivetti a abandonné GTL, mon chef de l'époque m'a proposé de le porter sur PC sous Dos (il n'avait pas trop de choix, on étaient quatre...). C'est à ce moment que j'ai conçu une interface graphique maison avec des menus, deux écrans et le moyen de faire autrement qu'avec la seule ligne de commande, pourtant encore disponible. Ensuite est arrivé Windows NT, première version que nous avons utilisé,  et les Unix graphiques, et le texte a complètement disparu. Aujourd'hui les versions autres que Windows ont à leur tour disparu, la ligne texte n'est plus qu'un souvenir dans la mémoire défaillante des anciens, et la complexité des pièces et des projets sans cesse croissante nous fait chercher en permanence des façons de faire pour gagner de la mémoire, du disque et du temps de traitement...

Aujourd'hui, aucun grand du secteur n'a de fichier texte pour décrire la géométrie, et les pièces réalisées sont sans commune mesure avec celles faites à l'époque du Dos. Le travail est collaboratif, la précision du dixième de micron, et passer un moule complet avec tous ses trous d'eau, ses tiroirs, sa visserie qui représente des milliers d'éléments se passe d'un document à l'autre avec un simple copié/collé !

Un bon exemple de tout ça, pour revenir au modélisme, c'est la présence de TopSolid dans les salons de train (Chartres sera le prochain), essentiellement destiné aux fous de vapeur vive qui conçoivent eux même leur machines et les font fabriquer par de petites boites de mécanique... Pour la plupart ce sont des papys, la plupart n'a aucune expérience (il y a des profs, des caristes et autres métiers sans aucun rapport à la CAO), auto formés et particulièrement efficaces ! Depuis la mise à disposition avec un prix d'habitude réservé à l'éducation, le prix d'une loco sonorisée en N, les versions pirates de SolidWorks ou de TopSolid souvent anciennes sont remplacées par une version officielle. Et ces utilisateurs ont enfin trouvé une oreille attentive à leurs problèmes de conception.

Cela dit, je peux comprendre l'existence d'un logiciel comme OpenSCad, gratuit, pour des amateurs éclairés qui préfèrent taper du texte plutôt que de cliquer. Il y a bien des gens qui préfèrent Linux à Windows, alors... Smile C'est juste que ce n'est pas le sens de l'histoire.

Pour info quelques exemples de ce que font ces amateurs de la vapeur vive dans les grande échelles:

Dessiner en 3D avec OpenSCAD 2018-010
Dessiner en 3D avec OpenSCAD 2018-011
Dessiner en 3D avec OpenSCAD 2018-012
Dessiner en 3D avec OpenSCAD 2018-013


A noter que dans certains cas, la cinématique de TopSolid permet de simuler à l'écran les mouvements : embiellage, grues, etc...
Revenir en haut Aller en bas
http://www.lapajaparis.net
Belleroche
Membre
Membre
Belleroche


Masculin Age : 48
Localisation : Etival-Lès-Le-Mans
Nombre de messages : 1868
Date d'inscription : 09/01/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeMar 18 Sep 2018 - 8:46

On est bien d accord, OpenSCAD ne peut pas faire ça (ou difficilement).
Mais en l occurrence ce n est pas ce qu on lui demande... et le rapport cout / résultat / accessibilité est imbattable.
J ai commencé de 0 mi août et mes pièces sont en train de se faire imprimer, il y a encore quelques mois c était de la science fiction pour moi la 3D...
Revenir en haut Aller en bas
https://le-forum-du-n.1fr1.net/t4837-belleroche-voie-uniqu
vignole
Membre
Membre
vignole


Masculin Age : 29
Localisation : Rouen
Nombre de messages : 120
Date d'inscription : 09/05/2018

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeMar 18 Sep 2018 - 11:40

tout est possible si on y met la volonté d'apprendre et de comprendre en fouillant un peu on y arrive, je vais essayer donc, merci pour votre retour d'expérience.
Revenir en haut Aller en bas
Belleroche
Membre
Membre
Belleroche


Masculin Age : 48
Localisation : Etival-Lès-Le-Mans
Nombre de messages : 1868
Date d'inscription : 09/01/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeMar 18 Sep 2018 - 17:53

Voilà ce que j'ai commencé ce matin vite fait avant de partir au boulot, puis complété sur la pause du midi:

Dessiner en 3D avec OpenSCAD Face_e10

Code:

$fn=100;
nm = 0.01;/* avoid non-manifold */

face_h=19.1;
face_l=18.2;
face_p=4;
face_courbure_x=18.2*2;
face_courbure_y=30;
face_inclinaison=13;
face_angle_toit=5;
baie_L=14;
baie_h=6.5;
baie_p=5;
baie=[baie_L, baie_p, baie_h];
baie_z = 5.5;
traverse_z = -9.5;
traverse = [baie_L,3,3];
espacement_tampons = 10;
bloc_feux_d = 1.75;
bloc_feux_l = 3.5;
bloc_feux_p = 4.5;
bloc_feux = [bloc_feux_l, bloc_feux_p, bloc_feux_d];
trou_phare_d = 1;
bloc_feux_x=5.5;
bloc_feux_y=1.7;
bloc_feux_z=-4;

/*
 * mots clés pour l'ancrage
 * le nommage se réfère à la vue par defaut d'OpenSCAD
 */
dessous = [0,0,1];
centre=[0,0,0];
dessus = [0,0,-1];
gauche = [1,0,0];
droite = [-1,0,0];
derriere = [0,-1,0];
devant = [0,1,0];

function _mult(v1,v2) = [v1.x*v2.x, v1.y*v2.y, v1.z*v2.z];

module bloc_feux(anchor=centre, trous=true, p=bloc_feux_p) {
  translate(_mult(anchor, bloc_feux)/2) {
    rotate([90,0,0])
    union()
    difference() {
      /* Un cube avec 2 cylindres de chaque côté */
      union() {
        cube([bloc_feux_l-bloc_feux_d, bloc_feux_d, p], center=true);
        translate([-(bloc_feux.x-bloc_feux_d)/2,0,0])
          cylinder(d=bloc_feux_d, h=p, center=true);
        translate([(bloc_feux.x-bloc_feux_d)/2,0,0])
          cylinder(d=bloc_feux_d, h=p, center=true);
      }

      /* Trous des phares */
      if (trous) {
      translate([-(bloc_feux.x-bloc_feux_d)/2,0,0])
        cylinder(d=trou_phare_d, h=p+nm, center=true);
      translate([(bloc_feux.x-bloc_feux_d)/2,0,0])
        cylinder(d=trou_phare_d, h=p+nm, center=true);
      }
    }
  }
}

module trou_tampons(d,l) {
  rotate([90,0,0])
  cylinder(r=d/2+nm, h=l+nm, center=true);
}

difference() {
intersection() {
/* Face avant avec courbure */
rotate([-face_inclinaison,0,0])
intersection() {
  cube([face_l,face_p,face_h], center=true);
  translate([0,face_courbure_y/2-face_p/2,0])
    translate(-[0,0,face_h]/2)
      linear_extrude(face_h)
        resize([face_courbure_x,face_courbure_y])
          circle(r=50, h=face_h, center=true);
}

  /* Courbure de la partie haute de la face */
  translate([0,face_courbure_y/2-face_p/2,4])//FIXME iso face pour le moment...
    translate(-[0,0,face_h]/2)
      rotate([90+face_angle_toit,0,0])
      linear_extrude(face_h)
        resize([face_courbure_x,face_courbure_y])
          circle(r=50, h=face_h, center=true);
}

  /* Découpe de la baie frontale */
  translate([0,-2,baie_z])
  translate(_mult(dessus, baie)/2)
   cube(baie, center=true);
  translate([0,1,baie_z])
  translate(_mult(dessus, baie)/2)
  resize([baie_L-0.75], auto=true)//FIXME
   cube(baie, center=true);

  /* Biseautage du bas de la face */
  translate([0,-3.3,traverse_z])
  translate(_mult(dessous, traverse)/2)
  cube([face_l,2,traverse.z], center=true);


  /* Découpe de la traverse */
  translate([0,-2,traverse_z])
  translate(_mult(dessous, traverse)/2)
    cube(traverse, center=true);

  /* Trous des tampons */
  translate([-espacement_tampons/2,0,traverse_z+1.5])
    trou_tampons(1, l=4);
  translate([espacement_tampons/2,0,traverse_z+1.5])
    trou_tampons(1, l=4);

  /* Trou des blocs feux */
  translate([bloc_feux_x,bloc_feux_y,bloc_feux_z])//FIXME aligne_sur()
    bloc_feux(centre+derriere, trous=false);
  translate([-bloc_feux_x,bloc_feux_y,bloc_feux_z])//FIXME aligne_sur()
    bloc_feux(centre+derriere, trous=false);
}

/* Bloc feux */
translate([bloc_feux_x,bloc_feux_y,bloc_feux_z])//FIXME aligne_sur()
  bloc_feux(centre+derriere, p=3.5);
translate([-bloc_feux_x,bloc_feux_y,bloc_feux_z])//FIXME aligne_sur()
  bloc_feux(centre+derriere, p=3.5);

La forme est là, reste à corriger toutes les cotes précisément en retouchant les variables en haut du fichier...
Revenir en haut Aller en bas
https://le-forum-du-n.1fr1.net/t4837-belleroche-voie-uniqu
vignole
Membre
Membre
vignole


Masculin Age : 29
Localisation : Rouen
Nombre de messages : 120
Date d'inscription : 09/05/2018

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeMer 19 Sep 2018 - 8:10

superbe effectivement
Revenir en haut Aller en bas
Belleroche
Membre
Membre
Belleroche


Masculin Age : 48
Localisation : Etival-Lès-Le-Mans
Nombre de messages : 1868
Date d'inscription : 09/01/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeJeu 20 Sep 2018 - 21:00

Allez hop, besoin d'un toit pour ma draisine DU 65...

Dessiner en 3D avec OpenSCAD Captur11

100 lignes de codes (incluant la décomposition en modules et tous les nombreux commentaires):
Code:

/*
 * Pièces complémentaires au kit de draisine DU-65
 * de Christophe Phulpin:
 * - Toiture
 * - Capôt
 */

nm = 0.01;/* avoid non-manifold */
$fn=100;

/*
 * Cotes du modèle
 */
toit_L=27.2;
toit_l=16.4;
toit_h=1.3;
toit=[toit_l, toit_L, toit_h];
toit_courbure_x = toit_l*2;
toit_courbure_y = toit_l/2;
socle_L=25;
socle_l=14.1;
socle_h=0.6;
toit_coins_d=2;//arrondi des coins du toit


/*
 * mots clés pour l'ancrage
 * le nommage se réfère à la vue par defaut d'OpenSCAD
 */
dessous = [0,0,1];
centre=[0,0,0];
dessus = [0,0,-1];
gauche = [1,0,0];
droite = [-1,0,0];
derriere = [0,-1,0];
devant = [0,1,0];

function _mult(v1,v2) = [v1.x*v2.x, v1.y*v2.y, v1.z*v2.z];


/* Cube "brute" délimitant le toit */
module bloc_toit(ancre=centre) {
  translate(_mult(ancre, toit)/2)
  cube(toit, center=true);
}

module aligne_sur_toit(ancre=centre) {
  translate(-_mult(ancre, toit)/2)
    children();
}

/* Gabarit de la courbure du toit */
module gabarit_galbe_toit(ancre=centre) {
  translate(_mult(ancre, [toit_courbure_x, toit_L, toit_courbure_y])/2)
  rotate([90,0,0])
    /* Elipse extrudée à la longueur du toit */
    linear_extrude(toit_L+nm, center=true)
      resize([toit_courbure_x,toit_courbure_y])
        circle(r=toit_courbure_x, center=true);
}

module toit_avec_galbe(ancre=centre) {
  /* Galbe du toit obtenu par découpe du bloc suivant le gabarit */
  intersection() {
    bloc_toit(ancre);
    aligne_sur_toit(dessus)
      gabarit_galbe_toit(dessus);
  }
}

module toit(ancre=centre) {
  translate(_mult(ancre, toit)/2) {
    /*
     * Coins du toit arrondis par application d'un cyclindre
     * sur le pourtour du toit.
     * La fonction minkowski() va faire grossir la pièce
     * du rayon du cylindre, il faut donc rétrécir le toit
     * d'autant avant...
     */
    minkowski() {
      resize([toit_l-toit_coins_d,toit_L-toit_coins_d])
        toit_avec_galbe();
      cylinder(d=toit_coins_d,h=nm, center=true);
    }

    /*
     * Ajout du socle pour le centrage et la fixation sur la cabine.
     * On reutilise ici le bloc toit rétréci à la taille du socle
     */
    #aligne_sur_toit(dessous)
      resize([socle_l,socle_L, socle_h])
        bloc_toit(dessus);
  }
}

/* Rendu final */
toit();


Je vous décompose sa construction ci-dessous.

On commence par un cube dont le volume englobe tout le toit, ses cotes étant définies par la largeur en partie basse de la cabine en photodécoupe, soit 27.2x16.4 mesurés sur mon modèle et 1.3 de hauteur (estimation visuelle):
Code:

toit_L=27.2;
toit_l=16.4;
toit_h=1.3;
toit=[toit_l, toit_L, toit_h];

module bloc_toit(ancre=centre) {
[...]
  !cube(toit, center=true);
Remarquez le "!"  ajouté devant "cube": très utile pour comprendre et mettre au point le modèle car il indique au logiciel de n'afficher que cet objet, ce qui donne:
Dessiner en 3D avec OpenSCAD Captur12

On va ensuite former le galbe du toit. Pour cela on dessine un gabarit sous forme d'un cylindre déformé, le toit devant suivre sa courbure. A vue de nez et en essayant, j'ai choisi une ellipse dont la longueur fait deux fois la largeur du toit et dont la largeur fait la moitié de la largeur du toit:
Code:

toit_courbure_x = toit_l*2;
toit_courbure_y = toit_l/2;

module gabarit_galbe_toit(ancre=centre) {
[...]
       !resize([toit_courbure_x,toit_courbure_y])
          circle(r=toit_courbure_x, center=true);
Comme la primitive "ellipse" n'existe pas, je dessine un cercle que j'étire à la cote voulue grâce à "resize":
Dessiner en 3D avec OpenSCAD Captur14

J'étire ensuite cette ellipse vers le haut et le bas pour former un solide de la longueur du toit:
Code:

module gabarit_galbe_toit(ancre=centre) {
[...]
    !linear_extrude(toit_L+nm, center=true)
      resize([toit_courbure_x,toit_courbure_y])
        circle(r=toit_courbure_x, center=true);
Dessiner en 3D avec OpenSCAD Captur20

Que je retourne ensuite de façon à l'orienter comme le toit avec "rotate([90,0,0])", soit 90° de rotation autour de l'axe des X:
Code:

module gabarit_galbe_toit(ancre=centre) {
[...]
   !rotate([90,0,0])
     linear_extrude(toit_L+nm, center=true)
      resize([toit_courbure_x,toit_courbure_y])
        circle(r=toit_courbure_x, center=true);
Dessiner en 3D avec OpenSCAD Captur17

Puis je découpe le "bloc toit" suivant le gabarit grâce à la fonction "intersection":
Code:

module toit_avec_galbe(ancre=centre) {
  [...]
  !intersection() {
    bloc_toit(ancre);
    aligne_sur_toit(dessus)
      #gabarit_galbe_toit(dessus);
  }
}
Notez l'utilisation du module "aligne_sur_toit(dessus)" qui permet de positionner l'objet qui suit cet appel en alignement par dessus le bloc toit ainsi que l'appel à "gabarit_galbe_toit(dessus)" indiquant que le gabarit doit être positionné par rapport à son dessus. Le but est de faire correspondre le dessus du "bloc toit" avec le dessus du gabarit de découpe.
Ce ne sont pas des primitives OpenSCAD de base, c'est une méthode que j'ai mise au point pour pouvoir positionner les objets les uns par rapport aux autres, j'y reviendrais dans un prochain post.

Notez également le "#" devant "gabarit_galbe_toit", très utile également pour la mise au point car il met en semi-transparence l'objet devant lequel il est placé, ce qui permet ici de visualiser la découpe effectuée (on ne gardera que ce qui est en jaune):
Dessiner en 3D avec OpenSCAD Captur15
Pour ainsi obtenir cette forme:
Dessiner en 3D avec OpenSCAD Captur16

On va encore affiner le "toit galbé" en arrondissant ses bords grâce à la fonction "minkowski" qui permet de modifier les faces d'un objet par rapport à la forme d'un deuxième objet. Ici on va déformer le pourtour du toit suivant un cylindre de 2mm de diamètre:
Code:

toit_coins_d=2;//arrondi des coins du toit

module toit(ancre=centre) {
[...]
    !minkowski() {
      resize([toit_l-toit_coins_d,toit_L-toit_coins_d])
        toit_avec_galbe();
      cylinder(d=toit_coins_d,h=nm, center=true);
    }
La fonction minkowski() va faire grossir la pièce du rayon du cylindre, il faut donc rétrécir le "toit galbé" d'autant via la fonction "resize".
Dessiner en 3D avec OpenSCAD Captur18

Ne reste que l'ajout du socle pour le bon positionnement et la fixation du toit sur la cabine:
Code:

module toit(ancre=centre) {
[...]
    #aligne_sur_toit(dessous)
      resize([socle_l,socle_L, socle_h])
        bloc_toit(dessus);
Au lieu de recréer un cube pour le socle, on récupère le "bloc toit" brute que l'on retaille aux dimensions du socle et que l'on positionne de façon à ce que son dessus soit aligné sur le dessous du "toit galbé/arrondi":
Dessiner en 3D avec OpenSCAD Captur19


Reste à dessiner le capôt moteur...
Revenir en haut Aller en bas
https://le-forum-du-n.1fr1.net/t4837-belleroche-voie-uniqu
Jicébé
Membre
Membre
Jicébé


Masculin Age : 77
Localisation : Paris
Nombre de messages : 5950
Date d'inscription : 28/07/2008

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeDim 30 Sep 2018 - 23:00

Je viens de faire une étude poussée d'openSCAD.

L'un de ses gros avantage est la possibilité, lorsqu'on a mis au point un objet, est d'en faire un "module" sauvegardé dans un fichier "*.scad".
Ensuite, il suffit d'indiquer au compilateur le nom de ce fichier, et le nom du module à exécuter dans la projet en cours.
Exemple : pour dessiner un module droit double T-TRAK avec un fond de décor de 213 mm de haut (par rapport au plateau du module, avec du bois (ou des parois si imprimante 3D) de 8 mm, et qui déborde de 49 mm côté public, il suffit de taper les deux lignes de code :

Code:
<include <T_TRAK_droit_module.scad>
Module_T_TRAK_Droit (1, 213, 8, 49);

et on obtient :
Dessiner en 3D avec OpenSCAD Presse-papiers03

Dessiner en 3D avec OpenSCAD Presse-papiers02

Explications :
La première ligne indique au compilateur les noms des fichiers déjà existants qu'il doit inclure
La deuxième ligne demande de dessiner un module droit avec les paramètres entre parenthèses


On peut aussi faire des animations :
Dessiner en 3D avec OpenSCAD Essai_3

On peut dessiner un réseau complet :
Voici un module triple encadré par des modules simple, à l'heure de pointe :
Dessiner en 3D avec OpenSCAD Essai_2
Revenir en haut Aller en bas
http://jcbecker.free.fr
Jicébé
Membre
Membre
Jicébé


Masculin Age : 77
Localisation : Paris
Nombre de messages : 5950
Date d'inscription : 28/07/2008

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeDim 30 Sep 2018 - 23:06

[quote="Jicébé"]Je viens de faire une étude poussée d'openSCAD.

L'un de ses gros avantage est la possibilité, lorsqu'on a mis au point un objet, est d'en faire un "module" sauvegardé dans un fichier "*.scad".
Ensuite, il suffit d'indiquer au compilateur le nom de ce fichier, et le nom du module à exécuter dans la projet en cours.
Exemple : pour dessiner un module droit double T-TRAK avec un fond de décor de 213 mm de haut (par rapport au plateau du module, avec du bois (ou des parois si imprimante 3D) de 8 mm, et qui déborde de 49 mm côté public, il suffit de taper les deux lignes de code :

Code:
<include <T_TRAK_droit_module.scad>
Module_T_TRAK_Droit (1, 213, 8, 49);

et on obtient :
Dessiner en 3D avec OpenSCAD Presse-papiers03

Dessiner en 3D avec OpenSCAD Presse-papiers02

Explications :
La première ligne indique au compilateur les noms des fichiers déjà existants qu'il doit inclure
La deuxième ligne demande de dessiner un module droit avec les paramètres entre parenthèses


On peut aussi faire des animations :
Dessiner en 3D avec OpenSCAD Essai_3

On peut dessiner un réseau complet :
Voici un module triple encadré par des modules simple, à l'heure de pointe :
Dessiner en 3D avec OpenSCAD Essai_2
Revenir en haut Aller en bas
http://jcbecker.free.fr
droopy
Membre
Membre
droopy


Masculin Age : 79
Localisation : Marne La Vallée / Cornouaille
Nombre de messages : 2362
Date d'inscription : 28/12/2007

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeLun 1 Oct 2018 - 7:54

Ca, si c'est pas des arguments pour s'intéresser à OpenSCAD !

Merci Jean Claude.
Revenir en haut Aller en bas
Jicébé
Membre
Membre
Jicébé


Masculin Age : 77
Localisation : Paris
Nombre de messages : 5950
Date d'inscription : 28/07/2008

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeLun 1 Oct 2018 - 23:39

OpenScad, c'est comme la conduite d'une automobile : il y a deux niveaux d'utilisateurs :

Pour l'automobile :
Il y a les "très bons" qui construisent et entretiennent eux-même la voiture qu'ils conduisent.
Et il y a "les autres" qui, comme moi, l'achètent toute faite, et la font entretenir par un garagiste.

Pour openSCAD, il y a les "très bons", à l'aise dans le logiciel comme un poisson dans l'eau, et capable de concevoir d'excellents "modules openSCAD", et acceptent éventuellement de les rendre publiques.
Et il y a les "très mauv... Embarassed heu... pale très bons, bien  qu'un peu moins, qui se contentent surtout de manipuler les "modules openSCAD" ds personnes de la première catégorie.

Du haut de mes quelques dizaines de décennies de programmation informatique, et de quelques années de PEGC Math/Physique/Chimie enseignant la géométrie, j'ai tendance à me placer dans la première catégorie.
J'ai donc entrepris de mettre de l'ordre dans le bord..., bric-à-brac, l'ensemble de mes fichiers *.scad, et de permettre à tout le monde de les télécharger facilement et de les utiliser gratuitement.

J'ai commencé un brouillon (ce n'est encore qu'un brouillon) page Dessiner_des_modules_en_3D/

Par la suite, je compte y rajouter de quoi dessiner aussi les modules (maquettes) et les voies ferrées des normes "N" et Nm françaises.

Bonne lecture
Revenir en haut Aller en bas
http://jcbecker.free.fr
Belleroche
Membre
Membre
Belleroche


Masculin Age : 48
Localisation : Etival-Lès-Le-Mans
Nombre de messages : 1868
Date d'inscription : 09/01/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeJeu 3 Jan 2019 - 11:03

Bonjour à tous,

petit up avec le peaufinage de la face de l'EAD modernisé:
Dessiner en 3D avec OpenSCAD Captur28
Dessiner en 3D avec OpenSCAD Captur30



Reste a mettre en place le système de fixation sur la caisse.
Revenir en haut Aller en bas
https://le-forum-du-n.1fr1.net/t4837-belleroche-voie-uniqu
Jicébé
Membre
Membre
Jicébé


Masculin Age : 77
Localisation : Paris
Nombre de messages : 5950
Date d'inscription : 28/07/2008

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeVen 4 Jan 2019 - 0:08

Pas mal du tout !
Revenir en haut Aller en bas
http://jcbecker.free.fr
Raalovely
Membre
Membre
Raalovely


Masculin Age : 73
Localisation : Ain
Nombre de messages : 1733
Date d'inscription : 16/01/2015

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeVen 4 Jan 2019 - 7:37

Bonjour,
J'ai essayé OpenScad brrrr trop compliqué pour moi, donc je garde DesignSpark Mechanical, voila quelques dessins et impression.
Dessiner en 3D avec OpenSCAD Depot10

Dessiner en 3D avec OpenSCAD Gare_d10

Dessiner en 3D avec OpenSCAD Gare_d10

Dessiner en 3D avec OpenSCAD Immeub11

Dessiner en 3D avec OpenSCAD Immeub10

Meilleurs vœux à touset à toutes
Revenir en haut Aller en bas
https://cults3d.com/fr/cr%C3%A9ations/les-miennes
Belleroche
Membre
Membre
Belleroche


Masculin Age : 48
Localisation : Etival-Lès-Le-Mans
Nombre de messages : 1868
Date d'inscription : 09/01/2009

Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitimeDim 6 Jan 2019 - 8:45

Et voilà le rebord ajouté sur lequel la caisse en photodécoupe va venir s'appuyer, les trous en bas vont permettre d'immobiliser la face:
Dessiner en 3D avec OpenSCAD Captur32
Dessiner en 3D avec OpenSCAD Captur31

Reste à imprimer...

OpenSCAD prend tout son intérêt à partir de cette étape.
Le modèle est dessiné -ca on peut le faire avec tous les logiciels 3D- mais il est surtout paramétrique, ca veut dire que des variables peuvent être changés pour ajuster le modèle sans avoir à retoucher au dessin.

Par exemple ici je ne sais pas si l'épaisseur dégagée sur le rebord pour la caisse en photodécoupe sera suffisante après impression, pour l'instant il est à 0.3mm:
Code:
ep_photodec=0.3;
Il suffira d'augmenter cette valeur si ce n'est pas le cas.

Je ne sais pas non plus quelle est l'épaisseur de matière optimale, le plus fin sera le mieux (moins de matière=moins cher) mais il ne faut pas que ca casse... Pour cette première impression je reste conservateur a 0.8mm d'épaisseur:
Code:
ep_face=0.8;
Revenir en haut Aller en bas
https://le-forum-du-n.1fr1.net/t4837-belleroche-voie-uniqu
Contenu sponsorisé





Dessiner en 3D avec OpenSCAD Empty
MessageSujet: Re: Dessiner en 3D avec OpenSCAD   Dessiner en 3D avec OpenSCAD Icon_minitime

Revenir en haut Aller en bas
 
Dessiner en 3D avec OpenSCAD
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Aide - Beaucoup de mal à dessiner / créer mon réseau
» Application pour dessiner un plan de réseau ( tablette )
» Souci pour dessiner une rampe hélicoïdale sous Anyrail
» comment faire un reset d un decodeur avec son avec une Mobile Station TRIX systems
» Digitaliser ET420 Arnold avec prise NEM651, avec control indépendant d’éclairage et feux.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
1/160 - Echelle N :: Modèles réduits à l'echelle N :: Matériel roulant N :: Impression 3D-
Sauter vers: