Cet article décrit la façon de procéder pour importer un model 3D au format STEP, le convertir en POV et l'utiliser avec Eagle3D.

Jusqu'à maintenant je développais mes composants en utilisant les objets de base tels que des "box", "cylinder", "tore" etc. et en les associant à l'aide de fonctions telles que "union", "difference", "intersection", "merge".

Il existe également une autre façon de coder une forme 3D qui peut s'appliquer à toute les formes, il s'agit des objets mesh et mesh2 de POV. Ces objets sont composés de coordonnées de triangles qui une fois réunis ensemble donnent une forme quelconque telle que ce dauphin.

La totalité des CAO 3D utilise ce procédé car les cartes graphiques 3D sont basées sur ce même principe. Cela permet l'affichage de scène 3D en des temps très court. Bien sûr la qualité du rendu n'est pas aussi soignée que celle de POV-Ray car les calcules de reflets et d'ombres sont négligés.

Sur ZukenSur AltiumSur Altium

Cependant de nombreux composants sont et seront développés pour les utilisateurs de ces CAO. Il est donc tentant de chercher à bénéficier de ces models 3D. De nombreux formats d'échange existent entre les divers CAO, l'un d'eux semble assez répandu dans de nombreux corps de métier y compris celui de l'électronique, il s'agit du format STEP (Standard for the Exchange of Product model data) couvert par la norme ISO 10303-21:2000.

Le but est donc d'abord de trouver puis de convertir le format STEP en POV (.inc)

Quelques sites contenant des composants au format STEP sont ici.

Pour la conversion, j'utilise le logiciel libre FreeCAD téléchargable sur http://juergen-riegel.net/FreeCAD/Docu/index.php?title=Main_Page

La version 0.9 R2863 for Windows a remis en place la fonction Raytracing qui avait été retirée à partir de la 0.7 R1779.

ATTENTION ! Il semble que la conversion STEP vers POV ne fonctionne hélas pas sur tous les modèles.

Toutefois il a été constaté qu'en utilisant un modèle IGES le problème peut se résoudre.

Une fois votre modèle STEP téléchargé et dézippé et le logiciel FreeCAD installé, choisir la langue dans les préférences du menu Edit.

Il suffit maintenant d'ouvrir le fichier du modèle (.step ou .stp). Par exemple ce connecteur MOLEX.

On sélectionne ensuite "Raytracing" dans la liste déroulante de la barre de tâches (Basculer entre les établis).



puis on indique le dossier de sortie include de povray à l'aide des "Préferences" -> "Raytracing" dans le menu "Editer".

Effectuez la conversion de l'objet "Part" vers POV en cliquant sur le troisième item du menu Raytracing -> Export part to povray...

On l'enregistre sous le nom : "con_molex_441331200" indiquant la famille, la marque  et la référence.

Son extension sera .pov par défaut mais on utilisera plutôt .inc pour en faire un fichier include de povray.

On obtient le fichier con_molex_441331200.inc dans le dossier par défaut défini ci-avant.

Plaçons le dans le dossier "Include" de POV et ouvrons le. Il est composé de plusieurs déclarations d'objet de type mesh2 nommés Part1 jusqu'à Part252.

En fin de fichier on trouve une déclaration Part qui fait l'union de toutes les précédentes.

Afin de pouvoir utilisé ce fichier avec Eagle3D quelques modifications sont nécessaires.

1) Pour faire cohabiter plusieurs composants dans un même projet il est nécessaire de remplacer les "Part" par un nom unique, par exemple "con_molex_441331200_".

Le caratère underscore à la fin de la chaîne sert à séparer le numéros de mesh.

2) Changer la déclaration par une macro en lettres capitales et sans l'underscore.


3) En fin de fichier, ajouter des rotations et translations si nécessaires ainsi qu'une texture ou un pigment et n'oublier le #End pour clôturer la macro.

Supprimer la section objet sélectionnée en noir.

4) Ajouter une ligne de déclaration du fichier con_molex_441331200.inc dans le fichier user.inc

5) Pour un essai rapide du composant seul, j'utilise un fichier pov que j'ai nommé atelier et téléchargeable ici.

On place un objet con_molex_441331200 à la fin

On effectue quelques réglages (situés en milieu de fichier).

La variable "Vue" détermine l'angle de prise de vue (selon les notes de 0 à 11),

"D" est la distance caméra / objet,

"dx" "dy" et "dz" sont des décalages supplémentaires de la caméra,

Target à 1 oblige une vue à angle droit.

On Run l'atelier et à ce stade le composant a l'aspect ci dessous, c'est à dire qu'il est complètement gris 50% la couleur du pigment{Gray50} ajouté en fin de fichier.

Cependant on est souvent en présence de composants multicolore et il est donc nécessaire de changer la couleur de certaines parties de l'objet.

Les numéros des partie de l'objet sont visible sous FreeCad en passant le curseur au dessus le l'objet. Il faut les noter afin de les changer de couleur au niveau du fichier inc.

La barre d'état indique la face 102 en surbrillance.

6) Dans cette autre exemple, il nous faut donc chercher les parties en plastique et leur affecter une couleur. Ici la chance est avec nous car les parties 1 à 27 sont les surfaces du plastique tandis que les parties restantes sont en métal. Donc deux unions avec leur couleur ou texture et on obtient ça.

Dans le fichier 3DUSRPAC.DAT on place la ligne d'assignment :

MOLEX09652029:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:CON_MOLEX_09652029(:Connector Molex 09652029:

Comme vu plus haut, on inclut le fichier dans le fichier USRER.INC .

#include "MOLEX_09652029.inc"

On lance l'ULP et on vérifie la position du composant par rapport à son empreinte, éventuellement on ajoute un translate. Ici le circuit subit une rotation de 180° en x et 90° en z en modifiant directement les paramètres du fichier .pov de la carte pour aller plus vite, pas besoin de relançer l'ULP.

Décalage de 4.6mm en z et voila.

Le connecteur touche bien le circuit ?

#local pcb_rotate_x = 60
#local pcb_rotate_y = 0

Voila pour une première approche sur le sujet, il est bien sûr plus ardu de réaliser une importation sur un composant multicolore car toutes les surfaces doivent être repérées et ajoutées dans le fichier .inc

Ancienne page