2. Conception Assistée par Ordinateur (CAO)#
Cette semaine, l’objectif est de découvrir l’usage de logiciels de CAO (Conception Assistée par Ordinateur) et d’arriver à modéliser un Flexlinks à l’aide d’un programme de dessin 3D de notre choix.
2.1 Logiciels à installer#
Voici les programmes conseillés pour se familiariser avec la modélisation.
- Inkscape
- OpenSCAD
- FreeCAD
2.2 Inkscape#
Inkscape permet de faire des modèles en 2D et peut être un outil intéressant (surtout si vous savez dessiner ;) ) car il permet de réaliser des images vectorielles plutôt que matricielles. Les images vectorielles ont comme avantage d’être non pixelisées donc on peut les agrandir à l’infini sans perdre en qualité ! Un autre avantage est que ces images-là sont bien plus légères que leurs équivalentes matricielles.
2.3 OpenSCAD#
Pour la partie 3D, j’ai choisi d’utiliser OpenSCAD.
Pour ce programme, pas besoin d’être un artiste, tout est basé sur du codage informatique. Ici vous trouverez un récapitulatif de toutes les fonctions utiles à votre modélisation.
2.3.1 Les bases#
Le meilleur moyen, selon moi, pour se familiariser rapidement est de visionner des tutos sur Youtube et surtout d’expérimenter soi-même. Dans le tableau ci-dessous, j’ai représenté les commandes pour les formes géométriques les plus simples. Ce sont également celles qu’on utilisera le plus.
2D | 3D | Argument |
---|---|---|
circle |
sphere |
radius ou d=diameter |
square |
cube |
size, center : [width,(depth,) height], center |
polygon |
[points] ou [points], [paths] | |
cylinder |
height, radius or diameter, center |
Voici un exemple pour une sphère de rayon 15 :
Dans l’éditeur, j’écris mon code sphere(r = 15);
. Pour afficher le résultat, j’appuie sur le 8ème bouton de la barre de l’éditeur ou la touche F5 de mon clavier.
Remarque: Il ne faut pas oublier de terminer la ligne par un ‘;’ sinon le programme ne pourra pas lire votre instruction !
Voici ce qui s’affiche :
Remarquez que, par la simple commande $fn = (150);
la sphère devient lisse. Cette commande permet de déterminer le nombre de facettes. Cependant, le temps d’exécution augmente selon le nombre inscrit. Evitez donc d’indiquer un trop grand nombre.
2.3.2 Opérations booléennes :#
On peut aussi complexifier en combinant certaines formes, cela se fait avec des opérations booléennes :
union()
difference()
intersection()
hull()
J’ai d’abord intégré les deux formes qui m’intéressaient.
Pour centrer le cube, j’utilise la commande center = true
Enfin, pour soustraire les deux, j’emploie la commande difference(){}
2.3.3 Transformation#
Une fois le modèle importé, on peut le transformer de différentes manières.
Transformation | Argument |
---|---|
Translate |
[x,y,z] |
Rotate |
[x,y,z] ou a,[x,y,z] |
Scale |
[x,y,z] |
Resize |
[x,y,z], auto, convexity |
Mirror |
[x,y,z] |
On peut bien sûr effectuer plusieurs transformations en une seule fois en utilisant “;” à la fin d’une séquence de transformation. Cette séquence se place en amont de la pièce à transformer.
Pour visualiser le rendu final, j’utilise le 9ème bouton dans la barre de l’éditeur ou la touche F6 de mon clavier. Ensuite, j’enregistre en format .stl afin de pouvoir l’imprimer par après.
2.3.4 Remarques#
Dans un premier temps, il n’est pas nécessaire de se préoccuper des unités. Il est même conseillé de travailler de manière paramétrique. Cela nous permet de changer plus facilement les coordonnées une fois que le code est totalement terminé.
Consernant les unités, on peut considérer qu’il s’agit de millimètres mais en réalité, on définira les mesures précises seulement lorsqu’on importera notre fichier pour aller le faire imprimer à l’imprimante 3D.
2.4 Flexlinks#
Maintenant que nous maîtrisons ces outils, nous pouvons nous lancer dans la réalisation de notre Flexlink. Voici celui que j’ai réalisé :
J’ai rencontré quelques difficultés au début car je ne m’étais pas encore assez entraînée. Je vous conseille donc vraiment de commencer par jouer avec tous les outils. Au plus vous vous habituez à coder des choses simples, au plus facile ce sera de se lancer dans des modèles plus complexes.
Le code qui m’a permis de réaliser mon FlexLink est le suivant :
// File : Flexlinks_Lego_Module2_JD.scad
// Author : Juliette Debure
// Date : 24 octobre 2023
// License : Creative Commons Attribution-ShareAlike 4.0 International [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
$fn = 50;
//Paramètres
h = 2.5; // hauteur du flexlink
d = 50; // longueur de la tige
w = 1; // épaisseur de la tige
rc = 4; // rayon des extrémités
e = 8; //disstance entre les centres des trous
hole = 2.5; //rayon des trous
//tige
translate([-w/2, e+rc,0])
//w/2 pour centrer la tige
cube([w,d,h]);
//extremité 1
difference(){
union(){
cylinder(h,r=rc);
translate([0,e,0])
cylinder(h,r=rc);
translate([-rc,0,0])
cube([2*rc, e, h]);
}
cylinder(h, r=hole); //trou 1
translate([0,e,0])
cylinder(h,r=hole); //trou 2
}
//Extremité 2(double cylindre)
//la même mais avec un translate en plus
difference(){
union(){
translate([0,d+(2*rc+e),0]){
cylinder(h,r=rc);
translate([0,e,0])
cylinder(h,r=rc);
translate([-rc,0,0])
cube([2*rc, e, h]);
}
}
translate([0,d+(2*rc+e),0]){
cylinder(h, r=hole); //trou 3
translate([0,e,0])
cylinder(h,r=hole); //trou 4
}
}
Les paramètres choisis sont bien sûr modifiables selon les dimensions voulues.
2.5 LEGO#
Je me lance désormais dans la réalisation d’un objet de type “LEGO” sur lequel j’aimerais pouvoir assembler mon Flexlink précédemment créé.
Pour être sûr du diamètre, je vais effectuer un Lego test qui me permettra de connaître le diamètre exact sur lequel je pourrai fixer mon FlexLink.
J’ai d’abord schématisé pour mieux visualiser. Je pensais d’abord me limiter à 5 tailles différentes mais finalement j’ai opté pour 7 rayons différents. Cela m’assure de trouver celui qui sera idéal.
Pour mon FlexLink, le rayon des trous vaut 2.5 mm. J’ai donc effectué des tests tous les 0.1 mm de rayon en partant de 2.1 mm jusqu’à 2.7 mm.
Pour cela, j’ai écrit le code suivant :
// File : Lego_Test_Module2_JD.scad
// Author : Juliette Debure
// Date : 24 octobre 2023
// License : Creative Commons Attribution-ShareAlike 4.0 International [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
$fn = 70;
cube([70,10,10], center = true);
cylinder(h = 8 , d = 4.8);
translate([10,0,0]){
cylinder(h = 8 , d = 5);
translate([10,0,0]){
cylinder(h = 8 , d = 5.2);
translate([10,0,0])
cylinder(h=8 , d = 5.4);
}
}
translate([-10,0,0]){
cylinder(h = 8 , d = 4.6);
translate([-10,0,0]){
cylinder(h = 8 , d = 4.4);
translate([-10,0,0])
cylinder(h = 8 , d = 4.2);
}
}
Et voilà le résultat :
Quand j’aurai imprimé mes objets (voir Module 3), je pourrai tester quelle est la taille parfaite pour que ceux-ci s’emboitent.
2.6 Licence Creative Commons (CC)#
2.6.1 Qu’est-ce qu’une licence CC ?#
Vous avez pu remarquer que mes codes commencent systématiquement par une licence. Mais à quoi servent-elles ?
Les licences Creative Commons fournissent une méthode standardisée pour accorder au public la permission d’utiliser des créations tout en respectant la législation sur le droit d’auteur. Pour ceux qui souhaitent réutiliser ce contenu, la présence d’une licence CC sur une œuvre protégée par le droit d’auteur répond à la question : “Quelles utilisations sont permises pour cette œuvre ?”
Il existe plusieurs types de licences. Voici une liste de six types de licences, classées de la plus permissive à la moins permissive.
Acronyme | Description |
---|---|
CC BY |
Crédit obligatoire à l’auteur |
CC BY-SA |
Adaptation autorisée, mais crédit à l’auteur |
CC BY-NC |
L’utilisateur ne peut pas utiliser cette œuvre à des fins commerciales, doit créditer l’auteur |
CC BY-NC-SA |
Adaptation autorisée mais non commerciale et crédit à l’auteur |
CC BY-ND |
Crédit à l’auteur et l’utilisateur ne peut pas modifier ou adapter cette œuvre |
CC BY-NC-ND |
Non commercial, Non modifiable, crédit à l’auteur |
Citons également la licence CC 0, la plus permissive car elle signifie ” Aucun droit réservé “.
2.6.2 Comment créer une licence pour notre travail ?#
Pour licencer notre code, il suffit de citer la licence désirée et de placer le lien vers la page des licences.
// File : Flexlinks_Lego_Module2_JD.scad
// Author : Juliette Debure
// Date : 24 octobre 2023
// License : Creative Commons Attribution-ShareAlike 4.0 International [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
2.7 Conclusion#
Ce module m’a appris à utiliser OpenSCAD, un logiciel de modélsation 3D et Inkscape. J’ai donc appris à modéliser des objets et de les préparer à une impression 3D future. Je sais maintenant aussi comment fonctionnent les licences et comment les appliquer à mes travaux.
Prochaine étape -> Impression 3D !
2.8 Checklist#
Voici la checklist du module 2:
- parametrically modelled some FlexLinks using 3D CAD software
- shown how you did it with words/images screenshots
- included your original design files
- included the CC license to your work
- documented how you used other people’s work and gave proper credit to complete your kit