Allers-retours KiCad <> FreeCAD
Si FreeCAD et KiCad n'ont pas forcément grand chose à voir au premier abord - le premier étant destiné à la modélisation 3D paramétrique, le second à la conception de circuits imprimés - il s'avère que des passerelles sont possibles entre ces deux logiciels. En effet, KiCad propose l'affichage (et l'exportation) de modèles 3D des circuits imprimés, pour cela il a donc besoin des modèles 3D des composants. Si certains sont disponibles dans le package kicad-packages3d (pour Debian GNU/Linux) vous pourrez modéliser les autres à l'aide de FreeCAD avant de les exporter vers KiCad. En contre-partie, l'exportation de circuits 3D de KiCad vers FreeCAD nous permet de facilement réaliser des boîtiers pour nos circuits imprimés.
Techniquement tout ceci est rendu possible par le dénominateur commun à ces deux logiciels libres : le langage Python qui permet aux développeurs d'ajouter des fonctionnalités sous forme d'extensions.
Dans FreeCAD, nous installons donc l'atelier kicadStepUpMod à l'aide de l'Addon Manager qui va nous apporter les interactions avec KiCad. Nous installons également de la même manière l'atelier Manipulator qui nous permettra de réaliser facilement des alignements de pièces.
Un premier exemple : création d'un modèle 3D de composant en se basant sur une empreinte disponible dans KiCad.
Le contexte est le suivant : nous souhaitons exporter un circuit en 3D mais le modèle 3D de notre composant ne se trouve pas dans la bibliothèque de KiCad. Nous allons donc réaliser la conception du modèle 3D de ce composant dans FreeCAD puis l'exporter vers KiCad. L'empreinte récupérée depuis KiCad nous servira de base de travail et de vérification de la conformité du modèle à son empreinte.
Pour cet exemple, nous allons utiliser l'empreinte d'un bouton poussoir : SW PUSH 12mm.
En ouvrant l'éditeur d'empreinte de KiCad, on remarque à travers l'affichage 3D que nous n'avons pas le modèle du bouton poussoir, seule son empreinte est disponible.
Tout d’abord il nous faut récupérer cette empreinte depuis KiCad pour l'importer dans FreeCAD. Si vous ne savez pas où elle se trouve, il est possible de l'exporter depuis l'éditeur d'empreinte de KiCAD pour la placer dans le répertoire de travail voulu sous la forme d'un fichier monempreintedecomposant.kicad_mod
Dans FreeCAD, nous utilisons l'atelier KicadStepUpMod. Dans la barre d'outil, le bouton Load KiCAD PCB Footprint nous permet d'importer l'empreinte sous forme de modèle 3D semi transparent :
Il ne nous reste plus qu'à modéliser notre bouton à partir de l'empreinte, en utilisant les ateliers courants PartDesign, Part … :
Une fois le modèle 3D réalisé, nous en faisons une copie simple depuis le menu Pièce de l'atelier Part puis nous retournons dans l'atelier KiCadStepUp.
Remarque : S'il est nécessaire de procéder à des ajustements de position, utilisez les outils de l'atelier Manipulator accessibles depuis la barre d'outils de KiCadStepUp.
Nous lançons la conversion à l'aide du bouton Export 3D Model to KiCad
La conversion aux formats lisibles par KiCad va s'effectuer automatiquement, avec correction de l'échelle, contrairement à ce que produit un export manuel. Durant la conversion, vous pourrez modifier les valeurs de Mesh Deviation et Crease Angle pour la création du maillage mais les valeurs par défaut donnent des résultats tout à fait satisfaisants. Si vous avez coloré votre modèle vous pourrez également affecter un matériau à chaque couleur.
La conversion faite, vous obtenez un fichier STEP et un fichier WRL enregistrés dans le répertoire contenant votre fichier FreeCAD.
De retour dans l'éditeur d'empreinte de KiCad, nous éditons les propriétés de l'empreinte et dans l'onglet Paramètres 3D :
Nous ajoutons le chemin vers notre fichier WRL :
Enfin nous enregistrons notre empreinte sous un nouveau fichier, l’empreinte initiale ne pouvant être modifiée directement.
Dans nos futures PCB nous pourront utiliser notre nouvelle empreinte, dans l'export 3D nous aurons désormais le bouton intégré, ce qui pourra se révéler pratique pour la modélisation d'un boîtier pouvant accueillir notre circuit :
Un second exemple : création d'une empreinte à partir d'un modèle 3D
Le contexte est le suivant : nous souhaitons réaliser un circuit imprimé qui intégrera un composant dont nous avons un modèle 3D proposé par le constructeur, mais pas d'empreinte dans KiCad. Même si ce dernier intègre un éditeur d'empreinte, nous allons la réaliser dans FreeCAD en nous basant directement sur le modèle 3D du composant.
Dans notre exemple, nous souhaitons intégrer un module Adafruit Feather HUZZAH ESP8266, un petit tour sur le site constructeur nous permet de trouver un modèle 3D du module au format STEP que nous importons dans FreeCAD :
Afin de créer un fichier d'empreinte de composant KiCad conforme, nous devons comprendre quelle est la structure à donner à notre travail. Pour cela, nous allons nous baser un un fichier exemple que l'on ouvre depuis l'atelier KiCadStepUp à travers le menu ksu Tools > Demo > footprint-template.FCStd
Nous pouvons ainsi distinguer les différents éléments qui le composent :
Afin de voir le résultat dans KiCad, nous pouvons générer l'empreinte correspondante à l'aide du bouton Footprint editor and exporter en ayant sélectionné au préalable le dossier qui regroupe tous les éléments. Choisissez un emplacement et un nom au fichier *.kicad_mod
Dans l'éditeur d'empreinte de KiCad vous pourrez importer ce fichier pour voir le résultat en 2D et 3D :
Ainsi on constate qu'il nous faut au minimum :
- une esquisse représentant le gabarit : F_CrtYd_0.05
- une esquisse correspondant aux pads traversants Pads_TH_SMDD
- des labels REF et VALUE
d'autres esquisses telles que Pads_NPTH, F_Silks_0.16 et F_Fab_0.1 ne seront pas indispensables pour notre exemple.
Revenons à notre exemple, à l'aide des outils de l'atelier KiCadStepUp nous allons créer les éléments nécessaires à la construction de l'empreinte.
Dans un premier temps, nous naviguons dans l'arborescence de notre pièce à la recherche du solide correspondant à la plaque, dans notre cas il s'agit du solide nommé Board :
En fonction du composant, il vous faudra bien entendu trouver les éléments pertinents à la création de votre empreinte.
Nous nous plaçons en vue du dessus et nous réalisons une projection 2D du modèle 3D en cliquant sur le bouton de la barre d'outil : 3D object to 2D projection
Un objet filaire Shape2DView est créé :
Nous le convertissons en Esquisse grâce au bouton de la barre d'outil 2D object (or DXF) to sketch
Cette esquisse contient les informations de gabarits, pads… Nous allons donc dupliquer et modifier les esquisses pour en obtenir au finalement 2 :
- une esquisse représentant le gabarit
- une esquisse correspondant aux pads traversants
Nous allons renommer notre esquisse gabarit en F_CrtYd_0.05 et notre esquisse de pads en Pads_TH_SMD.
Aussi, nous faisons un simple copier-coller des labels REF et VALUE depuis le fichier exemple vers notre travail et nous les positionnons correctement. Enfin, pour respecter la structure du modèle, nous créons un nouveau groupe que nous nommons Feather_ESP8266 et nous y plaçons nos 4 éléments :
Nous pouvons donc exporter cette empreinte sous forme de fichier .kicad_mod puis l'importer dans l'éditeur d'empreinte KiCad :