diff options
author | rahulp13 | 2020-03-17 14:55:41 +0530 |
---|---|---|
committer | rahulp13 | 2020-03-17 14:55:41 +0530 |
commit | 296443137f4288cb030e92859ccfbe3204bc1088 (patch) | |
tree | ca4798c2da1e7244edc3bc108d81b462b537aea2 /share/doc/kicad/help/en/cvpcb.html | |
parent | 0db48f6533517ecebfd9f0693f89deca28408b76 (diff) | |
download | KiCad-eSim-296443137f4288cb030e92859ccfbe3204bc1088.tar.gz KiCad-eSim-296443137f4288cb030e92859ccfbe3204bc1088.tar.bz2 KiCad-eSim-296443137f4288cb030e92859ccfbe3204bc1088.zip |
initial commit
Diffstat (limited to 'share/doc/kicad/help/en/cvpcb.html')
-rw-r--r-- | share/doc/kicad/help/en/cvpcb.html | 2113 |
1 files changed, 2113 insertions, 0 deletions
diff --git a/share/doc/kicad/help/en/cvpcb.html b/share/doc/kicad/help/en/cvpcb.html new file mode 100644 index 0000000..732761d --- /dev/null +++ b/share/doc/kicad/help/en/cvpcb.html @@ -0,0 +1,2113 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="generator" content="AsciiDoc 8.6.8"> +<title>CvPcb</title> +<style type="text/css"> +/* Shared CSS for AsciiDoc xhtml11 and html5 backends */ + +/* Default font. */ +body { + font-family: Georgia,serif; +} + +/* Title font. */ +h1, h2, h3, h4, h5, h6, +div.title, caption.title, +thead, p.table.header, +#toctitle, +#author, #revnumber, #revdate, #revremark, +#footer { + font-family: Arial,Helvetica,sans-serif; +} + +body { + margin: 1em 5% 1em 5%; +} + +a { + color: blue; + text-decoration: underline; +} +a:visited { + color: fuchsia; +} + +em { + font-style: italic; + color: navy; +} + +strong { + font-weight: bold; + color: #083194; +} + +h1, h2, h3, h4, h5, h6 { + color: #527bbd; + margin-top: 1.2em; + margin-bottom: 0.5em; + line-height: 1.3; +} + +h1, h2, h3 { + border-bottom: 2px solid silver; +} +h2 { + padding-top: 0.5em; +} +h3 { + float: left; +} +h3 + * { + clear: left; +} +h5 { + font-size: 1.0em; +} + +div.sectionbody { + margin-left: 0; +} + +hr { + border: 1px solid silver; +} + +p { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +ul, ol, li > p { + margin-top: 0; +} +ul > li { color: #aaa; } +ul > li > * { color: black; } + +pre { + padding: 0; + margin: 0; +} + +#author { + color: #527bbd; + font-weight: bold; + font-size: 1.1em; +} +#email { +} +#revnumber, #revdate, #revremark { +} + +#footer { + font-size: small; + border-top: 2px solid silver; + padding-top: 0.5em; + margin-top: 4.0em; +} +#footer-text { + float: left; + padding-bottom: 0.5em; +} +#footer-badges { + float: right; + padding-bottom: 0.5em; +} + +#preamble { + margin-top: 1.5em; + margin-bottom: 1.5em; +} +div.imageblock, div.exampleblock, div.verseblock, +div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, +div.admonitionblock { + margin-top: 1.0em; + margin-bottom: 1.5em; +} +div.admonitionblock { + margin-top: 2.0em; + margin-bottom: 2.0em; + margin-right: 10%; + color: #606060; +} + +div.content { /* Block element content. */ + padding: 0; +} + +/* Block element titles. */ +div.title, caption.title { + color: #527bbd; + font-weight: bold; + text-align: left; + margin-top: 1.0em; + margin-bottom: 0.5em; +} +div.title + * { + margin-top: 0; +} + +td div.title:first-child { + margin-top: 0.0em; +} +div.content div.title:first-child { + margin-top: 0.0em; +} +div.content + div.title { + margin-top: 0.0em; +} + +div.sidebarblock > div.content { + background: #ffffee; + border: 1px solid #dddddd; + border-left: 4px solid #f0f0f0; + padding: 0.5em; +} + +div.listingblock > div.content { + border: 1px solid #dddddd; + border-left: 5px solid #f0f0f0; + background: #f8f8f8; + padding: 0.5em; +} + +div.quoteblock, div.verseblock { + padding-left: 1.0em; + margin-left: 1.0em; + margin-right: 10%; + border-left: 5px solid #f0f0f0; + color: #777777; +} + +div.quoteblock > div.attribution { + padding-top: 0.5em; + text-align: right; +} + +div.verseblock > pre.content { + font-family: inherit; + font-size: inherit; +} +div.verseblock > div.attribution { + padding-top: 0.75em; + text-align: left; +} +/* DEPRECATED: Pre version 8.2.7 verse style literal block. */ +div.verseblock + div.attribution { + text-align: left; +} + +div.admonitionblock .icon { + vertical-align: top; + font-size: 1.1em; + font-weight: bold; + text-decoration: underline; + color: #527bbd; + padding-right: 0.5em; +} +div.admonitionblock td.content { + padding-left: 0.5em; + border-left: 3px solid #dddddd; +} + +div.exampleblock > div.content { + border-left: 3px solid #dddddd; + padding-left: 0.5em; +} + +div.imageblock div.content { padding-left: 0; } +span.image img { border-style: none; } +a.image:visited { color: white; } + +dl { + margin-top: 0.8em; + margin-bottom: 0.8em; +} +dt { + margin-top: 0.5em; + margin-bottom: 0; + font-style: normal; + color: navy; +} +dd > *:first-child { + margin-top: 0.1em; +} + +ul, ol { + list-style-position: outside; +} +ol.arabic { + list-style-type: decimal; +} +ol.loweralpha { + list-style-type: lower-alpha; +} +ol.upperalpha { + list-style-type: upper-alpha; +} +ol.lowerroman { + list-style-type: lower-roman; +} +ol.upperroman { + list-style-type: upper-roman; +} + +div.compact ul, div.compact ol, +div.compact p, div.compact p, +div.compact div, div.compact div { + margin-top: 0.1em; + margin-bottom: 0.1em; +} + +tfoot { + font-weight: bold; +} +td > div.verse { + white-space: pre; +} + +div.hdlist { + margin-top: 0.8em; + margin-bottom: 0.8em; +} +div.hdlist tr { + padding-bottom: 15px; +} +dt.hdlist1.strong, td.hdlist1.strong { + font-weight: bold; +} +td.hdlist1 { + vertical-align: top; + font-style: normal; + padding-right: 0.8em; + color: navy; +} +td.hdlist2 { + vertical-align: top; +} +div.hdlist.compact tr { + margin: 0; + padding-bottom: 0; +} + +.comment { + background: yellow; +} + +.footnote, .footnoteref { + font-size: 0.8em; +} + +span.footnote, span.footnoteref { + vertical-align: super; +} + +#footnotes { + margin: 20px 0 20px 0; + padding: 7px 0 0 0; +} + +#footnotes div.footnote { + margin: 0 0 5px 0; +} + +#footnotes hr { + border: none; + border-top: 1px solid silver; + height: 1px; + text-align: left; + margin-left: 0; + width: 20%; + min-width: 100px; +} + +div.colist td { + padding-right: 0.5em; + padding-bottom: 0.3em; + vertical-align: top; +} +div.colist td img { + margin-top: 0.3em; +} + +@media print { + #footer-badges { display: none; } +} + +#toc { + margin-bottom: 2.5em; +} + +#toctitle { + color: #527bbd; + font-size: 1.1em; + font-weight: bold; + margin-top: 1.0em; + margin-bottom: 0.1em; +} + +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { + margin-top: 0; + margin-bottom: 0; +} +div.toclevel2 { + margin-left: 2em; + font-size: 0.9em; +} +div.toclevel3 { + margin-left: 4em; + font-size: 0.9em; +} +div.toclevel4 { + margin-left: 6em; + font-size: 0.9em; +} + +span.aqua { color: aqua; } +span.black { color: black; } +span.blue { color: blue; } +span.fuchsia { color: fuchsia; } +span.gray { color: gray; } +span.green { color: green; } +span.lime { color: lime; } +span.maroon { color: maroon; } +span.navy { color: navy; } +span.olive { color: olive; } +span.purple { color: purple; } +span.red { color: red; } +span.silver { color: silver; } +span.teal { color: teal; } +span.white { color: white; } +span.yellow { color: yellow; } + +span.aqua-background { background: aqua; } +span.black-background { background: black; } +span.blue-background { background: blue; } +span.fuchsia-background { background: fuchsia; } +span.gray-background { background: gray; } +span.green-background { background: green; } +span.lime-background { background: lime; } +span.maroon-background { background: maroon; } +span.navy-background { background: navy; } +span.olive-background { background: olive; } +span.purple-background { background: purple; } +span.red-background { background: red; } +span.silver-background { background: silver; } +span.teal-background { background: teal; } +span.white-background { background: white; } +span.yellow-background { background: yellow; } + +span.big { font-size: 2em; } +span.small { font-size: 0.6em; } + +span.underline { text-decoration: underline; } +span.overline { text-decoration: overline; } +span.line-through { text-decoration: line-through; } + + +/* + * xhtml11 specific + * + * */ + +tt { + font-family: monospace; + font-size: inherit; + color: navy; +} + +div.tableblock { + margin-top: 1.0em; + margin-bottom: 1.5em; +} +div.tableblock > table { + border: 3px solid #527bbd; +} +thead, p.table.header { + font-weight: bold; + color: #527bbd; +} +p.table { + margin-top: 0; +} +/* Because the table frame attribute is overriden by CSS in most browsers. */ +div.tableblock > table[frame="void"] { + border-style: none; +} +div.tableblock > table[frame="hsides"] { + border-left-style: none; + border-right-style: none; +} +div.tableblock > table[frame="vsides"] { + border-top-style: none; + border-bottom-style: none; +} + + +/* + * html5 specific + * + * */ + +.monospaced { + font-family: monospace; + font-size: inherit; + color: navy; +} + +table.tableblock { + margin-top: 1.0em; + margin-bottom: 1.5em; +} +thead, p.tableblock.header { + font-weight: bold; + color: #527bbd; +} +p.tableblock { + margin-top: 0; +} +table.tableblock { + border-width: 3px; + border-spacing: 0px; + border-style: solid; + border-color: #527bbd; + border-collapse: collapse; +} +th.tableblock, td.tableblock { + border-width: 1px; + padding: 4px; + border-style: solid; + border-color: #527bbd; +} + +table.tableblock.frame-topbot { + border-left-style: hidden; + border-right-style: hidden; +} +table.tableblock.frame-sides { + border-top-style: hidden; + border-bottom-style: hidden; +} +table.tableblock.frame-none { + border-style: hidden; +} + +th.tableblock.halign-left, td.tableblock.halign-left { + text-align: left; +} +th.tableblock.halign-center, td.tableblock.halign-center { + text-align: center; +} +th.tableblock.halign-right, td.tableblock.halign-right { + text-align: right; +} + +th.tableblock.valign-top, td.tableblock.valign-top { + vertical-align: top; +} +th.tableblock.valign-middle, td.tableblock.valign-middle { + vertical-align: middle; +} +th.tableblock.valign-bottom, td.tableblock.valign-bottom { + vertical-align: bottom; +} + + +/* + * manpage specific + * + * */ + +body.manpage h1 { + padding-top: 0.5em; + padding-bottom: 0.5em; + border-top: 2px solid silver; + border-bottom: 2px solid silver; +} +body.manpage h2 { + border-style: none; +} +body.manpage div.sectionbody { + margin-left: 3em; +} + +@media print { + body.manpage div#toc { display: none; } +} + + +/* + * Theme specific overrides of the preceding (asciidoc.css) CSS. + * + */ +body { + font-family: Garamond, Georgia, serif; + font-size: 17px; + color: #3E4349; + line-height: 1.3em; +} +h1, h2, h3, h4, h5, h6, +div.title, caption.title, +thead, p.table.header, +#toctitle, +#author, #revnumber, #revdate, #revremark, +#footer { + font-family: Garmond, Georgia, serif; + font-weight: normal; + border-bottom-width: 0; + color: #3E4349; +} +div.title, caption.title { color: #596673; font-weight: bold; } +h1 { font-size: 240%; } +h2 { font-size: 180%; } +h3 { font-size: 150%; } +h4 { font-size: 130%; } +h5 { font-size: 115%; } +h6 { font-size: 100%; } +#header h1 { margin-top: 0; } +#toc { + color: #444444; + line-height: 1.5; + padding-top: 1.5em; +} +#toctitle { + font-size: 20px; +} +#toc a { + border-bottom: 1px dotted #999999; + color: #444444 !important; + text-decoration: none !important; +} +#toc a:hover { + border-bottom: 1px solid #6D4100; + color: #6D4100 !important; + text-decoration: none !important; +} +div.toclevel1 { margin-top: 0.2em; font-size: 16px; } +div.toclevel2 { margin-top: 0.15em; font-size: 14px; } +em, dt, td.hdlist1 { color: black; } +strong { color: #3E4349; } +a { color: #004B6B; text-decoration: none; border-bottom: 1px dotted #004B6B; } +a:visited { color: #615FA0; border-bottom: 1px dotted #615FA0; } +a:hover { color: #6D4100; border-bottom: 1px solid #6D4100; } +div.tableblock > table, table.tableblock { border: 3px solid #E8E8E8; } +th.tableblock, td.tableblock { border: 1px solid #E8E8E8; } +ul > li > * { color: #3E4349; } +pre, tt, .monospaced { font-family: Consolas,Menlo,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace; } +tt, .monospaced { font-size: 0.9em; color: black; +} +div.exampleblock > div.content, div.sidebarblock > div.content, div.listingblock > div.content { border-width: 0 0 0 3px; border-color: #E8E8E8; } +div.verseblock { border-left-width: 0; margin-left: 3em; } +div.quoteblock { border-left-width: 3px; margin-left: 0; margin-right: 0;} +div.admonitionblock td.content { border-left: 3px solid #E8E8E8; } + + +@media screen { + body { + max-width: 50em; /* approximately 80 characters wide */ + margin-left: 16em; + } + + #toc { + position: fixed; + top: 0; + left: 0; + bottom: 0; + width: 13em; + padding: 0.5em; + padding-bottom: 1.5em; + margin: 0; + overflow: auto; + border-right: 3px solid #f8f8f8; + background-color: white; + } + + #toc .toclevel1 { + margin-top: 0.5em; + } + + #toc .toclevel2 { + margin-top: 0.25em; + display: list-item; + color: #aaaaaa; + } + + #toctitle { + margin-top: 0.5em; + } +} +</style> +<script type="text/javascript"> +/*<+'])'); + // Function that scans the DOM tree for header elements (the DOM2 + // nodeIterator API would be a better technique but not supported by all + // browsers). + var iterate = function (el) { + for (var i = el.firstChild; i != null; i = i.nextSibling) { + if (i.nodeType == 1 /* Node.ELEMENT_NODE */) { + var mo = re.exec(i.tagName); + if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") { + result[result.length] = new TocEntry(i, getText(i), mo[1]-1); + } + iterate(i); + } + } + } + iterate(el); + return result; + } + + var toc = document.getElementById("toc"); + if (!toc) { + return; + } + + // Delete existing TOC entries in case we're reloading the TOC. + var tocEntriesToRemove = []; + var i; + for (i = 0; i < toc.childNodes.length; i++) { + var entry = toc.childNodes[i]; + if (entry.nodeName.toLowerCase() == 'div' + && entry.getAttribute("class") + && entry.getAttribute("class").match(/^toclevel/)) + tocEntriesToRemove.push(entry); + } + for (i = 0; i < tocEntriesToRemove.length; i++) { + toc.removeChild(tocEntriesToRemove[i]); + } + + // Rebuild TOC entries. + var entries = tocEntries(document.getElementById("content"), toclevels); + for (var i = 0; i < entries.length; ++i) { + var entry = entries[i]; + if (entry.element.id == "") + entry.element.id = "_toc_" + i; + var a = document.createElement("a"); + a.href = "#" + entry.element.id; + a.appendChild(document.createTextNode(entry.text)); + var div = document.createElement("div"); + div.appendChild(a); + div.className = "toclevel" + entry.toclevel; + toc.appendChild(div); + } + if (entries.length == 0) + toc.parentNode.removeChild(toc); +}, + + +///////////////////////////////////////////////////////////////////// +// Footnotes generator +///////////////////////////////////////////////////////////////////// + +/* Based on footnote generation code from: + * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html + */ + +footnotes: function () { + // Delete existing footnote entries in case we're reloading the footnodes. + var i; + var noteholder = document.getElementById("footnotes"); + if (!noteholder) { + return; + } + var entriesToRemove = []; + for (i = 0; i < noteholder.childNodes.length; i++) { + var entry = noteholder.childNodes[i]; + if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote") + entriesToRemove.push(entry); + } + for (i = 0; i < entriesToRemove.length; i++) { + noteholder.removeChild(entriesToRemove[i]); + } + + // Rebuild footnote entries. + var cont = document.getElementById("content"); + var spans = cont.getElementsByTagName("span"); + var refs = {}; + var n = 0; + for (i=0; i<spans.length; i++) { + if (spans[i].className == "footnote") { + n++; + var note = spans[i].getAttribute("data-note"); + if (!note) { + // Use [\s\S] in place of . so multi-line matches work. + // Because JavaScript has no s (dotall) regex flag. + note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1]; + spans[i].innerHTML = + "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n + + "' title='View footnote' class='footnote'>" + n + "</a>]"; + spans[i].setAttribute("data-note", note); + } + noteholder.innerHTML += + "<div class='footnote' id='_footnote_" + n + "'>" + + "<a href='#_footnoteref_" + n + "' title='Return to text'>" + + n + "</a>. " + note + "</div>"; + var id =spans[i].getAttribute("id"); + if (id != null) refs["#"+id] = n; + } + } + if (n == 0) + noteholder.parentNode.removeChild(noteholder); + else { + // Process footnoterefs. + for (i=0; i<spans.length; i++) { + if (spans[i].className == "footnoteref") { + var href = spans[i].getElementsByTagName("a")[0].getAttribute("href"); + href = href.match(/#.*/)[0]; // Because IE return full URL. + n = refs[href]; + spans[i].innerHTML = + "[<a href='#_footnote_" + n + + "' title='View footnote' class='footnote'>" + n + "</a>]"; + } + } + } +}, + +install: function(toclevels) { + var timerId; + + function reinstall() { + asciidoc.footnotes(); + if (toclevels) { + asciidoc.toc(toclevels); + } + } + + function reinstallAndRemoveTimer() { + clearInterval(timerId); + reinstall(); + } + + timerId = setInterval(reinstall, 500); + if (document.addEventListener) + document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false); + else + window.onload = reinstallAndRemoveTimer; +} + +} +asciidoc.install(2); +/*]]>*/ +</script> +</head> +<body class="article"> +<div id="header"> +<h1>CvPcb</h1> +<span id="author">The KiCad Team</span><br> +<div id="toc"> + <div id="toctitle">Table of Contents</div> + <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript> +</div> +</div> +<div id="content"> +<div id="preamble"> +<div class="sectionbody"> +<div class="paragraph"><p><em>Reference manual</em></p></div> +<div class="paragraph" id="copyright"><p><strong>Copyright</strong></p></div> +<div class="paragraph"><p>This document is Copyright © 2010-2015 by it’s contributors as listed +below. You may distribute it and/or modify it under the terms of either +the GNU General Public License (<a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a>), +version 3 or later, or the Creative Commons Attribution License +(<a href="http://creativecommons.org/licenses/by/3.0/">http://creativecommons.org/licenses/by/3.0/</a>), version 3.0 or later.</p></div> +<div class="paragraph"><p>All trademarks within this guide belong to their legitimate owners.</p></div> +<div class="paragraph" id="contributors"><p><strong>Contributors</strong></p></div> +<div class="paragraph"><p>Jean-Pierre Charras, Fabrizio Tappero, Wayne Stambaugh.</p></div> +<div class="paragraph" id="feedback"><p><strong>Feedback</strong></p></div> +<div class="paragraph"><p>Please direct any bug reports, suggestions or new versions to here:</p></div> +<div class="ulist"><ul> +<li> +<p> +About KiCad document: <a href="https://github.com/KiCad/kicad-doc/issues">https://github.com/KiCad/kicad-doc/issues</a> +</p> +</li> +<li> +<p> +About KiCad software: <a href="https://bugs.launchpad.net/kicad">https://bugs.launchpad.net/kicad</a> +</p> +</li> +<li> +<p> +About KiCad software i18n: <a href="https://github.com/KiCad/kicad-i18n/issues">https://github.com/KiCad/kicad-i18n/issues</a> +</p> +</li> +</ul></div> +<div class="paragraph" id="publication_date_and_software_version"><p><strong>Publication date and software version</strong></p></div> +<div class="paragraph"><p>Published on may 22, 2015.</p></div> +<div style="page-break-after:always"></div> +</div> +</div> +<div class="sect1"> +<h2 id="_introduction_to_cvpcb">1. Introduction to CvPcb</h2> +<div class="sectionbody"> +<div class="paragraph"><p>CvPcb is a tool that allows you to associate components in your +schematic to component footprints used when laying out the printed +circuit board. This association is added to the net list file created by +the schematic capture program Eeschema.</p></div> +<div class="paragraph"><p>The net list file generated by Eeschema specifies which printed circuit board footprint +is associated with each component in the schematic only when the footprint field +of the component is initialized.</p></div> +<div class="paragraph"><p>This is the case when component footprints are associated during schematic capture +by setting the component’s footprint field, or it is set in the schematic library +when loading the symbol.</p></div> +<div class="paragraph"><p>CvPcb provides a convenient method of associating footprints to components +during schematic capture. +It provides footprint list filtering, footprint viewing, and 3D component model +viewing to help ensure the correct footprint is associated with each component.</p></div> +<div class="paragraph"><p>Components can be assigned to their corresponding footprints manually or +automatically by creating equivalence files (.equ files). +Equivalence files are lookup tables associating each component with it’s footprint.</p></div> +<div class="paragraph"><p>This interactive approach is simpler and less error prone than directly +associating the footprints in the schematic editor.</p></div> +<div class="paragraph"><p>CvPcb allows you to see the list of available footprints and to display them +on the screen to ensure you are associating the correct footprint.</p></div> +<div class="paragraph"><p><strong>It can be run only from Eeschema</strong>, from the top toolbar, either when +Eeschema is started from the KiCad project manager or when Eeschema is +started as a stand alone application.</p></div> +<div class="paragraph"><p>Running CvPcb from Eeschema lauched from the KiCad Manager is generally +better because:</p></div> +<div class="ulist"><ul> +<li> +<p> +Cvpcb needs the project config file to know the footprint libraries to + load. +</p> +</li> +<li> +<p> +Cvpcb initializes the components footprint fields of the current + schematic project. This is possible only if the project file is in the + same path as the open schematic. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Lauching CvPcb from an Eeschema launched from the KiCad manager assures +automatically all this.</p></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Warning</div> +</td> +<td class="content">You actually <strong>can</strong> launch CvPcb from a stand alone Eeschema +session though, but please note that any schematic opened that does not +have a project file in the same path may be missing components due to +missing libraries which will not show up in CvPcb. If there is no +fp-lib-table file in the same path as the open schematic, no project +specific footprint libraries will be available either.</td> +</tr></table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_cvpcb_features">2. CvPcb Features</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_manual_or_automatic_association">2.1. Manual or Automatic Association</h3> +<div class="paragraph"><p>CvPcb allows for interactive assignment (manual) as well as automatic +assignment via equivalence files.</p></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_invoking_cvpcb">3. Invoking CvPcb</h2> +<div class="sectionbody"> +<div class="paragraph"><p><strong>CvPcb is only invoked from the schematic capture program Eeschema</strong>, by the tool:</p></div> +<div class="paragraph"><p><span class="image"> +<img src="images/icons/run-cvpcb.png" alt="run cvpcb"> +</span></p></div> +<div class="paragraph"><p>Eeschema automatically passes the correct data (component list and footprints) to CvPcb. +There is no update to do (unless some new components are not yet annotated), just run Cvpcb.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_cvpcb_commands">4. CvPcb Commands</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_main_screen">4.1. Main Screen</h3> +<div class="paragraph"><p>The image below shows the main window of CvPcb.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/cvpcb_main_window.png" alt="images/en/cvpcb_main_window.png"> +</div> +</div> +<div class="paragraph"><p>The left pane contains the list of available footprint library file +names associated with the project. The center pane contains the list of +components loaded from the net list file. The right pane contains the +list of available footprints loaded from the project footprint libraries. +The component pane will be empty if no netlist file has been loaded +and the footprint pane can be also empty if no footprint libraries are +found.</p></div> +</div> +<div class="sect2"> +<h3 id="_main_window_toolbar">4.2. Main Window Toolbar</h3> +<div class="imageblock"> +<div class="content"> +<img src="images/cvpcb_main_toolbar.png" alt="images/cvpcb_main_toolbar.png"> +</div> +</div> +<div class="paragraph"><p>The top toolbar allows for easy access to the following commands:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:80%; +"> +<col style="width:10%;"> +<col style="width:90%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/save.png" alt="images/icons/save.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Transfer the current footprint association to Eeschema (this is the content of footprint fields).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/config.png" alt="images/icons/config.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Invoke the CvPcb configuration menu.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/show_footprint.png" alt="images/icons/show_footprint.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Display the footprint of the component selected in the footprint +window.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/left.png" alt="images/icons/left.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Automatically select the previous component in the list without a +footprint association.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/right.png" alt="images/icons/right.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Automatically select the next component in the list without a footprint +association.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/auto_association.png" alt="images/icons/auto_association.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Automatically associate footprints with components starting using an +equivalence file.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/delete_association.png" alt="images/icons/delete_association.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Delete all footprint assignments.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/datasheet.png" alt="images/icons/datasheet.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Open the selected footprint documentation pdf file using the default +pdf viewer.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/filter_component.png" alt="images/icons/filter_component.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Enable or disable the filtering to limit the list of footprints to the +footprint filters of the selected component.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/filter_pincount.png" alt="images/icons/filter_pincount.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Enable or disable the filtering to limit the list of footprints using +the pin count of the selected component.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/filter_library.png" alt="images/icons/filter_library.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Enable or disable filtering to limit the list of footprints using the +selected library.</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_main_window_keyboard_commands">4.3. Main Window Keyboard Commands</h3> +<div class="paragraph"><p>The following table lists the keyboard commands for the main window:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:80%; +"> +<col style="width:15%;"> +<col style="width:85%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Right Arrow / Tab</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Activate the next pane to the right of the currently activated pane. +Wrap around to the first pane if the last pane is currently activated.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Left Arrow</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Activate the next pane to the left of the currently activated +pane. Wrap around to the last pane if the first pane is currently activated.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Up Arrow</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Select the previous item of the currently selected list.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Down Arrow</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Select the next item of the currently selected list.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Page Up</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Select the item up one full page of the currently selected +list.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Page Down</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Select the item down one full page of the currently selected +list.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Home</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Select the first item of the currently selected list.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">End</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Select the last item of the currently selected list.</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_cvpcb_configuration">4.4. CvPcb Configuration</h3> +<div class="imageblock"> +<div class="content"> +<img src="images/en/cvpcb_preference_menu.png" alt="images/en/cvpcb_preference_menu.png"> +</div> +</div> +<div class="paragraph"><p>CvPcb can be automatically closed after saving the footprint association +file, or not.</p></div> +<div class="paragraph"><p>Invoking the “Libraries” entry in the “Preferences” menu displays +the library configuration dialog.</p></div> +<div class="paragraph"><p>Depending on the CvPcb version, there are 2 different methods of library +management:</p></div> +<div class="ulist"><ul> +<li> +<p> +The legacy management, using *.mod files, and a library list of files. +</p> +</li> +<li> +<p> +The new “Pretty” format, using one file by footprint. It uses a + folder list. Each folder (*.pretty folder name) is a library. When + using this new method of library management, You can also use native libraries originating + from GEDA/GPCB or even Eagle xml format files. +</p> +</li> +</ul></div> +<div style="page-break-after:always"></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_footprint_libraries_management">5. Footprint Libraries Management</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_important_remark">5.1. Important remark:</h3> +<div class="paragraph"><p><strong><em>This section is relevant only for KiCad versions since December 2013</em></strong></p></div> +</div> +<div class="sect2"> +<h3 id="_footprint_library_tables">5.2. Footprint Library tables</h3> +<div class="paragraph"><p>Since December 2013, Pcbnew and CvPcb uses a new library management tool +based on <strong><em>footprint library tables</em></strong> which allows <strong>direct use of +footprint libraries</strong> from</p></div> +<div class="ulist"><ul> +<li> +<p> +KiCad Legacy footprint libraries (.mod files) +</p> +</li> +<li> +<p> +KiCad New <em>.pretty</em> footprint libraries (on your local disk) + (folders with .pretty extension, containing .kicad_mod files) +</p> +</li> +<li> +<p> +KiCad New <em>.pretty</em> footprint libraries (on our Github server, or other Github server) +</p> +</li> +<li> +<p> +GEDA libraries (folders containing .fp files) +</p> +</li> +<li> +<p> +Eagle footprint libraries +</p> +</li> +</ul></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Note</div> +</td> +<td class="content"> +<div class="ulist"><ul> +<li> +<p> +you can write only KiCad <em>.pretty</em> footprint library folders on your local disk + (and the .kicad_mod files inside these folders). +</p> +</li> +<li> +<p> +All other formats are read only. +</p> +</li> +</ul></div> +</td> +</tr></table> +</div> +<div style="page-break-after:always"></div> +<div class="paragraph"><p>The image below shows the footprint library table editing dialog which +can be opened by invoking the “Footprint Libraries” entry from the +“Preferences” menu.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/lib_table.png" alt="lib table dlg"> +</div> +</div> +<div class="paragraph"><p>The footprint library table is used to map a footprint library of any +supported library type to a library nickname. <strong>This nickname is used to +look up footprints</strong> instead of the previous method which depended on +library search path ordering.</p></div> +<div class="paragraph"><p>This allows CvPcb to access footprints +with the same name in different libraries by ensuring that the correct +footprint is loaded from the appropriate library. It also allows CvPcb +to support loading libraries from different PCB editors such as Eagle +and GEDA.</p></div> +<div class="sect3"> +<h4 id="_global_footprint_library_table">5.2.1. Global Footprint Library Table</h4> +<div class="paragraph"><p>The global footprint library table contains the list of libraries that +are always available regardless of the currently loaded project file. +The table is saved in the file fp-lib-table in the user’s home folder. +The location of this folder is dependent upon the operating system being used.</p></div> +</div> +<div class="sect3"> +<h4 id="_project_specific_footprint_library_table">5.2.2. Project Specific Footprint Library Table</h4> +<div class="paragraph"><p>The project specific footprint library table contains the list of +libraries that are available specifically for the currently loaded +project file. The project specific footprint library table can only be +edited when it is loaded along with the project netlist file. If no +project file is loaded or there is no footprint library table file in +the project path, an empty table is created which can be edited and +later saved along with the footprint assignment file.</p></div> +</div> +<div class="sect3"> +<h4 id="_initial_configuration">5.2.3. Initial Configuration</h4> +<div class="paragraph"><p>The first time Pcbnew or CvPcb is run and the global footprint table +file <strong>fp-lib-table</strong> is not found in the user’s home folder, Pcbnew or CvPcb +will attempt to copy the default footprint table file fp-lib-table stored in +the system’s KiCad template folder to the file fp-lib-table in the +user’s home folder.</p></div> +<div class="paragraph"><p>If fp-lib-table cannot be found, an empty footprint library table will +be created in the user’s home folder. If this happens, the user can +either copy fp-lib-table manually or configure the table by hand.</p></div> +<div class="paragraph"><p>The default footprint library table includes many of the standard +footprint libraries that are installed as part of KiCad.</p></div> +<div class="paragraph"><p>Obviously, the <strong>first thing</strong> to do is to modify this table (add/remove entries) +according to your work and the libraries you need for all your projects.</p></div> +<div class="paragraph"><p>(Too many libraries to load is time consuming)</p></div> +</div> +<div class="sect3"> +<h4 id="_adding_table_entries">5.2.4. Adding Table Entries</h4> +<div class="paragraph"><p>In order to use a footprint library, it must first be added to either +the global table or the project specific table. The project specific +table is only applicable when you have a net list file open.</p></div> +<div class="paragraph"><p><strong>Each library entry must have a unique nickname.</strong></p></div> +<div class="paragraph"><p>This does not have to be related in any way to the actual library file +name or path. The colon : character cannot be used anywhere in the +nickname. Each library entry must have a valid path and/or file name +depending on the type of library. Paths can be defined as absolute, +relative, or by environment variable substitution (see section below).</p></div> +<div class="paragraph"><p>The appropriate plug in type must be selected in order for the library +to be properly read. KiCad currently supports reading KiCad legacy, +KiCad Pretty, Eagle, and GEDA footprint libraries.</p></div> +<div class="paragraph"><p>There is also a description field to add a description of the library +entry. The option field is not used at this time so adding options will +have no effect when loading libraries.</p></div> +<div class="ulist"><ul> +<li> +<p> +Please note that you cannot have duplicate library nicknames in the +same table. However, you can have duplicate library nicknames in both +the global and project specific footprint library table. +</p> +</li> +<li> +<p> +The project specific table entry will take precedence over the global +table entry when duplicated names occur. When entries are defined in the +project specific table, an fp-lib-table file containing the entries will +be written into the folder of the currently open net list. +</p> +</li> +</ul></div> +</div> +<div class="sect3"> +<h4 id="_environment_variable_substitution">5.2.5. Environment Variable Substitution</h4> +<div class="paragraph"><p>One of the most powerful features of the footprint library table is +environment variable substitution. This allows you to define custom +paths to where your libraries are stored in environment variables. +Environment variable substitution is supported by using the syntax +<span class="monospaced">${ENV_VAR_NAME}</span> in the footprint library path.</p></div> +<div class="paragraph"><p>By default, at run time KiCad defines <strong>two environment variables</strong>:</p></div> +<div class="ulist"><ul> +<li> +<p> +the <strong><span class="monospaced">KIPRJMOD</span></strong> environment variable. This points always the current project directory + and cannot be modified. +</p> +</li> +<li> +<p> +the <strong><span class="monospaced">KISYSMOD</span></strong> environment variable. This points to where the + default footprint libraries that were installed with KiCad are located. +</p> +</li> +</ul></div> +<div class="paragraph"><p>You can override <span class="monospaced">KISYSMOD</span> by defining it yourself in preferences/Configure Path +which allows you to substitute your own libraries in place of the default KiCad footprint +libraries.</p></div> +<div class="paragraph"><p>When a project netlist file is loaded, CvPcb defines the <span class="monospaced">KIPRJMOD</span> +using the file path (the project path).</p></div> +<div class="paragraph"><p>Pcbnew also defines this environment variable when loading a board file.</p></div> +<div class="paragraph"><p>This allows you to store libraries in the project path without having +to define the absolute path (which is not always known) to the library +in the project specific footprint library table.</p></div> +</div> +<div class="sect3"> +<h4 id="_using_the_github_plugin">5.2.6. Using the GitHub Plugin</h4> +<div class="paragraph"><p>The GitHub is a special plugin that provides an interface for read only +access to a remote Git Hub repository consisting of pretty (Pretty is +name of the KiCad footprint file format) footprints and optionally +provides “Copy On Write” (COW) support for editing footprints read from +the GitHub repo and saving them locally. Therefore the “Git Hub” plugin +is for <strong>read only accessing remote pretty footprint libraries at</strong> +<a href="https://github.com/">https://github.com</a>. To add a GitHub entry to the +footprint library table the “Library Path” in the footprint library +table row a must be set to a valid GitHub URL.</p></div> +<div class="paragraph"><p>For example:</p></div> +<div class="paragraph"><p><a href="https://github.com/liftoff-sr/pretty_footprints">https://github.com/liftoff-sr/pretty_footprints</a></p></div> +<div class="paragraph"><p>or</p></div> +<div class="paragraph"><p><a href="https://github.com/KiCad">https://github.com/KiCad</a></p></div> +<div class="paragraph"><p>Typically GitHub URLs take the form:</p></div> +<div class="paragraph"><p><a href="https://github.com/user_name/repo_name">https://github.com/user_name/repo_name</a></p></div> +<div class="paragraph"><p>The “Plugin Type” must be set to “Github”. To enable the “Copy On +Write” feature the option <strong>allow_pretty_writing_to_this_dir</strong> must be +added to the “Options” setting of the footprint library table entry. +This option is the “Library Path” for local storage of modified copies +of footprints read from the GitHub repo. The footprints saved to this +path are combined with the read only part of the Git Hub repository to +create the footprint library. If this option is missing, then the Git +Hub library is read only. If the option is present for a Git Hub library, +then any writes to this hybrid library will go to the local +*.pretty directory. Note that the github.com resident portion of this +hybrid COW library is always read only, meaning you cannot delete +anything or modify any footprint in the specified Git Hub repository +directly. The aggregate library type remains “Github” in all further +discussions, but it consists of both the local read/write portion and the +remote read only portion.</p></div> +<div class="paragraph"><p>The table below shows a footprint library table entry without the option +<strong>allow_pretty_writing_to_this_dir</strong>:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:9%;"> +<col style="width:37%;"> +<col style="width:8%;"> +<col style="width:37%;"> +<col style="width:9%;"> +<thead> +<tr> +<th class="tableblock halign-left valign-top" >Nickname </th> +<th class="tableblock halign-left valign-top" >Library Path </th> +<th class="tableblock halign-left valign-top" >Plugin Type </th> +<th class="tableblock halign-left valign-top" >Options </th> +<th class="tableblock halign-left valign-top" >Descript.</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">github</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><a href="https://github.com/liftoff-sr/pretty_footprints">https://github.com/liftoff-sr/pretty_footprints</a></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Github</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock"></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Liftoff’s GH footprints</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"><p>The table below shows a footprint library table entry with the COW option +given. Note the use of the environment variable ${HOME} as an example +only. The github.pretty directory is located in ${HOME}/pretty/ path. +Anytime you use the option <strong>allow_pretty_writing_to_this_dir</strong>, you will +need to create that directory manually in advance and it must end with +the extension <strong>.pretty</strong>.</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:9%;"> +<col style="width:37%;"> +<col style="width:8%;"> +<col style="width:37%;"> +<col style="width:9%;"> +<thead> +<tr> +<th class="tableblock halign-left valign-top" >Nickname </th> +<th class="tableblock halign-left valign-top" >Library Path </th> +<th class="tableblock halign-left valign-top" >Plugin Type </th> +<th class="tableblock halign-left valign-top" >Options </th> +<th class="tableblock halign-left valign-top" >Descript.</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">github</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><a href="https://github.com/liftoff-sr/pretty_footprints">https://github.com/liftoff-sr/pretty_footprints</a></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Github</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">allow_pretty_writing_to_this_dir= ${HOME}/pretty/github.pretty</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Liftoff’s GH footprints</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"><p>Footprint loads will always give precedence to the local footprints found +in the path given by the option <strong>allow_pretty_writing_to_this_dir</strong>. Once +you have saved a footprint to the COW library’s local directory by doing +a footprint save in the footprint editor, no Git Hub updates will be +seen when loading a footprint with the same name as one for which you’ve +saved locally.</p></div> +<div class="paragraph"><p>Always keep a separate local *.pretty directory for each Git Hub library, +never combine them by referring to the same directory more than once.</p></div> +<div class="paragraph"><p>Also, do not use the same COW (*.pretty) directory in a footprint library +table entry. This would likely create a mess.</p></div> +<div class="paragraph"><p>The value of the option <strong>allow_pretty_writing_to_this_dir</strong> will expand +any environment variable using the ${} notation to create the path in +the same way as the “Library Path” setting.</p></div> +<div class="paragraph"><p>What is the point of COW? It is to turbo-charge the sharing of footprints.</p></div> +<div class="paragraph"><p>If you periodically email your COW pretty footprint modifications to the +GitHub repository maintainer, you can help update the Git Hub copy. +Simply email the individual *.kicad_mod files you find in your COW +directories to the maintainer of the GitHub repository. After you have +received confirmation that your changes have been committed, you can +safely delete your COW file(s) and the updated footprint from the read +only part of Git Hub library will flow down. Your goal should be to +keep the COW file set as small as possible by contributing frequently to +the shared master copies at <a href="https://github.com/">https://github.com</a>.</p></div> +</div> +<div class="sect3"> +<h4 id="_usage_patterns">5.2.7. Usage Patterns</h4> +<div class="paragraph"><p>Footprint libraries can be defined either globally or specifically to +the currently loaded project. Footprint libraries defined in the user’s +global table are always available and are stored in the fp-lib-table +file in the user’s home folder.</p></div> +<div class="paragraph"><p>Global footprint libraries can always be accessed even when there is no +project net list file opened.</p></div> +<div class="paragraph"><p>The project specific footprint table is active only for the currently open net list file.</p></div> +<div class="paragraph"><p>The project specific footprint library table is saved in the file +fp-lib-table in the path of the currently open net list . You are free +to define libraries in either table.</p></div> +<div class="paragraph"><p>There are advantages and disadvantages to each method. You can define +all of your libraries in the global table which means they will always +be available when you need them. The disadvantage of this is that you +may have to search through a lot of libraries to find the footprint you +are looking for. You can define all your libraries on a project specific +basis.</p></div> +<div class="paragraph"><p>The advantage of this is that you only need to define the libraries you +actually need for the project which cuts down on searching.</p></div> +<div class="paragraph"><p>The disadvantage is that you always have to remember to add each +footprint library that you need for every project. You can also define +footprint libraries both globally and project specifically.</p></div> +<div class="paragraph"><p>One usage pattern would be to define your most commonly used libraries +globally and the library only require for the project in the project +specific library table. There is no restriction on how you define your +libraries.</p></div> +<div style="page-break-after:always"></div> +</div> +</div> +<div class="sect2"> +<h3 id="_using_the_footprint_library_table_wizard">5.3. Using the Footprint Library Table Wizard</h3> +<div class="paragraph"><p>A wizard to add footprint libraries to the footprint library tables +is available from the <em>footprint library table editing dialog</em>.</p></div> +<div class="paragraph"><p>Note also libraries can be any type of footprint library supported by KiCad.</p></div> +<div class="paragraph"><p>It can add “local” libraries or libraries from a Github repository.</p></div> +<div class="paragraph"><p>When libraries are on a Github repository, they can be added as remote libraries, +or <strong>downloaded and added as <em>local libraries</em></strong>.</p></div> +<div class="paragraph"><p>Here, the local libraries option is selected.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/fplib_wizard_locallibstartpage.png" alt="fplib wizard locallibstartpage"> +</div> +</div> +<div class="paragraph"><p>Here, the remote libraries option is selected.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/fplib_wizard_startpage_github.png" alt="fplib wizard startpage_github"> +</div> +</div> +<div class="paragraph"><p>Depending on the selected option, one of these pages will be displayed, +to select a list of libraries:</p></div> +<div class="paragraph"><p>Here, the local libraries option was selected.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/fplib_wizard_locallibselection.png" alt="fplib wizard local lib selection"> +</div> +</div> +<div class="paragraph"><p>Here, the remote libraries option was selected.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/fplib_wizard_githubselection.png" alt="fplib wizard github selection"> +</div> +</div> +<div class="paragraph"><p>After a set of libraries is selected, the next page validates the choice:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/fplib_wizard_validate.png" alt="fplib wizard validate"> +</div> +</div> +<div class="paragraph"><p>If some selected libraries are incorrect (not supported, not a footprint library …) +they will be flagged as “INVALID”.</p></div> +<div class="paragraph"><p>The last choice is the footprint library table to populate:</p></div> +<div class="ulist"><ul> +<li> +<p> +the global table +</p> +</li> +<li> +<p> +the local table (the project specific table) +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/fplib_wizard_chooseflt.png" alt="fplib wizard chooseflt"> +</div> +</div> +<div style="page-break-after:always"></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_viewing_the_current_footprint">6. Viewing the Current Footprint</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_the_view_footprint_command">6.1. The view footprint command</h3> +<div class="paragraph"><p>The view footprint command displays the footprint currently selected in +the <em>footprint</em> window. A 3D model of the component can be shown if it +has been created and assigned to the footprint. Below is the footprint +viewer window.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/footprint_view.png" alt="images/en/footprint_view.png"> +</div> +</div> +<div class="sect3"> +<h4 id="_status_bar_information">6.1.1. Status Bar Information</h4> +<div class="paragraph"><p>The status bar is located at the bottom of the CvPcb new main window and +provides useful information to the user. The following table defines the +contents of each pane in the status bar.</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:80%; +"> +<col style="width:20%;"> +<col style="width:80%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Left</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Component count: total, unassigned</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Middle</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Filter list of the selected component</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Right</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Filtering mode and count of available footprints</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_keyboard_commands">6.1.2. Keyboard Commands</h4> +<table class="tableblock frame-all grid-all" +style=" +width:80%; +"> +<col style="width:20%;"> +<col style="width:80%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">F1</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zoom In</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">F2</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zoom Out</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">F3</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Refresh Display</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">F4</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Move cursor to center of display window</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Home</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Fit footprint into display window</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Space Bar</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Set relative coordinates to the current cursor position</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Right Arrow</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Move cursor right one grid position</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Left Arrow</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Move cursor left one grid position</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Up Arrow</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Move cursor up one grid position</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Down Arrow</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Move cursor down one grid position</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_mouse_commands">6.1.3. Mouse Commands</h4> +<table class="tableblock frame-all grid-all" +style=" +width:80%; +"> +<col style="width:32%;"> +<col style="width:68%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Scroll Wheel</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zoom in and out at the current cursor position</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Ctrl + Scroll Wheel</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pan right and left</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Shift + Scroll Wheel</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pan up and down</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Right Button Click</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Open context menu</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_context_menu">6.1.4. Context Menu</h4> +<div class="paragraph"><p>Displayed by right-clicking the mouse:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/context_menu.png" alt="images/en/context_menu.png"> +</div> +</div> +<table class="tableblock frame-all grid-all" +style=" +width:80%; +"> +<col style="width:44%;"> +<col style="width:56%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zoom Selection (Select Zoom)</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Direct selection of the display zoom.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Grid Selection (Grid Select)</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Direct selection of the grid.</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_horizontal_toolbar">6.1.5. Horizontal Toolbar</h4> +<table class="tableblock frame-all grid-all" +style=" +width:90%; +"> +<col style="width:10%;"> +<col style="width:90%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/display_options.png" alt="images/icons/display_options.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Show display options dialog</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/zoom_in.png" alt="images/icons/zoom_in.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zoom in</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/zoom_out.png" alt="images/icons/zoom_out.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zoom out</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/zoom_redraw.png" alt="images/icons/zoom_redraw.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Redraw</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/zoom_fit_in_page.png" alt="images/icons/zoom_fit_in_page.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Fit drawing in display area</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/open_3d_model_view.png" alt="images/icons/open_3d_model_view.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Open 3D model viewer</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_vertical_toolbar">6.1.6. Vertical Toolbar</h4> +<table class="tableblock frame-all grid-all" +style=" +width:90%; +"> +<col style="width:10%;"> +<col style="width:90%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/toggle_grid.png" alt="images/icons/toggle_grid.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Show or hide the grid</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/coordination_system.png" alt="images/icons/coordination_system.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Show coordinates in polar or rectangular notation</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/unit_inch.png" alt="images/icons/unit_inch.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Display coordinates in inches</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/unit_mm.png" alt="images/icons/unit_mm.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Display coordinates in millimeters</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/pointer_style.png" alt="images/icons/pointer_style.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Toggle pointer style</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/toggle_pads_sketch.png" alt="images/icons/toggle_pads_sketch.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Toggle between drawing pads in sketch or normal mode</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/toggle_text_sketch.png" alt="images/icons/toggle_text_sketch.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Toggle between drawing text in sketch or normal mode</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/toggle_edge_sketch.png" alt="images/icons/toggle_edge_sketch.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Toggle between drawing edges in sketch or normal mode</p></td> +</tr> +</tbody> +</table> +</div> +</div> +<div class="sect2"> +<h3 id="_viewing_the_current_3d_model">6.2. Viewing the Current 3D Model</h3> +<div class="imageblock"> +<div class="content"> +<img src="images/en/3d_window.png" alt="images/en/3d_window.png"> +</div> +</div> +<div class="sect3"> +<h4 id="_mouse_commands_2">6.2.1. Mouse Commands</h4> +<table class="tableblock frame-all grid-all" +style=" +width:90%; +"> +<col style="width:32%;"> +<col style="width:68%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Scroll Wheel</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zoom in and out at the current cursor position</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Ctrl + Scroll Wheel</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pan right and left</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Shift + Scroll Wheel</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pan up and down</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_horizontal_toolbar_2">6.2.2. Horizontal Toolbar</h4> +<table class="tableblock frame-all grid-all" +style=" +width:90%; +"> +<col style="width:10%;"> +<col style="width:90%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/import3d.png" alt="images/icons/import3d.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Reload the 3D model</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/copy_to_clipboard.png" alt="images/icons/copy_to_clipboard.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Copy 3D image to clipboard</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/read_setup.png" alt="images/icons/read_setup.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Set 3D viewer options</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/zoom_in.png" alt="images/icons/zoom_in.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zoom in</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/zoom_out.png" alt="images/icons/zoom_out.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zoom out</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/zoom_redraw.png" alt="images/icons/zoom_redraw.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Redraw</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/zoom_fit_in_page.png" alt="images/icons/zoom_fit_in_page.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Fit drawing in display area</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/rotate_back_x.png" alt="images/icons/rotate_back_x.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rotate backward along the X axis</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/rotate_forw_x.png" alt="images/icons/rotate_forw_x.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rotate forward along the X axis</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/rotate_back_y.png" alt="images/icons/rotate_back_y.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rotate backward along the Y axis</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/rotate_forw_y.png" alt="images/icons/rotate_forw_y.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rotate forward along the Y axis</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/rotate_back_z.png" alt="images/icons/rotate_back_z.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rotate backward along the Z axis</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/rotate_forw_z.png" alt="images/icons/rotate_forw_z.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rotate forward along the Z axis</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/left.png" alt="images/icons/left.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pan left</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/right.png" alt="images/icons/right.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pan right</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/up.png" alt="images/icons/up.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pan up</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/down.png" alt="images/icons/down.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pan down</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/toggle_ortho.png" alt="images/icons/toggle_ortho.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Toggle orthographic projection mode on and off</p></td> +</tr> +</tbody> +</table> +<div style="page-break-after:always"></div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_using_cvpcb_to_associate_components_with_footprints">7. Using CvPcb to Associate Components with Footprints</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_manually_associating_footprints_with_components">7.1. Manually Associating Footprints with Components</h3> +<div class="paragraph"><p>To manually associate a footprint with a component first select a +component in the component pane. Then select a footprint in the +footprint pane by double-clicking the left mouse button on the name of +the desired footprint. The unassigned next component in the list is +automatically selected. Changing the component footprint is performed in +the same manner.</p></div> +</div> +<div class="sect2"> +<h3 id="_filtering_the_footprint_list">7.2. Filtering the Footprint List</h3> +<div class="paragraph"><p>If the selected component and/or library is highlighted when the one or +more of the filtering option is enabled, the displayed footprint list +in CvPcb is filtered accordingly.</p></div> +<div class="paragraph"><p>The icons <span class="image"> +<img src="images/icons/filter_component.png" alt="images/icons/filter_component.png"> +</span> +<span class="image"> +<img src="images/icons/filter_pincount.png" alt="images/icons/filter_pincount.png"> +</span> +<span class="image"> +<img src="images/icons/filter_library.png" alt="images/icons/filter_library.png"> +</span> enable and disable the +filtering feature. When the filtering is not enabled, the full footprint +list is shown.</p></div> +<div class="paragraph"><p>Without filtering:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/filter_none.png" alt="images/en/filter_none.png"> +</div> +</div> +<div class="paragraph"><p>Filtered by list of footprint filters assigned to the selected +component. The component filters are listed on the center pane of the +status bar at the bottom of the main window.</p></div> +<div class="paragraph"><p>Filtered by the footprint filter of the selected component:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/filter_comp.png" alt="images/en/filter_comp.png"> +</div> +</div> +<div class="paragraph"><p>In the component library editor in Eeschema, the footprint list was set +using the entries in the footprint filter tab of the component +properties dialog as shown below.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/eeschema_filter.png" alt="images/en/eeschema_filter.png"> +</div> +</div> +<div class="paragraph"><p>Filtered by the pin count of the selected component:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/filter_pincount.png" alt="images/en/filter_pincount.png"> +</div> +</div> +<div class="paragraph"><p>Filtered by the selected library.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/filter_library.png" alt="images/en/filter_library.png"> +</div> +</div> +<div class="paragraph"><p>The filtering can be combined to form more complex +filtering to help reduce the number of footprints in the footprint pane.</p></div> +<div class="paragraph"><p>Filtered by the selected component pin count and the component filter:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/en/filter_comp_and_pincount.png" alt="images/en/filter_comp_and_pincount.png"> +</div> +</div> +<div style="page-break-after:always"></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_automatic_associations">8. Automatic Associations</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_equivalence_files">8.1. Equivalence files</h3> +<div class="paragraph"><p>Equivalence files allow for automatic assignment of footprints to +components.</p></div> +<div class="paragraph"><p>They list the name of the corresponding footprint according +to the name (<em>value field</em>) of the component. These files typically +have the <strong>.equ</strong> file extension.</p></div> +<div class="paragraph"><p>They are plain text files and may be edited by using any plain text editor, +and must be created by the user.</p></div> +</div> +<div class="sect2"> +<h3 id="_equivalence_file_format">8.2. Equivalence File Format</h3> +<div class="paragraph"><p>Equivalence files consist of one line for each component. Each line has +the following structure:</p></div> +<div class="paragraph"><p><strong>‘component value’ ‘footprint name’</strong></p></div> +<div class="paragraph"><p>Each name must be single quoted by the ' character and the component and +footprint names must be separated by one or more spaces.</p></div> +<div class="paragraph"><p><em>Example:</em></p></div> +<div class="paragraph"><p>If the U3 component is circuit 14011 and its footprint is 14DIP300, the +line is:</p></div> +<div class="paragraph"><p><span class="monospaced">‘14011’ ‘14DIP300’</span></p></div> +<div class="paragraph"><p>Any line starting with <strong>#</strong> is a comment.</p></div> +<div class="paragraph"><p>Here is an example equivalence file:</p></div> +<div class="listingblock"> +<div class="content monospaced"> +<pre>#integrated circuits (smd): +'74LV14' 'SO14E' +'74HCT541M' 'SO20L' +'EL7242C' 'SO8E' +'DS1302N' 'SO8E' +'XRC3064' 'VQFP44' +'LM324N' 'S014E' +'LT3430' 'SSOP17' +'LM358' 'SO8E' +'LTC1878' 'MSOP8' +'24LC512I/SM' 'SO8E' +'LM2903M' 'SO8E' +'LT1129_SO8' 'SO8E' +'LT1129CS8-3.3' 'SO8E' +'LT1129CS8' 'SO8E' +'LM358M' 'SO8E' +'TL7702BID' 'SO8E' +'TL7702BCD' 'SO8E' +'U2270B' 'SO16E' +#Xilinx +'XC3S400PQ208' 'PQFP208' +'XCR3128-VQ100' 'VQFP100' +'XCF08P' 'BGA48' + +#upro +'MCF5213-LQFP100' 'VQFP100' + +#regulators +'LP2985LV' 'SOT23-5'</pre> +</div></div> +</div> +<div class="sect2"> +<h3 id="_automatically_associating_footprints_to_components">8.3. Automatically Associating Footprints to Components</h3> +<div class="paragraph"><p>Click on the automatic footprint association button on the top toolbar +to process an equivalence file.</p></div> +<div class="paragraph"><p><em>All components found by their value in the selected equivalence (*.equ) file +will have their footprint automatically assigned.</em></p></div> +</div> +</div> +</div> +</div> +<div id="footnotes"><hr></div> +<div id="footer"> +<div id="footer-text"> +Last updated 2017-08-24 22:00:44 BST +</div> +</div> +</body> +</html> |