[{"data":1,"prerenderedAt":66},["ShallowReactive",2],{"blog-pick-and-place-file-checklist-fr":3},{"title":4,"description":5,"date":6,"lastUpdated":6,"category":7,"image":8,"readingTime":9,"wordCount":10,"timeRequired":11,"htmlContent":12,"faq":13,"tags":30,"slug":35,"sourceLocale":36,"availableLocales":37,"jsonld":42},"Fichier de placement (CPL) : champs, angles de rotation et checklist de réconciliation BOM","Vérifier le fichier de coordonnées de placement (CPL/centroïde) avant envoi en SMT : origine, centre géométrique vs coordonnée Pin 1, référence zéro degré, miroir bottom et règles DNP de la BOM.","2026-10-29","technology","/assets/blogs/pick-and-place-file-checklist/assembly-drawing.svg",11,2103,"PT11M","\u003Cp>Exporter un fichier de placement depuis l&#39;EDA — aussi appelé \u003Cstrong>CPL (Component Placement List)\u003C/strong>, \u003Cstrong>fichier centroïde\u003C/strong> ou \u003Cstrong>XYR / \u003Ccode>.pos\u003C/code>\u003C/strong> — et l&#39;envoyer sans le réconcilier avec la BOM en cours et le plan de montage est l&#39;une des premières causes de blocage NPI et de composants polaires montés à l&#39;envers. Un CSV parfaitement importé par le logiciel de programmation SMT peut quand même décaler un connecteur entier (origine de bibliothèque sur Pin 1 plutôt qu&#39;au centre du corps), tourner les diodes et CI de \u003Cspan class=\"math-inline\">180°\u003C/span>, ou monter un composant marqué \u003Ccode>DNP\u003C/code> (do not populate).\u003C/p>\n\u003Cp>L&#39;approvisionnement et les substitutions relèvent de la \u003Ca href=\"/fr/blog/what-is-a-bom/\">nomenclature (BOM) PCBA\u003C/a>, tandis que la CPL gouverne les \u003Cstrong>coordonnées physiques, l&#39;appartenance top/bottom et l&#39;angle de rotation de la buse\u003C/strong>. Réconcilier la CPL avant envoi exige un contrat de coordonnées en sept points, plus une réconciliation d&#39;ensembles avec la BOM et une vérification visuelle par superposition.\u003C/p>\n\u003Cp>\u003Cimg src=\"/assets/blogs/pick-and-place-file-checklist/assembly-drawing.svg\" alt=\"Plan de contrôle de montage vue dessus : origine (0,0), R1/R2 montés, orientation cathode diode polaire D1, C3 DNP exclu\">\u003C/p>\n\u003Ch2>1. Le contrat en sept points pour coordonnées et orientation\u003C/h2>\n\u003Cp>La machine SMT ne lit pas les symboles du schéma — elle pilote une buse à vide vers des décalages \u003Cspan class=\"math-inline\">(X, Y)\u003C/span> numériques relatifs aux fiducials de la carte, puis tourne l&#39;embout de \u003Cspan class=\"math-inline\">θ\u003C/span> degrés par rapport à l&#39;orientation du composant dans la poche du ruban. Avant l&#39;export (par ex. \u003Ca href=\"https://docs.kicad.org/9.0/en/pcbnew/pcbnew.html#_component_placement_files\">KiCad 9.0\u003C/a> \u003Ccode>File → Fabrication Outputs → Component Placement\u003C/code>, ou \u003Ccode>Generates Pick and Place Files\u003C/code> dans Altium), vérifier ces sept points :\u003C/p>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Paramètre CPL\u003C/th>\n\u003Cth>Convention à expliciter à l&#39;export\u003C/th>\n\u003Cth>Erreur courante\u003C/th>\n\u003Cth>Contrôle avant envoi\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>1. Origine de référence \u003Cspan class=\"math-inline\">(0,0)\u003C/span>\u003C/strong>\u003C/td>\n\u003Ctd>Point unique (généralement coin inférieur gauche du contour ou \u003Ccode>Drill/Place File Origin\u003C/code> dédié), identique aux fichiers Gerber/perçage\u003C/td>\n\u003Ctd>CPL exportée sur l&#39;origine absolue de la feuille alors que Gerber utilise une origine perçage auxiliaire — décalage global de tous les composants\u003C/td>\n\u003Ctd>Superposer les centroïdes CPL sur les couches pâte Gerber top/bottom et contrôler les fiducials (\u003Ccode>FID1\u003C/code>–\u003Ccode>FID3\u003C/code>)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>2. Unités et précision\u003C/strong>\u003C/td>\n\u003Ctd>\u003Ccode>mm\u003C/code> explicite (recommandé, 3–4 décimales) ou \u003Ccode>mil\u003C/code>/\u003Ccode>inch\u003C/code> en en-tête\u003C/td>\n\u003Ctd>Unité non indiquée ou arrondie décentrant BGA \u003Cspan class=\"math-inline\">0,35--0,40 mm\u003C/span> et 0201\u003C/td>\n\u003Ctd>Vérifier les valeurs \u003Cspan class=\"math-inline\">(X, Y)\u003C/span> maximales contre les dimensions réelles du contour\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>3. Point de référence centroïde\u003C/strong>\u003C/td>\n\u003Ctd>\u003Cstrong>Centre géométrique du corps\u003C/strong> (point de préhension de la buse), \u003Cem>pas\u003C/em> Pin 1\u003C/td>\n\u003Ctd>Connecteurs, cages, DPAK/SOT dont l&#39;origine bibliothèque est restée sur Pin 1 — échec de préhension ou pose décentrée\u003C/td>\n\u003Ctd>Inspecter un à un connecteurs asymétriques, selfs et barrettes dans l&#39;overlay couche pâte\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>4. Face (\u003Ccode>Top\u003C/code>/\u003Ccode>Bottom\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>Indicateur de face clair (\u003Ccode>Top\u003C/code>/\u003Ccode>Bottom\u003C/code> ou \u003Ccode>T\u003C/code>/\u003Ccode>B\u003C/code>) ou fichiers séparés\u003C/td>\n\u003Ctd>Condensateurs de découplage bottom ou traversants faussement marqués \u003Ccode>Top\u003C/code>\u003C/td>\n\u003Ctd>Réconcilier les comptages top/bottom avec les ouvertures pâte de chaque face\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>5. Convention X bottom\u003C/strong>\u003C/td>\n\u003Ctd>Préciser si le X bottom est \u003Cstrong>vu à travers la carte depuis le dessus\u003C/strong> ou \u003Cstrong>en miroir horizontal (\u003Ccode>Negate bottom X\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>Le CAD a déjà mis en miroir et l&#39;ingénieur inverse une seconde fois dans Excel — toute la face bottom retournée\u003C/td>\n\u003Ctd>Vérifier avec un composant bottom asymétrique contre la vue pâte Gerber bottom\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>6. Rotation (\u003Cspan class=\"math-inline\">θ\u003C/span>)\u003C/strong>\u003C/td>\n\u003Ctd>Angle trigonométrique de l&#39;orientation zéro bibliothèque vers l&#39;orientation posée (\u003Cspan class=\"math-inline\">0°--360°\u003C/span>)\u003C/td>\n\u003Ctd>Empreintes dessinées à \u003Cspan class=\"math-inline\">90°\u003C/span> ou \u003Cspan class=\"math-inline\">180°\u003C/span> d&#39;écart avec le standard ruban IPC-7351 / EIA-481 — polaires montés inversés\u003C/td>\n\u003Ctd>Croiser les repères Pin 1 / cathode du \u003Cstrong>plan de montage\u003C/strong> avec les boîtiers réels\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>7. Périmètre de pose et \u003Ccode>DNP\u003C/code>\u003C/strong>\u003C/td>\n\u003Ctd>Expliciter si les empreintes \u003Ccode>DNP\u003C/code>/\u003Ccode>DNI\u003C/code>, fiducials et points de test sont \u003Cstrong>exclus de la CPL\u003C/strong> ou marqués dans une colonne d&#39;état\u003C/td>\n\u003Ctd>Le CAD exporte aussi les empreintes non posées — \u003Ccode>Exclude from position files\u003C/code> ou filtre \u003Ccode>DNP\u003C/code> non activé\u003C/td>\n\u003Ctd>Réconcilier l&#39;ensemble des références \u003Ccode>Fit\u003C/code> de la BOM éclatée avec celles de la CPL\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\n\u003Ch2>2. Réconciliation en pratique : trois erreurs CPL classiques d&#39;un coup\u003C/h2>\n\u003Cp>Télécharger notre pack d&#39;exercice autonome pour voir comment la réconciliation d&#39;ensembles complète la vérification visuelle de polarité. Carte exemple \u003Ccode>TRAIN-C / Variante A\u003C/code> (\u003Cspan class=\"math-inline\">30,0 × 13,0 mm\u003C/span>, SMT top uniquement, origine bas-gauche, \u003Ccode>DNP\u003C/code> exclu de la CPL, convention diode \u003Ccode>D1\u003C/code> : \u003Cstrong>\u003Cspan class=\"math-inline\">0°\u003C/span> = marque cathode vers la gauche\u003C/strong>) :\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Fichiers d&#39;exercice :\u003C/strong> \u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/bom.csv\">bom.csv\u003C/a>, \u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/cpl-bad.csv\">cpl-bad.csv\u003C/a>, \u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/cpl-good.csv\">cpl-good.csv\u003C/a>, \u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/assembly-drawing.svg\">assembly-drawing.svg\u003C/a>, \u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/verify.py\">verify.py\u003C/a> et \u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/README.md\">mode d&#39;emploi\u003C/a>.\u003C/li>\n\u003C/ul>\n\u003Ch3>Étape 1 : réconcilier la CPL entrante avec la BOM (\u003Ccode>cpl-bad.csv\u003C/code>)\u003C/h3>\n\u003Cp>La \u003Ccode>bom.csv\u003C/code> contient trois composants SMT \u003Ccode>Fit\u003C/code> (\u003Ccode>R1\u003C/code>, \u003Ccode>R2\u003C/code>, \u003Ccode>D1\u003C/code>) et un condensateur \u003Ccode>DNP\u003C/code> (\u003Ccode>C3\u003C/code>). Face à \u003Ccode>assembly-drawing.svg\u003C/code>, la \u003Ccode>cpl-bad.csv\u003C/code> révèle trois erreurs qui, non corrigées, produisent un échec d&#39;assemblage certain :\u003C/p>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Constat dans \u003Ccode>cpl-bad.csv\u003C/code>\u003C/th>\n\u003Cth>Type d&#39;erreur\u003C/th>\n\u003Cth>Origine dans le flux CAO\u003C/th>\n\u003Cth>Correction dans \u003Ccode>cpl-good.csv\u003C/code>\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>\u003Ccode>R2\u003C/code> totalement absent\u003C/strong> (seuls \u003Ccode>R1\u003C/code>, \u003Ccode>D1\u003C/code>, \u003Ccode>C3\u003C/code> présents)\u003C/td>\n\u003Ctd>\u003Cstrong>Composant requis manquant (\u003Ccode>missing:R2\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>Empreinte cochée par erreur \u003Cem>&quot;Exclude from position files&quot;\u003C/em> ou marquée \u003Cem>&quot;Virtual/Mechanical&quot;\u003C/em>\u003C/td>\n\u003Ctd>Décocher l&#39;exclusion et restaurer \u003Ccode>R2\u003C/code> à \u003Ccode>(14, 8), Top, 0°\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>\u003Ccode>C3\u003C/code> présent à \u003Ccode>(22, 8), Top, 0°\u003C/code>\u003C/strong>\u003C/td>\n\u003Ctd>\u003Cstrong>DNP inclus par erreur (\u003Ccode>unexpected:C3\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>\u003Ccode>DNP\u003C/code> saisi dans un champ texte libre au lieu de la propriété native \u003Ccode>DNP\u003C/code> du CAO ; ou export sans activer \u003Cem>&quot;Exclude DNP footprints&quot;\u003C/em>\u003C/td>\n\u003Ctd>Activer l&#39;exclusion DNP native et retirer \u003Ccode>C3\u003C/code> de l&#39;ensemble posé\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>\u003Ccode>D1\u003C/code> avec \u003Ccode>Rotation_deg = 180\u003C/code>\u003C/strong> (à \u003Ccode>(18, 8)\u003C/code>)\u003C/td>\n\u003Ctd>\u003Cstrong>Polarité inversée (\u003Ccode>orientation:D1\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>L&#39;empreinte bibliothèque dessine la cathode à droite en \u003Cspan class=\"math-inline\">0°\u003C/span>, contraire au contrat « \u003Cspan class=\"math-inline\">0°\u003C/span> = cathode à gauche » du plan\u003C/td>\n\u003Ctd>Rotation ramenée à \u003Ccode>0°\u003C/code> (\u003Ccode>cpl-good.csv\u003C/code>), et cathode physique revérifiée contre sérigraphie/plan\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\n\u003Ch3>Étape 2 : exécuter le script de vérification et comprendre ses limites\u003C/h3>\n\u003Cp>Dans le dossier assets, \u003Ccode>python verify.py\u003C/code> compare les deux CPL à l&#39;ensemble attendu (\u003Ccode>{R1, R2, D1}\u003C/code>), repère les références en double et vérifie le contrat d&#39;orientation de \u003Ccode>D1\u003C/code> :\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-json\">{&quot;file&quot;: &quot;cpl-bad.csv&quot;, &quot;errors&quot;: [&quot;missing:R2&quot;, &quot;unexpected:C3&quot;, &quot;orientation:D1&quot;], &quot;count&quot;: 3}\n{&quot;file&quot;: &quot;cpl-good.csv&quot;, &quot;errors&quot;: [], &quot;count&quot;: 0}\n\u003C/code>\u003C/pre>\n\u003Cp>Noter la frontière entre \u003Cstrong>réconciliation d&#39;ensembles\u003C/strong> et \u003Cstrong>vérification géométrique\u003C/strong> :\u003C/p>\n\u003Cul>\n\u003Cli>Le script compare les deux tables et capture immédiatement les \u003Cstrong>références manquantes (\u003Ccode>R2\u003C/code>)\u003C/strong>, les \u003Cstrong>DNP excédentaires (\u003Ccode>C3\u003C/code>)\u003C/strong> et les \u003Cstrong>lignes en double\u003C/strong> (éclater d&#39;abord les lignes BOM groupées comme \u003Ccode>R1, R2, R5\u003C/code> en références individuelles avant de compter).\u003C/li>\n\u003Cli>Mais aucun script tabulaire \u003Cstrong>ne peut savoir que \u003Ccode>180°\u003C/code> est erroné pour \u003Ccode>D1\u003C/code>\u003C/strong> — la règle d&#39;orientation physique doit d&#39;abord être établie depuis le \u003Cstrong>plan de montage, les couches cuivre/pâte Gerber et la fiche composant\u003C/strong>, par un humain ou le système optique CAM.\u003C/li>\n\u003C/ul>\n\u003Ch2>3. Pourquoi les coordonnées \u003Cspan class=\"math-inline\">(X, Y)\u003C/span> seules ne fixent pas l&#39;orientation\u003C/h2>\n\u003Cp>Même avec un centroïde \u003Cspan class=\"math-inline\">(X, Y)\u003C/span> parfaitement centré entre les deux pads, une rotation de \u003Cspan class=\"math-inline\">90°\u003C/span> ou \u003Cspan class=\"math-inline\">180°\u003C/span> reste invisible tant que trois repères indépendants ne sont pas alignés :\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Fiche composant et standard ruban EIA-481 :\u003C/strong> définit l&#39;orientation du composant physique dans la poche du ruban par rapport aux trous d&#39;entraînement (angle de préhension \u003Cspan class=\"math-inline\">0°\u003C/span>).\u003C/li>\n\u003Cli>\u003Cstrong>Orientation zéro de la bibliothèque CAO (\u003Cspan class=\"math-inline\">0°\u003C/span>) :\u003C/strong> selon IPC-7351, le zéro peut être Level A (Pin 1 en haut à gauche pour les CI, cathode diode à gauche) ou Level B (Pin 1 en bas à gauche) ; les bibliothèques tierces (SnapEDA, Ultra Librarian, SamacSys ou maisons historiques) mélangent souvent les deux sur une même carte.\u003C/li>\n\u003Cli>\u003Cstrong>Marques de polarité du plan de montage :\u003C/strong> des repères clairs sur le contour du composant — \u003Cstrong>point Pin 1\u003C/strong>, \u003Cstrong>barre cathode (\u003Ccode>|◀\u003C/code>)\u003C/strong>, \u003Cstrong>\u003Ccode>+\u003C/code> des condensateurs polarisés\u003C/strong>, \u003Cstrong>détrompeur de connecteur\u003C/strong> — placés où l&#39;AOI peut les lire après pose.\u003C/li>\n\u003C/ol>\n\u003Cp>\u003Cstrong>Règle pour les éditions de table :\u003C/strong> ne pas ajouter uniformément \u003Cspan class=\"math-inline\">+90°\u003C/span> ou \u003Cspan class=\"math-inline\">+180°\u003C/span> à une colonne de rotation dans Excel — sauf à savoir précisément comment le logiciel de programmation SMT de l&#39;assembleur (Valor, Unicam, Fuji Flexa, Yamaha YSUP…) mappe le \u003Cspan class=\"math-inline\">0°\u003C/span> CAO sur l&#39;orientation du ruban en feeder. Mieux : marquer sur le plan de montage les familles polaires et asymétriques — \u003Cstrong>diodes, LED, tantale/électrolytiques, BGA/QFN/QFP, SOT-23/SOT-89, capteurs/micros directionnels\u003C/strong> — et exiger un contrôle premier article (FAI) avec superposition signée.\u003C/p>\n\u003Ch2>4. Diagnostiquer les anomalies systématiques à l&#39;import CPL\u003C/h2>\n\u003Cp>Quand l&#39;assembleur superpose votre CPL aux couches pâte Gerber en CAM, la forme de l&#39;anomalie désigne directement la cause :\u003C/p>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Anomalie visuelle dans l&#39;overlay CAM\u003C/th>\n\u003Cth>Cause côté export/import\u003C/th>\n\u003Cth>Correction correcte\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>Tous les composants décalés du même vecteur \u003Cspan class=\"math-inline\">(Δ X, Δ Y)\u003C/span>\u003C/strong>\u003C/td>\n\u003Ctd>Origine CPL ≠ origine Gerber/perçage\u003C/td>\n\u003Ctd>Réexporter CPL et Gerber sur le même \u003Ccode>Drill/Place File Origin\u003C/code> (ou aligner les deux sur le coin bas-gauche + \u003Ccode>FID1\u003C/code>)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Positions dilatées d&#39;un facteur \u003Cspan class=\"math-inline\">25,4×\u003C/span> ou \u003Cspan class=\"math-inline\">0,03937×\u003C/span>\u003C/strong>\u003C/td>\n\u003Ctd>Conflit d&#39;unités (\u003Ccode>mil\u003C/code> vs \u003Ccode>mm\u003C/code>) ou facteur d&#39;échelle à l&#39;import\u003C/td>\n\u003Ctd>Déclarer l&#39;unité en en-tête (\u003Ccode>mm\u003C/code>) et réimporter à \u003Cspan class=\"math-inline\">1:1\u003C/span>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Top correct, bottom retourné en miroir\u003C/strong>\u003C/td>\n\u003Ctd>\u003Ccode>Negate bottom X\u003C/code> du CAD combiné à une seconde transformation miroir côté CAM\u003C/td>\n\u003Ctd>Convenir avec CAM si le bottom est attendu « vu à travers » ou « en miroir X » ; ne commuter que d&#39;un côté (CAD \u003Cstrong>ou\u003C/strong> CAM)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Chips centrés mais connecteurs/selfs décalés sur Pin 1\u003C/strong>\u003C/td>\n\u003Ctd>Origine d&#39;empreinte au Pin 1 plutôt qu&#39;au centre du corps\u003C/td>\n\u003Ctd>Déplacer l&#39;origine de préhension de l&#39;empreinte au centre géométrique (ou laisser CAM accrocher le centroïde au centre du cadre du groupe de pads)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Une famille de CI entière tournée de \u003Cspan class=\"math-inline\">90°\u003C/span> (ex. tous les SOIC-8)\u003C/strong>\u003C/td>\n\u003Ctd>Bibliothèque dessinée verticalement à \u003Cspan class=\"math-inline\">0°\u003C/span> alors que la bibliothèque feeder attend \u003Cspan class=\"math-inline\">0°\u003C/span> horizontal\u003C/td>\n\u003Ctd>Corriger l&#39;offset de rotation du boîtier dans la bibliothèque machine selon le point Pin 1 du plan de montage\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\n\u003Ch2>5. Soumettre un dossier PCBA synchronisé\u003C/h2>\n\u003Cp>Pour éviter EQ NPI, erreurs de polarité et dérives de révision, le dossier de \u003Ca href=\"/fr/products/pcb-assembly/\">montage PCB\u003C/a> ou \u003Ca href=\"/fr/products/turnkey-assembly/\">PCBA clé en main\u003C/a> doit regrouper les fichiers synchronisés suivants (aspects achats dans le \u003Ca href=\"/fr/blog/bom-error-checking-component-procurement/\">guide de contrôle d&#39;erreurs BOM\u003C/a>) :\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Fichier centroïde/placement (\u003Ccode>.csv\u003C/code> ou \u003Ccode>.pos\u003C/code>) ou package intelligent \u003Ccode>ODB++\u003C/code> / \u003Ccode>IPC-2581\u003C/code> :\u003C/strong> contenant \u003Ccode>Designator\u003C/code>, \u003Ccode>Mid X (mm)\u003C/code>, \u003Ccode>Mid Y (mm)\u003C/code>, \u003Ccode>Layer/Side (Top/Bottom)\u003C/code>, \u003Ccode>Rotation (deg)\u003C/code>, \u003Ccode>Package/Footprint\u003C/code>, \u003Ccode>Comment/Value\u003C/code>.\u003C/li>\n\u003Cli>\u003Cstrong>BOM révisionnée avec colonne \u003Ccode>DNP\u003C/code> :\u003C/strong> chaque SMT \u003Ccode>Fit\u003C/code> de la BOM apparaît exactement une fois dans la CPL ; chaque \u003Ccode>DNP\u003C/code> est clairement marqué.\u003C/li>\n\u003Cli>\u003Cstrong>Plan de montage PDF couleur (vues top/bottom) :\u003C/strong> références, contours, points Pin 1, barres cathode et origine \u003Cspan class=\"math-inline\">(0,0)\u003C/span> visibles.\u003C/li>\n\u003Cli>\u003Cstrong>Couches Gerber pâte et cuivre (\u003Ccode>GTP\u003C/code>/\u003Ccode>GBP\u003C/code>, \u003Ccode>GTL\u003C/code>/\u003Ccode>GBL\u003C/code>) :\u003C/strong> permettant le superposition automatique centroïde-pad en CAM avant découpe du pochoir et programmation SMT.\u003C/li>\n\u003C/ol>\n\u003Cp>Les équipes \u003Ca href=\"/fr/products/smt-assembly/\">montage SMT\u003C/a> et \u003Ca href=\"/fr/products/pcb-assembly/\">montage PCB\u003C/a> de HILPCB exécutent sur tout dossier entrant un \u003Cstrong>contrôle automatique de superposition BOM-CPL-Gerber centroïde\u003C/strong> — centres de corps, polarité Pin 1/cathode contre la fiche et exclusions DNP sont vérifiés avant la première pose, puis bouclés par AOI 3D et contrôle premier article (FAI). \u003Ca href=\"/fr/quote/\">Demander un devis\u003C/a> avec Gerber, BOM et CPL — un dossier complet reçoit typiquement une revue DFM/DFA sous 2 heures.\u003C/p>\n\u003Cdiv data-component=\"BlogQuickQuoteInline\">\u003C/div>\n\n\u003C!-- faq:start -->\n\u003Ch2>Questions fréquentes\u003C/h2>\n\u003Ch3>Pourquoi ma CPL a-t-elle moins de lignes que la BOM ?\u003C/h3>\n\u003Cp>D&#39;abord vérifier si la BOM regroupe plusieurs références par ligne (\u003Ccode>Qty 4 : C1, C2, C3, C4\u003C/code> = 1 ligne BOM, mais 4 lignes CPL). Puis éclater la BOM en références unitaires et retrancher les postes exclus : \u003Ccode>DNP\u003C/code>, mécaniques (vis, entretoises, dissipateurs), éléments de carte nue (fiducials, points de test, trous de montage) et câblage manuel — rien de tout cela ne passe par les machines.\u003C/p>\n\u003Ch3>Faut-il mettre les composants DNP dans le fichier de placement ?\u003C/h3>\n\u003Cp>Les deux conventions fonctionnent \u003Cstrong>si elles sont cohérentes et documentées\u003C/strong> — mais le plus sûr est d&#39;exclure les \u003Ccode>DNP\u003C/code> du fichier machine (ou d&#39;exporter une colonne d&#39;état \u003Ccode>Fitted/DNP\u003C/code> strictement identique à la BOM). L&#39;erreur la plus dangereuse est un \u003Ccode>DNP\u003C/code> noté en passant dans une remarque BOM alors que la même référence reste une ligne de pose normale dans la CPL.\u003C/p>\n\u003Ch3>Différence entre origine Pin 1 et centroïde de placement ?\u003C/h3>\n\u003Cp>À la création d&#39;empreinte, l&#39;origine \u003Cspan class=\"math-inline\">(0,0)\u003C/span> est souvent placée sur \u003Cstrong>Pin 1\u003C/strong> pour faciliter les calculs de pads. Or la buse SMT doit saisir le composant au \u003Cstrong>centre géométrique du corps (centre de gravité)\u003C/strong>, sinon il bascule à haute vitesse. Les EDA modernes (KiCad, Altium) calculent le centre depuis le cadre pads/sérigraphie ou utilisent un attribut \u003Ccode>Component Center\u003C/code> — vérifier manuellement connecteurs et selfs asymétriques.\u003C/p>\n\u003Ch3>Un fichier CPL est-il encore nécessaire avec Gerber X3 ou ODB++ ?\u003C/h3>\n\u003Cp>\u003Cstrong>ODB++\u003C/strong>, \u003Cstrong>IPC-2581\u003C/strong> et \u003Cstrong>Gerber X3\u003C/strong> intègrent centroïdes, contours, Pin 1 et attributs BOM directement dans le jeu de données fabrication/montage, éliminant la plupart des erreurs d&#39;origine et de miroir. Cependant, même en ODB++/IPC-2581, il faut toujours fournir une BOM contrôlée (avec MPN approuvés et marquage \u003Ccode>DNP\u003C/code> révisé) et le plan de montage PDF — pour la vérification de polarité en contrôle premier article.\u003C/p>\n\u003C!-- faq:end -->\n\u003Csection class=\"related-links\" aria-label=\"Liens connexes\">\u003Ch3 id=\"related-links\">Liens connexes\u003C/h3>\u003Cul>\u003Cli>\u003Ca href=\"/fr/blog/what-is-a-bom/\">Qu&#39;est-ce qu&#39;une nomenclature (BOM) en fabrication électronique ? Format de BOM PCBA, tableau d&#39;exemple et règles d&#39;approvisionnement\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/bom.csv\">bom.csv\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/cpl-bad.csv\">cpl-bad.csv\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/cpl-good.csv\">cpl-good.csv\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/assembly-drawing.svg\">assembly-drawing.svg\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/verify.py\">verify.py\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/README.md\">mode d&#39;emploi\u003C/a>\u003C/li>\u003C/ul>\u003C/section>",[14,18,22,26],{"question":15,"answer":16,"answerText":17},"Pourquoi ma CPL a-t-elle moins de lignes que la BOM ?","D'abord vérifier si la BOM regroupe plusieurs références par ligne (`Qty 4 : C1, C2, C3, C4` = 1 ligne BOM, mais 4 lignes CPL). Puis éclater la BOM en références unitaires et retrancher les postes exclus : `DNP`, mécaniques (vis, entretoises, dissipateurs), éléments de carte nue (fiducials, points de test, trous de montage) et câblage manuel — rien de tout cela ne passe par les machines.","D'abord vérifier si la BOM regroupe plusieurs références par ligne (Qty 4 : C1, C2, C3, C4 = 1 ligne BOM, mais 4 lignes CPL). Puis éclater la BOM en références unitaires et retrancher les postes exclus : DNP, mécaniques (vis, entretoises, dissipateurs), éléments de carte nue (fiducials, points de test, trous de montage) et câblage manuel — rien de tout cela ne passe par les machines.",{"question":19,"answer":20,"answerText":21},"Faut-il mettre les composants DNP dans le fichier de placement ?","Les deux conventions fonctionnent **si elles sont cohérentes et documentées** — mais le plus sûr est d'exclure les `DNP` du fichier machine (ou d'exporter une colonne d'état `Fitted/DNP` strictement identique à la BOM). L'erreur la plus dangereuse est un `DNP` noté en passant dans une remarque BOM alors que la même référence reste une ligne de pose normale dans la CPL.","Les deux conventions fonctionnent si elles sont cohérentes et documentées — mais le plus sûr est d'exclure les DNP du fichier machine (ou d'exporter une colonne d'état Fitted/DNP strictement identique à la BOM). L'erreur la plus dangereuse est un DNP noté en passant dans une remarque BOM alors que la même référence reste une ligne de pose normale dans la CPL.",{"question":23,"answer":24,"answerText":25},"Différence entre origine Pin 1 et centroïde de placement ?","À la création d'empreinte, l'origine $(0,0)$ est souvent placée sur **Pin 1** pour faciliter les calculs de pads. Or la buse SMT doit saisir le composant au **centre géométrique du corps (centre de gravité)**, sinon il bascule à haute vitesse. Les EDA modernes (KiCad, Altium) calculent le centre depuis le cadre pads/sérigraphie ou utilisent un attribut `Component Center` — vérifier manuellement connecteurs et selfs asymétriques.","À la création d'empreinte, l'origine $(0,0)$ est souvent placée sur Pin 1 pour faciliter les calculs de pads. Or la buse SMT doit saisir le composant au centre géométrique du corps (centre de gravité), sinon il bascule à haute vitesse. Les EDA modernes (KiCad, Altium) calculent le centre depuis le cadre pads/sérigraphie ou utilisent un attribut Component Center — vérifier manuellement connecteurs et selfs asymétriques.",{"question":27,"answer":28,"answerText":29},"Un fichier CPL est-il encore nécessaire avec Gerber X3 ou ODB++ ?","**ODB++**, **IPC-2581** et **Gerber X3** intègrent centroïdes, contours, Pin 1 et attributs BOM directement dans le jeu de données fabrication/montage, éliminant la plupart des erreurs d'origine et de miroir. Cependant, même en ODB++/IPC-2581, il faut toujours fournir une BOM contrôlée (avec MPN approuvés et marquage `DNP` révisé) et le plan de montage PDF — pour la vérification de polarité en contrôle premier article.","ODB++, IPC-2581 et Gerber X3 intègrent centroïdes, contours, Pin 1 et attributs BOM directement dans le jeu de données fabrication/montage, éliminant la plupart des erreurs d'origine et de miroir. Cependant, même en ODB++/IPC-2581, il faut toujours fournir une BOM contrôlée (avec MPN approuvés et marquage DNP révisé) et le plan de montage PDF — pour la vérification de polarité en contrôle premier article.",[31,32,33,34],"pick and place file","CPL file","centroid file","SMT component placement","pick-and-place-file-checklist","fr",[38,39,40,36,41],"en","de","cn","ru",{"blog":43,"breadcrumb":52},{"@context":44,"@type":45,"headline":4,"description":5,"image":8,"url":46,"datePublished":6,"dateModified":6,"timeRequired":11,"keywords":47,"articleSection":7,"author":48,"publisher":51},"https://schema.org","BlogPosting","https://hilpcb.com/fr/blog/pick-and-place-file-checklist/","pick and place file, CPL file, centroid file, SMT component placement",{"@type":49,"name":50},"Organization","HILPCB",{"@type":49,"name":50},{"@context":44,"@type":53,"itemListElement":54},"BreadcrumbList",[55,60,64],{"@type":56,"position":57,"name":58,"item":59},"ListItem",1,"Home","https://hilpcb.com/",{"@type":56,"position":61,"name":62,"item":63},2,"Blog","https://hilpcb.com/fr/blog/",{"@type":56,"position":65,"name":35,"item":46},3,1793497108507]