[TUTO] Avoir un beau rendu 3D de son PCB avec KiCAD
Posté : 21 févr. 2019, 12:48
Salut à tous,
À la demande générale, voici un petit tuto pour faire de belles images 3D de vos PCBs sous KiCAD
Et au fond, c'est très simple : avec les libs standard KiCAD, beaucoup d'empreintes ont un modèle 3D associé. Donc en premier lieu, vous faites votre PCB, par exemple un truc qui ressemblerait à ça :

Ensuite, dans le menu Affichage, cliquez sur 3D Visualisateur, et une nouvelle fenêtre s'ouvre :

Vous avez alors une vue 3D de votre PCB avec ses composants, que vous pouvez zoomer avec la molette de la souris, déplacer en cliquant sur la molette, ou faire tourner en cliquant sur le bouton gauche.
N'hésitez pas à fouiller dans les menus pour découvrir les différentes options, les principales étant :
Non, ça suffit pas ? Bon, très bien, vous l'aurez voulu
Donc, reprenons : dans la petite capture ci-dessus, on voit bien qu'il manque quelques composants, en l'occurrence les supports de tubes, ainsi qu'un petit bornier situé dans le coin supérieur gauche.
Il se trouve que ces composants n'ont pas de modèle 3D associé dans la lib standard KiCAD, malheureusement. Qu'à celà ne tienne, on va bien trouver une solution !
Commençons par la partie compliquée : les tubes !
En fait, les empreintes fournies par KiCAD (Valve_ECC-83-2 dans mon cas) sont faites pour les sockets classiques tels que ceux-ci, pas particulièrement prévus pour un montage sur PCB à la base...
Pour un projet comme celui-ci, on préfèrerait des sockets pour PCB, comme ceux-ci ou encore ceux-là.
En fouillant un peu sur la grande ternette, je suis tombé sur un repo Github contenant des empreintes de tubes un peu plus sympas dans la branche Valve_3D_06, plus particulièrement dans ce dossier.
On y trouve notamment un fichier Valve_Noval-B9A_Belton-VT9-PT_Socket.kicad_mod qui semble correspondre parfaitement à ce qu'il nous faut, pour le télécharger il faut faire comme suit :
Eh bien on commence par se le mettre de côté sur son disque, idéalement dans un dossier dédié (une lib perso, quoi), puis on va l'ajouter à notre projet.
Pour ça, je recommande de créer un dossier ProjectLib.pretty dans le répertoire du projet KiCAD (et dans lequel on copiera l'empreinte téléchargée), et ajouter ce dossier aux libs d'empreintes (menu Préférences -> Configurer les Librairies d'Empreintes...) : on commence par cliquer sur le bouton Ajouter Librairie, puis on entre ProjectLib dans la case Pseudo nom et ${KIPRJMOD}/ProjectLib.pretty dans la colonne Chemin Librairie.

Ceci indiquera à KiCAD d'aller chercher les empreintes de la lib ProjectLib dans le dossier ProjectLib.pretty, lui-même situé dans le dossier du projet (assez utile pour partager un projet avec des empreintes non disponibles dans la lib standard).
Une fois ceci fait, on peut substituer l'empreinte sur notre PCB, point que je ne détaillerai pas, ce qui donne le résultat suivant :

Et voici la visu 3D correspondante :

Pas beaucoup mieux, n'est-ce pas ?
Bon, on revient sur notre PCB, et on édite l'une des empreintes de socket, soit en double-cliquant dessus, soit avec le raccourci clavier E (pendant que la souris est sur le socket, bien sur). Dans la fenêtre qui s'ouvre, on clique sur l'onglet Paramètres 3D tout en haut, et ça devrait donner ceci :

Dans la liste du haut, on voit 2 entrées, correspondant à des fichiers situés dans ${KISYS3DMOD}/Valve.3dshapes, c'est-à-dire le répertoire Valve.3dshapes du dossier des modules 3D de la lib standard KiCAD. Ces données sont fournies par le fichier d'empreinte, mais comme celui-ci ne vient pas de la lib standard, il y a peu de chances que le modèle 3D s'y trouve, forcément
Bref, un petit tour sur github, et on voit que la même personne possède un repo dédié aux modèles 3D, dans lequel on trouve dans une branche Valve_3D_08 un dossier Valve.3dshapes contenant plein de fichiers très intéressants.
Nous allons donc télécharger les fichiers Valve_Noval-B9A_Belton-VT9-PT_Socket.wrl et Valve_Tube_Noval-B9A.wrl qui correspondent à ce qu'on a vu dans la fenêtre précédente, et les placer dans un dossier 3D situé dans notre répertoire projet.
Une fois ceci fait, nous allons modifier les noms des fichiers en cliquant sur le bouton Éditer Nom Fichier et en remplaçant (pour les 2 fichiers) ${KISYS3DMOD}/Valve.3dshapes par ${KIPRJMOD}/3D, ce qui donne (après un petit zoom et recadrage de la prévisualisation) le résultat suivant :

On peut donc afficher à nouveau notre visu 3D :

Et là, nouveau hic, nos modifs n'ont impacté que l'empreinte sur laquelle nous avons cliqué ! Dans le cas où on n'a que 2 ou 3 exemplaires d'une empreinte sur un PCB, on peut reporter les modifs manuellement, mais on peut aussi modifier directement le fichier empreinte pour lui indiquer le bon chemin où chercher les fichiers 3D. Une fois ceci fait (soit avec un éditeur de texte, soit directement avec l'éditeur d'empreintes de KiCAD, mais ce n'est pas le sujet de ce tuto), il suffit de substituer à nouveau les empreintes pour appliquer les changements :

Bien, le plus dur est fait, voyons maintenant ce bornier à vis !
N'ayant pas trouvé de modèle 3D adapté dans les libs KiCAD, que ce soit dans le standard ou chez un développeur tiers (bon, je n'ai pas cherché longtemps, j'avoue), il va falloir aller regarder ailleurs.
Le patron m'ayant fait découvrir GrabCAD il y a peu, c'est là que je suis allé fouiller, et effectivement il y a de la matière ! En cherchant screw terminal (oui, mieux vaut utiliser les désignations anglaises) je suis tombé sur ce modèle qui semble coller parfaitement.
NOTE IMPORTANTE : GrabCAD vous permet d'utiliser les fichiers présents sur le site uniquement pour un usage interne et non-commercial. Concrètement, ça veut dire que vous pourrez faire de jolies images, mais n'avez absolument pas le droit de partager ces fichiers, ce qui peut être gênant si vous voulez rendre vos fichiers publics (il suffira de ne pas inclure le dossier 3D dans la copie que vous partagerez, tout fonctionnera normalement mais il manquera certains modèles 3D à vos destinataires s'ils veulent faire un rendu de leur côté).
Après l'avoir téléchargé, on colle le fichier Screw Terminal Block 5mm Blue 2-way.step dans le dossier 3D de notre projet, et on peut passer à l'édition d'empreinte du bornier, qui ressemble sans surprise à ça :

On supprime la ligne existante de la liste en cliquant sur le bouton Suppr. Forme 3D, puis on ajoute une nouvelle ligne avec Ajout Forme 3D. On navigue alors dans notre dossier 3D, puis on sélectionne le fichier en question :

Bon, on s'approche, même s'il y a visiblement encore quelques réglages à faire :


Pour celà, on va regarder dans la partie gauche de la fenêtre et jouer avec les valeurs de rotation et d'offset jusqu'à trouver les bonnes valeurs, ici il faudra indiquer :

Et surtout, que le pins tombent bien dans les trous prévus à cet effet :

À noter que si le modèle 3D est trop petit ou trop grand par rapport à l'empreinte (ce qui se verra notamment à l'espacement des pins, qui tomberont à côté des trous), on peut jouer sur le paramètre Échelle, là encore sur les axes X, Y et/ou Z, pour adapter le modèle à la taille de l'empreinte.
Le rendu final est donc complet et plutôt sympa (pour cette fois j'ai activé le raytracing) :

BONUS
Pour aller plus loin, par exemple si on a plusieurs PCBs pour un même projet, ou si on veut ajouter d'autres éléments à notre visu qui ne peuvent pas être gérés par KiCAD (des vis, un boitier etc...), il va falloir changer de logiciel.
Pour ce faire, on va commencer par exporter notre visu 3D dans un fichier VRML, en passant par le menu Fichier -> Exporter -> VRML. Idéalement il faut choisir une origine proche du centre du PCB, et les unités seront en mm :

Ensuite, il ne reste qu'à ouvrir le fichier avec FreeCAD, et une fois qu'on en a terminé, on peut exporter la vue courante via le menu Outils -> Enregistrer l'image... :

Et voilà
À la demande générale, voici un petit tuto pour faire de belles images 3D de vos PCBs sous KiCAD

Et au fond, c'est très simple : avec les libs standard KiCAD, beaucoup d'empreintes ont un modèle 3D associé. Donc en premier lieu, vous faites votre PCB, par exemple un truc qui ressemblerait à ça :

Ensuite, dans le menu Affichage, cliquez sur 3D Visualisateur, et une nouvelle fenêtre s'ouvre :

Vous avez alors une vue 3D de votre PCB avec ses composants, que vous pouvez zoomer avec la molette de la souris, déplacer en cliquant sur la molette, ou faire tourner en cliquant sur le bouton gauche.
N'hésitez pas à fouiller dans les menus pour découvrir les différentes options, les principales étant :
- Menu Fichier -> Exporter la Vue en Cours en PNG ou JPEG pour faire une sorte de capture d'écran
- Le cube bleu dans la barre d'outils lance un rendu en raytracing, un peu plus sympa que le rendu de base (toujours intéressant à faire avant un export)

Non, ça suffit pas ? Bon, très bien, vous l'aurez voulu

Donc, reprenons : dans la petite capture ci-dessus, on voit bien qu'il manque quelques composants, en l'occurrence les supports de tubes, ainsi qu'un petit bornier situé dans le coin supérieur gauche.
Il se trouve que ces composants n'ont pas de modèle 3D associé dans la lib standard KiCAD, malheureusement. Qu'à celà ne tienne, on va bien trouver une solution !
Commençons par la partie compliquée : les tubes !
En fait, les empreintes fournies par KiCAD (Valve_ECC-83-2 dans mon cas) sont faites pour les sockets classiques tels que ceux-ci, pas particulièrement prévus pour un montage sur PCB à la base...
Pour un projet comme celui-ci, on préfèrerait des sockets pour PCB, comme ceux-ci ou encore ceux-là.
En fouillant un peu sur la grande ternette, je suis tombé sur un repo Github contenant des empreintes de tubes un peu plus sympas dans la branche Valve_3D_06, plus particulièrement dans ce dossier.
On y trouve notamment un fichier Valve_Noval-B9A_Belton-VT9-PT_Socket.kicad_mod qui semble correspondre parfaitement à ce qu'il nous faut, pour le télécharger il faut faire comme suit :
- Cliquer sur le nom du fichier
- Quand le contenu du fichier est affiché, cliquer sur le bouton Raw, en haut à droite de la zone de texte
- Enregistrer le fichier en faisant un classique Ctrl+S
Eh bien on commence par se le mettre de côté sur son disque, idéalement dans un dossier dédié (une lib perso, quoi), puis on va l'ajouter à notre projet.
Pour ça, je recommande de créer un dossier ProjectLib.pretty dans le répertoire du projet KiCAD (et dans lequel on copiera l'empreinte téléchargée), et ajouter ce dossier aux libs d'empreintes (menu Préférences -> Configurer les Librairies d'Empreintes...) : on commence par cliquer sur le bouton Ajouter Librairie, puis on entre ProjectLib dans la case Pseudo nom et ${KIPRJMOD}/ProjectLib.pretty dans la colonne Chemin Librairie.

Ceci indiquera à KiCAD d'aller chercher les empreintes de la lib ProjectLib dans le dossier ProjectLib.pretty, lui-même situé dans le dossier du projet (assez utile pour partager un projet avec des empreintes non disponibles dans la lib standard).
Une fois ceci fait, on peut substituer l'empreinte sur notre PCB, point que je ne détaillerai pas, ce qui donne le résultat suivant :

Et voici la visu 3D correspondante :

Pas beaucoup mieux, n'est-ce pas ?
Bon, on revient sur notre PCB, et on édite l'une des empreintes de socket, soit en double-cliquant dessus, soit avec le raccourci clavier E (pendant que la souris est sur le socket, bien sur). Dans la fenêtre qui s'ouvre, on clique sur l'onglet Paramètres 3D tout en haut, et ça devrait donner ceci :

Dans la liste du haut, on voit 2 entrées, correspondant à des fichiers situés dans ${KISYS3DMOD}/Valve.3dshapes, c'est-à-dire le répertoire Valve.3dshapes du dossier des modules 3D de la lib standard KiCAD. Ces données sont fournies par le fichier d'empreinte, mais comme celui-ci ne vient pas de la lib standard, il y a peu de chances que le modèle 3D s'y trouve, forcément

Bref, un petit tour sur github, et on voit que la même personne possède un repo dédié aux modèles 3D, dans lequel on trouve dans une branche Valve_3D_08 un dossier Valve.3dshapes contenant plein de fichiers très intéressants.
Nous allons donc télécharger les fichiers Valve_Noval-B9A_Belton-VT9-PT_Socket.wrl et Valve_Tube_Noval-B9A.wrl qui correspondent à ce qu'on a vu dans la fenêtre précédente, et les placer dans un dossier 3D situé dans notre répertoire projet.
Une fois ceci fait, nous allons modifier les noms des fichiers en cliquant sur le bouton Éditer Nom Fichier et en remplaçant (pour les 2 fichiers) ${KISYS3DMOD}/Valve.3dshapes par ${KIPRJMOD}/3D, ce qui donne (après un petit zoom et recadrage de la prévisualisation) le résultat suivant :

On peut donc afficher à nouveau notre visu 3D :

Et là, nouveau hic, nos modifs n'ont impacté que l'empreinte sur laquelle nous avons cliqué ! Dans le cas où on n'a que 2 ou 3 exemplaires d'une empreinte sur un PCB, on peut reporter les modifs manuellement, mais on peut aussi modifier directement le fichier empreinte pour lui indiquer le bon chemin où chercher les fichiers 3D. Une fois ceci fait (soit avec un éditeur de texte, soit directement avec l'éditeur d'empreintes de KiCAD, mais ce n'est pas le sujet de ce tuto), il suffit de substituer à nouveau les empreintes pour appliquer les changements :

Bien, le plus dur est fait, voyons maintenant ce bornier à vis !
N'ayant pas trouvé de modèle 3D adapté dans les libs KiCAD, que ce soit dans le standard ou chez un développeur tiers (bon, je n'ai pas cherché longtemps, j'avoue), il va falloir aller regarder ailleurs.
Le patron m'ayant fait découvrir GrabCAD il y a peu, c'est là que je suis allé fouiller, et effectivement il y a de la matière ! En cherchant screw terminal (oui, mieux vaut utiliser les désignations anglaises) je suis tombé sur ce modèle qui semble coller parfaitement.
NOTE IMPORTANTE : GrabCAD vous permet d'utiliser les fichiers présents sur le site uniquement pour un usage interne et non-commercial. Concrètement, ça veut dire que vous pourrez faire de jolies images, mais n'avez absolument pas le droit de partager ces fichiers, ce qui peut être gênant si vous voulez rendre vos fichiers publics (il suffira de ne pas inclure le dossier 3D dans la copie que vous partagerez, tout fonctionnera normalement mais il manquera certains modèles 3D à vos destinataires s'ils veulent faire un rendu de leur côté).
Après l'avoir téléchargé, on colle le fichier Screw Terminal Block 5mm Blue 2-way.step dans le dossier 3D de notre projet, et on peut passer à l'édition d'empreinte du bornier, qui ressemble sans surprise à ça :

On supprime la ligne existante de la liste en cliquant sur le bouton Suppr. Forme 3D, puis on ajoute une nouvelle ligne avec Ajout Forme 3D. On navigue alors dans notre dossier 3D, puis on sélectionne le fichier en question :

Bon, on s'approche, même s'il y a visiblement encore quelques réglages à faire :


Pour celà, on va regarder dans la partie gauche de la fenêtre et jouer avec les valeurs de rotation et d'offset jusqu'à trouver les bonnes valeurs, ici il faudra indiquer :
- Une rotation de -90° sur l'axe X
- Un offset de +2.5mm sur l'axe X

Et surtout, que le pins tombent bien dans les trous prévus à cet effet :

À noter que si le modèle 3D est trop petit ou trop grand par rapport à l'empreinte (ce qui se verra notamment à l'espacement des pins, qui tomberont à côté des trous), on peut jouer sur le paramètre Échelle, là encore sur les axes X, Y et/ou Z, pour adapter le modèle à la taille de l'empreinte.
Le rendu final est donc complet et plutôt sympa (pour cette fois j'ai activé le raytracing) :

BONUS
Pour aller plus loin, par exemple si on a plusieurs PCBs pour un même projet, ou si on veut ajouter d'autres éléments à notre visu qui ne peuvent pas être gérés par KiCAD (des vis, un boitier etc...), il va falloir changer de logiciel.
Pour ce faire, on va commencer par exporter notre visu 3D dans un fichier VRML, en passant par le menu Fichier -> Exporter -> VRML. Idéalement il faut choisir une origine proche du centre du PCB, et les unités seront en mm :

Ensuite, il ne reste qu'à ouvrir le fichier avec FreeCAD, et une fois qu'on en a terminé, on peut exporter la vue courante via le menu Outils -> Enregistrer l'image... :

Et voilà
