2. Conception Assistée par Ordinateur (CAO)#

Cette semaine je me suis familiarisé avec des logiciels CAD et j’ai designé un objet à l’aide de openSCAD.

Logiciels CAD#

Les logiciels CAD (Computer Aided Design) sont des programmes de modélisations géométriques 3D et 2D qui remplacent le dessin manuel par un processus automatisé.

Un logiciel 2D intéressant est Inkscape. Il est gratuit, open-source et permet de réaliser des images vectorielles.

Image matricielle vs image vectorielle pour logiciels 2D (Inkscape)#

Une image matricielle est composée de beaucoup de petits pixels colorés (rouge, bleu, vert) qui ensemble forment une image nette. En “zoomant” dans une image on peut les observer.

La redimension d’une image matricielle affecte sa qualité de résolution. Pour les redimensionner on peut utiliser GIMP par exemple.

Une image vectorielle n’est pas composée de pixels, ainsi on peut agrandir et rétrécir l’image sans perdre en qualité. Pour ce faire, faut modifier le code tout simplement, car les images vectorielles sont créées par codage. Elles sont composées de formes géométriques. Souvent les logos d’entreprises sont composés de ce type d’image.

2 logiciels pour traiter les images vectorielles sont: Inkscape ou AutoCAD (pas open-source)

Modéliser sur openSCAD (logiciel 3D)#

Le but de ce module est d’apprendre à utiliser un logiciel de conception 3D afin d’imprimer une pièce mobile par la suite à l’aide des imprimantes 3D. Ainsi, je me suis familiarisé avec le logiciel openSCAD qui fonctionne par images vectorielles. OpenSCAD est un logiciel de modélisation libre (license GPL),qui est multiplateforme, opensource et gratuit. IL nécessite l’écriture de scripts (code informatique) qui décrivent les objets 3D qui composent le modèle à l’aide de fonctions mathématiques, boucles et formes de bases.

Voici les bases à connaitre pour modéliser sur openSCAD:

Personnellement, j’ai appris les bases du logiciel à l’aide de tutoriels tuto openscad et cheatsheet et les tutoriels youtube tuto youtube

OpenSCAD connait quelques formes géométriques de bases:

  • sphere(radius | d=diameter)
  • cube(size, center)
  • cube([width,depth,height], center)
  • cylinder(h,r|d,center)
  • cylinder(h,r1|d1,r2|d2,center)

Voici le code d’un cube par exemple:

cube(size = [x,y,z], center = true/false);
cube(size =  x ,     center = true/false);

Il est important d’ajouter “;” après les formes que openSCAD connait. Alt text

Pour des formes rondes la fonction “$fn” est très utile pour la netteté de la courbure. Elle détermine en fait le nombre de facettes utilisées pour la courbure (un peu comme des pixels). Voici un exemple: Une sphere de définition $fn = 10, qui ne ressemble pas vraiment à une sphère. Alt text Pour remédier à ce problème on augmenter le nombre de “facettes”: $fn = 100 Alt text

Opérations boléennes sont forts utiles aussi: Elles servent à combiner plusieurs formes ensemble en de formes plus complexes. La différence par exemple soustrait une forme géométrique ou plus à une autre (un trou cylindrique dans un cube par exemple).

  • l’Union
side=10;
union(){
    cube(side, center=true); 
    sphere(r=side/sqrt(2));
}
  • La différence
difference(){
    side=10;
    cube(side, center=true); 
    sphere(r=side/sqrt(2));
}
  • hull( )
  • intersection( ) …

On peut aussi effectuer des transformations:

  • translate( )
  • rotation ( )

Alt text

Ensuite, après avoir acquis les bases de modélisation sur openSCAD, notre exercice était de s’inspirer d’objets FlexLinks déjà existant et d’y ajouter des modifications pour créer notre propre objet en groupe en scindant l’objet en plusieurs pièces. Malheureusement, j’étais absent lors de la séance dédiée à cet exercice et du coup je me suis retrouvé sans groupe. Par faute de non-chalance, j’ai essayé de rejoindre un groupe trop tard car chacun était déjà en fin de modélisation de leur objet. Du coup j’ai décidé de faire un objet simple dont je modéliserais moi-même les différentes pièces qui le compose.

Ainsi, j’ai modélisé un objet simple avec une fonction cela-dit pas vraiment utile. Mon modèle est composé de 2 pièces qu’il faut modéliser paramétriquement pour qu’elles soient compatibles.

Mon premier objet sert tout simplement de socle et d’attache à mon deuxième objet. Voici le code correspondant au modèle:

Alt text

Il fallait faire attention à ce que le cylindre centrale ait une taille assez conséquante pour que la deuxième pièce puisse s’attacher mais sans qu’il dépasse des 2 côtés du parallélipipède. Pour ce faire, il fallait effectuer une translation sur l’axe des z.

J’y ai aussi ajouté un deuxième cube au centre pour supporter la deuxième pièce qui sera attachée au cylindre centrale pour qu’elle ne cogne pas contre le socle quand on la tourne.

Le deuxième modèle demandait de l’adaption au premier, donc plus de précision.

Alt text

En ce qui concerne le deuxième modèle, plusieurs difficultés sont survenues. Premièrement, le cylindre creux dans le parallélipipède devait avoir un diamètre légèrement supérieur à celui du modèle 1 afin de pouvoir se mouvoir autour de celui-ci. Ensuite, sa résolution doit correspondre à la même que l’autre cylindre ($fn = 20). Pour la capsule qui pourra contenir des objets, il faut faire la différence de plusieurs sphères afin d’obtenir une demi-sphère creuse comme résultat. La sphère intérieure doit avoir un diamètre proche de la sphère extérieur pour ne pas gaspiller de la matière lors de l’impression: sphere 1(6) sphere 2(5.2) par exemple. Finalement, il fallait aussi soustraire une sphère à l’extrémité du parallélipipède pour obtenir une fin incurvée et adapter selon celle-ci la translation de la capsule.

Voici encore quelques modèles 3D flexibles dont on peut s’inspirer. compliants mechanisms

Creative commons licenses#

Creative commons licenses est une organisation qui offre un ensemble de licenses gratuites et permet à n’importe quelle personne, d’un créateur individuel à de larges institutions de donner des droits/ permissions publiques d’auteurs à leurs travaux de création. N’importe quel utilisateur externe est soumis aux lois de copyright pour utiliser votre création si vous avez une licence (CC). Elles établissent les conditions d’utilisations d’un travail.

Il existe plusieurs types de licences CC: - CC BY - CC BY-SA - CC BY-NC - CC BY-NC-SA - CC BY-ND - CC BY-NC-ND - CC0

Je ne vais pas décrire chacune d’entre elle ici, mais pouvez trouver plus d’informations ici Creative commons et ici.

Pour nous habituer à mettre des licences CC sur nos projets créatifs, nous devons en ajouter une à nos modèles 3D openscad. Personnellement, j’ai choisi la licence CC BY-SA 4.0 qui permet toutes exploitations de l’oeuvre ou des oeuvres dérivées (partager, copier, reproduire, distribuer, réutiliser, adapter…), y compris pour des raisons commerciales, par tout moyen et tout format. Les seules conditions sont: 1. créditer les créateurs de la paternité de l’oeuvre originale et indiquer les sources (obligation d’attribution) 2. utiliser la même licence après modification. C’est-à-dire de diffuser les nouvelles oeuvres selon des conditions identiques.

Wikipédia fonctionne selon cette licence. Sur l’image suivante on voit les détails de la licence CC BY-SA

Alt text

Ici j’ai ajouté la licence à mon modèle openscad et maintenant tout le monde peut utiliser mon modèle dans les conditions sus-mentionnées.

Alt text