Comment générer un fichier BOM et Pick & Place dans Proteus 8.9
Dernière mise à jour le Jan 13, 2026
Dans ce tutoriel, nous allons voir comment générer la BOM (Bill of Materials) et le CPL (Component Placement List) — également appelé fichier Centroid, Pick and Place, XY File, etc. — pour le service JLCSMT dans Proteus.
Ce tutoriel a été rédigé pour Proteus 8.9 et utilise le projet exemple « Chameleon Mega AVR » fourni avec Proteus.
Génération du fichier BOM
Tout d'abord, cliquez sur l'icône Bill of Materials (icône en forme de dollar) dans la barre d'outils. L'onglet Bill of Materials apparaîtra.

Figure 2. Icône BOM de Proteus
À ce moment-là, le menu a été modifié pour afficher les options de génération de BOM, comme illustré ci-dessous.

Figure 3. Onglet BOM de Proteus
Proteus prend en charge les modèles de BOM et permet d'importer des modèles prédéfinis. Le modèle de BOM pour le service SMT de JLCPCB est disponible ici. Il suffit de télécharger le fichier JLCPCB.bomt et de l'enregistrer.
Exécutez Template → Import Template pour importer le modèle.

Figure 4. Importation du modèle
Parcourez vos fichiers et sélectionnez JLCPCB.bomt.

Figure 5. Parcourir et trouver le modèle BOM de JLCPCB
Après l'importation du fichier JLCPCB.bomt, vous remarquerez les changements suivants:
1. Le champ LCSC Part # a été ajouté (ce champ est utilisé pour un appariement précis).
2. Le champ Footprint a été ajouté.
Sélectionnez Individual (R1, R2…) comme style de référence.

Figure 6. Modèle BOMT de JLCPCB
Dans l'éditeur de propriétés, vous pouvez saisir le LCSC Part # des composants. Par exemple, C1 est un condensateur de 1uF au format 0603 ; en effectuant une recherche dans la bibliothèque SMT avec le mot-clé « 1uf 0603 50v », vous trouverez un condensateur avec le numéro LCSC Part # C15849 qui convient. Copiez ce code CXXX et collez-le dans le champ LCSC Part #, puis cliquez sur le bouton Apply Changes.
Cette opération enverra la propriété LCSC Part # dans le schéma.

Figure 7. Édition du BOM
Si vous cliquez sur C1 dans le BOM, cela vous amènera automatiquement à C1 dans le schéma. Double-cliquez sur C1, vous verrez que le champ LCSC Part # a été ajouté:

Figure 8. LCSC Part # ajouté
Continuez à ajouter les LCSC Part # pour les autres composants si vous souhaitez un appariement précis. (Ce champ est facultatif. Lors de la commande, les composants seront automatiquement analysés et appariés, mais si un LCSC Part # est présent, il sera prioritaire et les autres informations seront ignorées.)
Une fois terminé, il est temps de générer le BOM.
Menu: Generate → CSV

Figure 9. Génération du fichier CSV
Enregistrez maintenant ce fichier CSV. Si un tableur est installé, le fichier CSV s'ouvrira automatiquement.

Figure 10. BOM dans un programme de tableur
Le BOM est désormais prêt pour JLCPCB SMT.
Modifier la BOM manuellement
Si vous souhaitez modifier cette BOM, ce fichier CSV importé automatiquement ne peut pas être utilisé, car les zéros initiaux des noms de boîtiers ont été supprimés sans autorisation !
Ouvrez votre programme de tableur et appuyez sur Ctrl+O pour ouvrir le fichier BOM. La fenêtre suivante s’affichera ; configurez les options comme suit :
1. Utilisez « Virgule » comme séparateur.
2. Faites défiler jusqu’à la colonne Footprint et définissez le type de colonne sur Texte pour conserver les zéros initiaux.

Figure 11. Importer la BOM dans un programme de tableur
Après modification, enregistrez le fichier CSV et utilisez CSV comme format de fichier.
Génération du fichier Pick and Place
Tout d’abord, passez à l’onglet PCB Layout et cliquez sur l’icône Toggle Metric/Imperial pour changer l’unité en métrique. Le système JLCPCB ne reconnaît les fichiers Pick and Place qu’en unités métriques (mm).

Figure 12. Passer en unités métriques
Exécutez Output → Generate Pick and Place File

Figure 13. Menu pour générer le fichier Pick and Place
Une fenêtre apparaît et vous devez effectuer quelques réglages :
1. Changez l’extension du fichier PKP en .csv.
2. Décochez l’option « Include Stock Codes ? », car elle n’est pas nécessaire.
3. Cochez l’option « Exclude Thru-hole ? », car nous ne voulons inclure que les composants SMD.
4. Sélectionnez le côté (Top ou Bottom) car JLCPCB ne peut actuellement souder qu’un seul côté.
Cliquez sur le bouton Save pour enregistrer le fichier.

Figure 14. Définir les options de sortie et enregistrer le fichier
Remarque
La raison pour laquelle nous changeons l’extension de fichier par défaut de PKP en .csv est que ce fichier PKP est un fichier texte brut, et les systèmes d’exploitation associent généralement les fichiers CSV aux programmes de tableur. Vous pouvez également conserver l’extension PKP par défaut et la modifier manuellement plus tard.
Figure 15. Fichier CSV généré
Si vous ouvrez le fichier avec un éditeur de texte, vous pouvez voir son contenu, qui est une sorte de fichier CSV.
le.
<code>LABCENTER PROTEUS PICK AND PLACE FILE
=====================================
Component positions for chameleon_avr_rev_a_sample.pdsprj
Fields: Part ID, Value, Package, Stock Code, Layer, Rotation, X, Y
Units: Rotation - degrees, X, Y - mm
Notes: The X, Y value is the centre of package as drawn in ARES.
The origin for these values is the Output Origin.
The values are a guide only and must be checked manually when
setting up automatic insertion equipment.
"U1","TI TLV1117-50","SOT223-4","",TOP,90,-33.6508,-8.3162
"U2","TI TLV1117-33","SOT223-4","",TOP,90,-33.627,-0.5698
"U3","PROPELLER QFP44","QFP44","",TOP,180,-3.6253,0.4434
"U4","24LC256/512","TSOP8","",TOP,0,6.5656,-6.869
"U6","FTDI FT232R","SSOP28","",TOP,90,-22.6986,11.0656
"U7","74HC138","TSSOP16","",TOP,0,15.9402,-5.9996
"U8","AT26F00X","SO8","",TOP,0,25.527,-5.6388
"C20","0.1uF","0603","",TOP,-180,17.9324,-2.3368
"C21","0.1uF","0603","",TOP,-180,27.3304,-2.413
...
Mais à ce stade, ce fichier Pick and Place brut ne peut pas encore être téléversé directement sur le site de JLCPCB ; il doit encore être nettoyé.
Trois méthodes de nettoyage peuvent être utilisées :
1. Modifier manuellement dans un éditeur de texte.
2. Modifier manuellement dans un tableur.
3. Traiter le fichier à l'aide d'un programme informatique.
Modification dans un éditeur de texte
Le fichier Pick and Place n'est rien d'autre qu'un fichier texte brut, il peut donc être modifié avec n'importe quel éditeur de texte.
Ouvrez le fichier avec votre éditeur préféré.
Remplacez « X » par « Mid X »
Remplacez « Y » par « Mid Y »
Enregistrez le fichier.
Et c'est tout !

Figure 16. Fichier Pick and Place ouvert dans Notepad

Figure 17. Remplacement de X/Y par Mid X/Mid Y
Modification dans un programme de tableur
Il est parfois plus intuitif de modifier un fichier tabulaire dans un programme de tableur.
Lancez votre programme de tableur (LibreOffice Calc, Microsoft Excel, Google Docs, etc.)
Cliquez sur l'icône Ouvrir pour localiser et ouvrir le fichier CSV (Menu : Fichier → Ouvrir… ou raccourci clavier Ctrl+O)
Astuce: Un double-clic sur le fichier CSV ouvrira également le tableur, si l'association de fichier est correctement configurée.
Figure 18. Cliquer sur l'icône Ouvrir
Figure 19. Sélection du fichier CSV
Paramétrez les options suivantes:
1. Utilisez virgule comme séparateur.
2. Faites défiler jusqu'à la colonne Package, et définissez-la comme Texte afin de conserver les zéros initiaux (comme 0603, 0805…).
3. Cliquez sur OK.

Figure 20. Options d'importation CSV
Effectuez ensuite les modifications suivantes :
1. Remplacez X par Mid X
2. Remplacez Y par Mid Y
3. Apportez les autres modifications souhaitées
Cliquez ensuite sur le bouton Enregistrer (ou raccourci Ctrl+S)

Figure 21. Modification de X/Y et sauvegarde

Figure 22. Confirmer l'enregistrement au format CSV
Vous disposez maintenant d'un fichier CPL prêt pour passer commande chez JLCPCB.
Problème de rotation
Après avoir téléversé les fichiers Gerber, BOM et Pick and Place, si tout se passe bien, une fenêtre d'aperçu s'affiche avec votre PCB et les composants placés.

Figure 23. Rotation incorrecte
Vous pouvez constater que l'orientation de plusieurs composants est incorrecte. Il est possible de modifier l'angle de rotation directement dans le fichier Pick and Place, puis de le téléverser à nouveau.
Dans l'aide de Proteus PCB Layout, il est précisé :
Les rotations sont exprimées en degrés dans le sens antihoraire par rapport à l'orientation du boîtier telle qu'elle a été définie. Étant donné qu'il n'existe pas de norme pour l'orientation par défaut des boîtiers, ces valeurs peuvent être d'une utilité limitée, sauf si elles sont combinées avec une table de conversion propre aux boîtiers ARES, y compris ceux définis par l'utilisateur. Il s'agit d'une responsabilité partagée entre vous et le prestataire de pose automatique.
Astuce: Si vous utilisez un script ou un programme tableur pour traiter les fichiers Pick and Place, vous pouvez mettre en place une table de correspondance des rotations pour automatiser la correction.
Corrigez les rotations et revenez sur la page de téléversement BOM/CPL. Une fois le fichier CPL téléversé à nouveau, vous verrez que certaines orientations ont été corrigées !

Figure 24. Rotation corrigée
Dépannage
Aperçu vide dans la fenêtre de prévisualisation
Si vous voyez une carte vide sans aucun composant dans la fenêtre de prévisualisation, une cause possible est que l'unité utilisée n'est pas métrique.
Solution: basculez en unité métrique avant de générer le fichier Pick and Place.

Figure 25. Carte vide
Il est facile d'oublier de changer l'unité avant la génération. Voici une astuce :
Vous pouvez définir les unités de démarrage sur métrique, puis enregistrer le projet. Ainsi, vous n'aurez plus besoin de changer l'unité à chaque fois.

Figure 26. Menu « Définir l'accrochage de la grille »

Figure 27. Définir les unités de démarrage sur métrique
Références désordonnées
Si vous constatez que les désignateurs sont mélangés — par exemple X1 et X2 sont des quartz mais se retrouvent sur la même ligne qu'une résistance 0603…
La raison est que JLCPCB ne reconnaît que le format d'intervalle du type R1-10 au lieu de R1-R10 (format utilisé par Proteus).
Solution: vérifiez que le style de référence « Raccourci » n'est pas sélectionné lors de la génération du BOM. Utilisez plutôt le style « Individuel ».