diff options
Diffstat (limited to 'share/doc/kicad/help/pl/pcbnew.html')
-rw-r--r-- | share/doc/kicad/help/pl/pcbnew.html | 7823 |
1 files changed, 7823 insertions, 0 deletions
diff --git a/share/doc/kicad/help/pl/pcbnew.html b/share/doc/kicad/help/pl/pcbnew.html new file mode 100644 index 0000000..395eadc --- /dev/null +++ b/share/doc/kicad/help/pl/pcbnew.html @@ -0,0 +1,7823 @@ +<!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>Pcbnew</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="book"> +<div id="header"> +<h1>Pcbnew</h1> +<span id="author">The KiCad Team</span><br> +<div id="toc"> + <div id="toctitle">Spis Treści</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>Podręcznik użytkownika</em></p></div> +<div class="paragraph" id="copyright"><p><strong>Prawa autorskie</strong></p></div> +<div class="paragraph"><p>Copyright © 2010-2016. Ten dokument jest chroniony prawem autorskim. Lista +autorów znajduje się poniżej. Możesz go rozpowszechniać oraz modyfikować na +zasadach określonych w General Public License +(<a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a>), wersja 3 lub późniejsza, albo +określonych w Creative Commons Attribution</p></div> +<div class="paragraph"><p>Wszystkie znaki towarowe użyte w tym dokumencie należą do ich właścicieli.</p></div> +<div class="paragraph" id="contributors"><p><strong>Współtwórcy</strong></p></div> +<div class="paragraph"><p>Jean-Pierre Charras, Fabrizio Tappero.</p></div> +<div class="paragraph" id="translation"><p><strong>Tłumaczenie</strong></p></div> +<div class="paragraph"><p>Kerusey Karyu <<a href="mailto:keruseykaryu@o2.pl">keruseykaryu@o2.pl</a>>, 2014-2016.</p></div> +<div class="paragraph" id="feedback"><p><strong>Kontakt</strong></p></div> +<div class="paragraph"><p>Wszelkie zauważone błędy, sugestie lub nowe wersje dotyczące tego dokumentu +prosimy kierować do:</p></div> +<div class="ulist"><ul> +<li> +<p> +W sprawie dokumentacji: <a href="https://github.com/KiCad/kicad-doc/issues">https://github.com/KiCad/kicad-doc/issues</a> +</p> +</li> +<li> +<p> +W sprawie oprogramowania: <a href="https://bugs.launchpad.net/kicad">https://bugs.launchpad.net/kicad</a> +</p> +</li> +<li> +<p> +W sprawie tłumaczeń interfejsu użytkownika (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>Data publikacji i wersja oprogramowania</strong></p></div> +<div class="paragraph"><p>17 marca 2014.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_wprowadzenie">1. Wprowadzenie</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_kluczowe_wasciwosci">1.1. Kluczowe właściwości</h3> +<div class="paragraph"><p>Pcbnew jest potężną aplikacją do trasowania obwodów drukowanych, dostępną +zarówno dla systemów Linux, Windows oraz OS X. Pcbnew jest zwykle używany +razem z programem do edycji schematów ideowych Eeschema by na ich podstawie +tworzyć obwody drukowane.</p></div> +<div class="paragraph"><p>Pcbnew zarządza też bibliotekami footprintów. Każdy fooprint jest rysunkiem +fizycznych komponentów zawierający jego "odcisk" - czyli układ wyprowadzeń +zapewniający połączenia ze składnikiem. Wymagane footprinty są ładowane +automatycznie podczas wczytywania listy sieci. Dowolna zmiana footprintów +lub renumeracja może być zmieniona na schemacie i przekazana do Pcbnew +poprzez ponowne wygenerowanie listy sieci i wczytanie jej ponownie.</p></div> +<div class="paragraph"><p>Pcbnew posiada narzędzie do sprawdzania reguł projektowych (DRC), które +zapobiega niestosowaniu minimalnych odległości pomiędzy ścieżkami lub polami +lutowniczymi, jak i błędnemu prowadzeniu ścieżek, mogących tworzyć +połączenia nie będące na liście sieci/schemacie. Podczas korzystania z +interaktywnego routera DRC ciągle monitoruje zasady projektowania i pomaga +automatycznie sprawdzać trasy poszczególnych ścieżek.</p></div> +<div class="paragraph"><p>Pcbnew zapewnia możliwość wyświetlania linii prowadzących (<em>ratsnest</em>), +łączących poszczególne footprinty zgodnie z połączeniami na +schemacie. Połączenia te są śledzone dynamicznie, nawet podczas przesuwania +ścieżek i footprintów.</p></div> +<div class="paragraph"><p>Pcbnew umożliwia w pełni manualne oraz półautomatyczne trasowanie ścieżek, +dzięki wbudowanemu routerowi z możliwością omijania lub rozpychania +istniejących ścieżek, tzw. router Push and Shove. Eksport oraz import w +formacie SPECCTRA DSN pozwala korzystać również z zaawansowanych +zewnętrznych auto-routerów.</p></div> +<div class="paragraph"><p>Pcbnew udostępnia opcje specjalnie do produkcji układów przeznaczonych dla +bardzo wysokich częstotliwości (takich jak pola lutownicze trapezoidalne i o +złożonej postaci, automatyczne tworzenie płaskich cewek na obwodzie +drukowanym…).</p></div> +</div> +<div class="sect2"> +<h3 id="_gowne_cechy_projektu">1.2. Główne cechy projektu</h3> +<div class="paragraph"><p>Najmniejszą jednostką projektową w programie Pcbnew jest 1 +nanometr. Wszystkie wymiary są zapisywane jako całkowite nanometry.</p></div> +<div class="paragraph"><p>Pcbnew może operować na 32 warstwach miedzi oraz 14 warstwach technicznych +(m.in. warstwy opisowe, soldermaski, warstwy kleju, pasty lutowniczej i +krawędziowej) plus 4 pomocnicze warstwy (rysunkowa i komentarzy) oraz +zarządza w czasie rzeczywistym połączeniami pomocniczymi (<em>ratsnest</em>) dla +nieistniejących jeszcze ścieżek.</p></div> +<div class="paragraph"><p>Wyświetlanie elementów PCB (ścieżki, pola lutownicze, tekst, rysunki.) może +zostać spersonalizowane:</p></div> +<div class="ulist"><ul> +<li> +<p> +Przez wyświetlanie w trybie pełnym lub trybie uproszczonym. +</p> +</li> +<li> +<p> +Wyświetlanie lub nie prześwitów na ścieżkach. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Przy skomplikowanych obwodach, wyświetlanie warstw, pól miedzi, elementów +może zostać wyłączone w sposób selektywny dla polepszenia czytelności +zawartości ekranu. Połączenia lub ścieżki mogą też być podświetlone by +wyróżniały się na obwodzie drukowanym.</p></div> +<div class="paragraph"><p>Footprinty mogą być obracane o dowolny kąt, z krokiem 0,1 stopnia.</p></div> +<div class="paragraph"><p>Pcbnew zawiera Edytor Footprintów, który pozwala na edycję poszczególnych +footprintów, które istnieją na obwodzie drukowanym lub w bibliotekach.</p></div> +<div class="paragraph"><p>Edytor Footprintów pozwala na użycie kilku narzędzi, które mogą oszczędzić +czas poświęcony na tworzenie footprintów:</p></div> +<div class="ulist"><ul> +<li> +<p> +Szybka renumeracja pól lutowniczych przez proste przeciągnięcie myszą po + tych polach w kierunku zgodnym z kierunkiem numeracji. +</p> +</li> +<li> +<p> +Łatwe generowanie szyków prostych i okrągłych dla pól lutowniczych LGA/BGA + lub dla obudów z wyprowadzeniami opisanymi na kole. +</p> +</li> +<li> +<p> +Pół-automatyczne wyrównywanie rzędów lub kolumn pól lutowniczych. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Pola lutownicze mają różne właściwości, które można regulować. Pola mogą być +okrągłe, prostokątne, owalne lub trapezowate. Dla elementów THT otwór +przelotowy może być przesunięty wewnątrz pola i może być okrągły lub owalny +(slot). Poszczególne pola można także obracać i mogą posiadać unikalną +soldermaskę, sieć, lub prześwit pasty. Pola mogą również mieć połączenia +termiczne dla ich łatwiejszego lutowania. Dowolna kombinacja unikalnych pól +może być umieszczona w danej obudowie.</p></div> +<div class="paragraph"><p>Pcbnew w bardzo prosty sposób może wygenerować wszystkie potrzebne dokumenty +produkcyjne:</p></div> +<div class="ulist"><ul> +<li> +<p> +Pliki produkcyjne: +</p> +<div class="ulist"><ul> +<li> +<p> +Pliki dla fotoploterów w formacie GERBER RS274X. +</p> +</li> +<li> +<p> +Pliki wierceń w formacie EXCELLON. +</p> +</li> +</ul></div> +</li> +<li> +<p> +Pliki dla ploterów w formatach HPGL, SVG oraz DXF. +</p> +</li> +<li> +<p> +Mapy rysunków i wierceń w formacie POSTSCRIPT. +</p> +</li> +<li> +<p> +Pliki dla wydruków lokalnych. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_wazne_informacje">1.3. Ważne informacje</h3> +<div class="paragraph"><p>Z powodu różnorodności kontroli nad programem, wymagane jest posiadanie +myszy trójprzyciskowej do pracy w Pcbnew. Wiele funkcji, jak +np. panoramowanie widoku będzie wymagało trzeciego klawisza.</p></div> +<div class="paragraph"><p>W nowym wydaniu programu KiCad, w Pcbnew zostały wprowadzone gruntowne +zmiany zaproponowane przez deweloperów z CERN. Obejmuje to takie funkcje +jak: nowy renderer (tryby wyświetlania OpenGL i Cairo), Interaktywny router +z rozpychaniem ścieżek, pozwalający na trasowanie par różnicowych i +dostrajania ich długości przez wprowadzanie meandrów, przebudowany Edytor +Footprintów i wiele innych funkcji. Należy pamiętać, że większość z tych +nowych funkcji może pracować <strong>tylko</strong> w nowych trybach wyświetlania OpenGL +i Cairo.</p></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_instalacja">2. Instalacja</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_instalacja_i_konfiguracja">2.1. Instalacja i konfiguracja</h3> +<div class="paragraph"><p>Procedura instalacji została opisana w dokumentacji programu KiCad Manager.</p></div> +</div> +<div class="sect2"> +<h3 id="_modyfikacja_domyslnej_konfiguracji">2.2. Modyfikacja domyślnej konfiguracji</h3> +<div class="paragraph"><p>Domyślny plik konfiguracji: <span class="monospaced">kicad.pro</span> jest dostarczany w katalogu +<span class="monospaced">kicad/share/template</span>. Jest on używany jako początkowa konfiguracja dla +wszystkich nowych projektów.</p></div> +<div class="paragraph"><p>Plik konfiguracji można zmodyfikować według potrzeb, szczególnie jeśli +chodzi o zmianę listy dostępnych bibliotek.</p></div> +<div class="paragraph"><p>Aby wykonać modyfikację tego pliku:</p></div> +<div class="ulist"><ul> +<li> +<p> +Należy uruchomić Pcbnew używając Menadżera projektu lub bezpośrednio z linii + poleceń. W systemie Windows na przykład wydając polecenie + <span class="monospaced">c:\kicad\bin\pcbnew.exe</span>. W systemie Linux: uruchamiając + <span class="monospaced">/usr/local/kicad/bin/kicad</span> lub <span class="monospaced">/usr/local/kicad/bin/pcbnew</span> jeśli pliki + binarne znajdują się w <span class="monospaced">/usr/local/kicad/bin</span>. +</p> +</li> +<li> +<p> +Wybrać <strong>Ustawienia</strong> → <strong>Biblioteka</strong>. +</p> +</li> +<li> +<p> +Dokonać edycji. +</p> +</li> +<li> +<p> +Zapisać zmodyfikowaną konfigurację (Zapisz ustawienia) z powrotem do + <span class="monospaced">kicad/share/template/kicad.pro</span>. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_zarzadzanie_bibliotekami_footprintow_pliki_starszego_typu">2.3. Zarządzanie bibliotekami footprintów - Pliki starszego typu</h3> +<div class="paragraph"><p>Listę bibliotek można dostosować do potrzeb projektu za pomocą okna +dialogowego wywoływanego z menu <strong>Ustawienia</strong>:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Library_list_menu_item.png" alt="images/pl/Library_list_menu_item.png"> +</div> +</div> +<div class="paragraph"><p>Poniższy rysunek ukazuje okno dialogowe pozwalające na ustawienie listy +aktywnych bibliotek:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Footprint_library_list.png" alt="images/pl/Footprint_library_list.png"> +</div> +</div> +<div class="paragraph"><p>W oknie tym należy dodać wszystkie biblioteki, które zawierają footprinty +potrzebne dla aktywnego projektu. Należy również usunąć nieużywane +biblioteki z nowych projektów by zapobiec konfilktom nazw. Należy pamiętać, +że istnieje problem z listą bibliotek footprintów, gdy istnieją zduplikowane +nazwy footprintów w wielu bibliotekach naraz. Gdy wystąpi taka sytuacja, +footprint taki będzie odczytywany z pierwszej biblioteki znajdującej się na +liście. Jest to pewna niedogodność (Nie można załadować właściwego +footprintu), którą można rozwiązać zmienając kolejność na liście biblioteki +za pomocą przycisków "Góra", "Dół" obok listy bibliotek lub nadać +footrintowi unikalną nazwę używając edytora footprintów.</p></div> +</div> +<div class="sect2"> +<h3 id="_tabele_footprintow_zarzadzanie_bibliotekami_pretty">2.4. Tabele footprintów - Zarządzanie bibliotekami .pretty</h3> +<div class="paragraph"><p>Począwszy od wersji 4.0, Pcbnew nie będzie używał narzędzia do konfiguracji +bibliotek opierającego się wyłącznie na ścieżkach dostępu. Nowa +implementacja tego narzędzia opiera się na tabeli bibliotek +footprintów. Informacje z poprzedniej sekcji w tej wersji już nie są +obowiązujące. Okno zarządzania bibliotekami jest dostępne przez:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Library_tables_menu_item.png" alt="images/pl/Library_tables_menu_item.png"> +</div> +</div> +<div class="paragraph"><p>Poniższy rysunek pokazuje okno dialogowe z wspomnianą tabelą. Aby go wywołać +należy użyć polecenia "Zarządzanie bibliotekami footprintów" z menu +<strong>Ustawienia</strong>.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Footprint_tables_list.png" alt="images/pl/Footprint_tables_list.png"> +</div> +</div> +<div class="paragraph"><p>Tabela bibliotek footprintów jest używana do mapowania plików bibliotek +obsługiwanych przez program do ich nazw skrótowych. Nazwa skrótowa jest +używana do wyszukiwania footprintów zamiast poprzedniej metody z +wyszukiwaniem plików zgodnie z ustalonym układem ścieżek dostępu. Pozwala to +programowi Pcbnew na dostęp do footprintów za pomocą tej samej nazwy w +różnych bibliotekach gwarantując tym samym, że właściwy footprint zostanie +załadowany z odpowiedniej biblioteki. Pozwala to również na obsługę +bibliotek pochodzących z innych programów (z pomocą wtyczek) EDA, takich jak +np. Eagle czy gEDA.</p></div> +<div class="sect3"> +<h4 id="_globalna_tabela_bibliotek_footprintow">2.4.1. Globalna tabela bibliotek footprintów</h4> +<div class="paragraph"><p>Globalna tabela bibliotek footprintów zawiera listę bibliotek, które są +dostępne zawsze, niezależnie od obecnie wczytanego projektu. Tabela ta jest +zapisana w pliku <span class="monospaced">fp-lib-table</span> w katalogu domowym użytkownika. Jego +rzeczywista lokacja zależy użytego systemu operacyjnego.</p></div> +</div> +<div class="sect3"> +<h4 id="_lokalna_tabela_bibliotek_footprintow_zalezna_od_projektu">2.4.2. Lokalna tabela bibliotek footprintów zależna od projektu</h4> +<div class="paragraph"><p>Lokalna tabela bibliotek footprintów zależna od projektu zawiera listę +bibliotek, które są dostępne wyłącznie w obecnie wczytanym +projekcie. Lokalna tabela może być modyfikowana tylko wtedy, gdy zostanie +ona załadowana razem z listą sieci tego projektu. Gdy projekt nie został +załadowany lub gdy taka lokalna tabela nie istnieje, tworzona jest pusta +tabela, którą będzie można wypełnić i później zapisać razem z plikiem +przypisań footprintów (z rozszerzeniem <span class="monospaced">.cmp</span>).</p></div> +</div> +<div class="sect3"> +<h4 id="_konfiguracja_poczatkowa">2.4.3. Konfiguracja początkowa</h4> +<div class="paragraph"><p>Gdy Pcbnew lub CvPcb zostanie uruchomiony i globalna tabela bibliotek +<span class="monospaced">fp-lib-table</span> nie zostanie znaleziona w katalogu domowym użytkownika, +Pcbnew będzie próbował skopiować domyślną tabelę bibliotek <span class="monospaced">fp_global_table</span> +zapisaną w folderze <span class="monospaced">template</span> do pliku <span class="monospaced">fp-lib-table</span> w katalogu domowym +użytkownika. Jeśli plik <span class="monospaced">fp_global_table</span> nie został znaleziony, to zamiast +operacji kopiowania zostanie utworzona pusta tabela. Gdyby taka sytuacja +miała miejsce użytkownik ma też możliwość skopiowania <span class="monospaced">fp_global_table</span> +samodzielnie lub "ręczne" skonfigurowania tabeli. Domyślna tabela bibliotek +zawiera wszystkie standardowe biblioteki jakie zostały zainstalowane razem z +programem KiCad EDA Suite.</p></div> +</div> +<div class="sect3"> +<h4 id="_dodawanie_nowych_wpisow_w_tabeli">2.4.4. Dodawanie nowych wpisów w tabeli</h4> +<div class="paragraph"><p>By móc używać biblioteki najpierw należy dodać globalną lub lokalną +tabelę. Lokalna tabela ma zastosowanie tylko gdy istnieje otwarta lista +sieci projektu. Każda pozycja tabeli musi posiadać unikalną nazwę +skrótową. Nie musi ona mieć jakiegokolwiek związku z bieżącą nazwą pliku lub +ścieżki do niego. Znak dwukropka <span class="monospaced">:</span> nie może być używany w nazwach +skrótowych. Każda pozycja musi również odnosić się do prawidłowej +ścieżki/nazwy pliku w zależności od typu biblioteki. Ścieżki do plików mogą +być bezpośrednie, względne lub pochodzić ze specjalnych zmiennych +systemowych - opisanych dalej. Aby biblioteka została wczytana przez Pcbnew +musi być także wybrana właściwa wtyczka obsługująca dany format +pliku. Pcbnew obecnie wspiera następujące formaty plików bibliotek: <strong>KiCad +Legacy</strong>, <strong>KiCad Pretty</strong>, <strong>Eagle</strong> oraz <strong>gEDA</strong>. Istnieje również pole +przeznaczone do wpisania opisu dla danego wpisu w tabeli. Pole z opcjami nie +jest w tej chwili używane, zatem umieszczanie jakichkolwiek opcji nie ma +znaczenia przy ładowaniu bibliotek. Proszę zauważyć, że nie można umieścić +dwóch takich samych nazw skrótowych w jednej tabeli. Jednakże, można wpisać +tą samą nazwę skrótową w globalnej i lokalnej tabeli bibliotek, ponieważ +tabela lokalna ma większy priorytet niż tabela globalna w takim +przypadku. Gdy wpisy zostaną zdefiniowane w lokalnej tabeli bibliotek, to +plik <span class="monospaced">fp-lib-table</span> zawierający te wpisy zostanie umieszczony w folderze +skąd pochodzi lista sieci.</p></div> +</div> +<div class="sect3"> +<h4 id="_pobieranie_wartosci_ze_zmiennych_systemowych">2.4.5. Pobieranie wartości ze zmiennych systemowych</h4> +<div class="paragraph"><p>Jednym z największych zalet tabeli bibliotek footprintów jest możliwość +używania odnośników do zmiennych systemowych. Pozwala to na zdefiniowanie +własnych ścieżek do bibliotek w zmiennych systemowych i używanie ich w +projektach. Odnośniki do zmiennych systemowych można wplatać w treść pól +zawierających ścieżkę do pliku używając powszechnie znanego formatu +<span class="monospaced">${nazwa_zmiennej}</span>. Domyślnie Pcbnew definiuje zmienną środowiskową +<span class="monospaced">KISYSMOD</span>. Wskazuje ona na miejsce, gdzie zainstalowane zostały biblioteki +instalowane razem z programem KiCad EDA Suite. Można ją re-definiować +samodzielnie, co pozwala na zastąpienie standardowych bibliotek ich własnymi +odpowiednikami. Gdy wczytana zostanie lista sieci, Pcbnew automatycznie +definiuje również zmienną <span class="monospaced">KIPRJMOD</span>. Pozwala to na tworzenie bibliotek w +miejscu wskazywanym przez projekt bez konieczności definiowania +bezwzględnej ścieżki do biblioteki w lokalnej tabeli footprintów projektu.</p></div> +</div> +<div class="sect3"> +<h4 id="_uzywanie_wtyczki_github">2.4.6. Używanie wtyczki GitHub</h4> +<div class="paragraph"><p>GitHub to specjalna wtyczka pozwalająca na łączenie się ze zdalnym +repozytorium GitHub zawierającym footprinty w formacie <span class="monospaced">.pretty</span> (nowa +wersja formatu zapisu footprintów przez program KiCad). Repozytorium to jest +tylko do odczytu, ale wtyczka umożliwia również dostęp do technologi <em>Copy +On Write</em> (COW) wspierającej możliwość edycji footpritnów odczytanych z +repozytorium GitHub i zapisanie ich nowych wersji na dysku lokalnym, które +później można wysłać z w celu ich aktualizacji. Sama wtyczka nie umożliwia +zapisu do repozytorium pod adresem <a href="https://github.com">https://github.com</a>. By dodać wpis GitHub +do tabeli bibliotek, pole <em>Ścieżka</em> musi zostać wypełniona ważnym adresem +URL do repozytorium GitHub.</p></div> +<div class="paragraph"><p>Przykładowo:</p></div> +<div class="literalblock"> +<div class="content monospaced"> +<pre>https://github.com/liftoff-sr/pretty_footprints</pre> +</div></div> +<div class="paragraph"><p>Zwykle poprawna ścieżka URL jest tworzona wg następującego schematu:</p></div> +<div class="literalblock"> +<div class="content monospaced"> +<pre>https://github.com/user_name/repo_name</pre> +</div></div> +<div class="paragraph"><p>Pole <em>Typ Wtyczki</em> musi być ustawione jako <span class="monospaced">Github</span>. Aby włączyć funkcję +"Copy On Write" należy w polu <em>Opcje</em> dodać parametr +<span class="monospaced">allow_pretty_writing_to_this_dir</span> który zawierał będzie ścieżkę na dysku +lokalnym gdzie zapisywane będą pliki z modyfikacjami. Jeśli ta opcja +zostanie pominięta to biblioteka GitHub jest tylko do odczytu. Footprinty +tam zapisane są połączeniem części tylko do odczytu repozytorium GitHub i +treści lokalnych zmian by utworzyć zmodyfikowaną bibliotekę +footprintów. Każda modyfikacja biblioteki GitHub będzie trafiać do tej +lokalnej biblioteki hybrydowej COW umieszczonej w odpowiednim folderze +<span class="monospaced">*.pretty</span>. Należy w tym miejscu nadmienić, iż część rezydentna COW +pochodząca z repozytorium GitHub jest zawsze tylko do odczytu, co oznacza, +że nie można niczego samodzielnie usunąć lub zmodyfikować bezpośrednio w +samym repozytorium GitHub. Niezależnie czy biblioteka będzie hybrydowa, +czyli połączona z lokalnej części tylko do odczytu i zapisu, czy tylko część +zdalną przeznaczoną tylko do odczytu, będzie ona dalej zwana biblioteką +"Github" w dalszych rozważaniach.</p></div> +<div class="paragraph"><p>Poniższa tabela pokazuje wpis z tabeli bibliotek, której nie została +przypisana opcja <span class="monospaced">allow_pretty_writing_to_this_dir</span>:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:20%;"> +<col style="width:20%;"> +<col style="width:20%;"> +<col style="width:20%;"> +<col style="width:20%;"> +<thead> +<tr> +<th class="tableblock halign-left valign-top" > <em>Nazwa skrótowa</em> </th> +<th class="tableblock halign-left valign-top" > <em>Ścieżka</em> </th> +<th class="tableblock halign-left valign-top" > <em>Typ wtyczki</em> </th> +<th class="tableblock halign-left valign-top" > <em>Opcje</em> </th> +<th class="tableblock halign-left valign-top" > <em>Opis</em></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>Następna tabela pokazuje wpis z tabeli bibliotek z opcją dotyczącą +COW. Zmienna <span class="monospaced">${HOME}</span> jest tylko przykładowa. Folder <span class="monospaced">github.pretty</span> jest +umieszczony w folderze do którego prowadzi ścieżka <span class="monospaced">${HOME}/pretty/</span>. W +każdym przypadku użycia opcji <span class="monospaced">allow_pretty_writing_to_this_dir</span>, wymagane +jest samodzielne utworzenie tego folderu i musi on posiadać rozszerzenie +<span class="monospaced">.pretty</span>.</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:20%;"> +<col style="width:20%;"> +<col style="width:20%;"> +<col style="width:20%;"> +<col style="width:20%;"> +<thead> +<tr> +<th class="tableblock halign-left valign-top" > <em>Nazwa skrótowa</em> </th> +<th class="tableblock halign-left valign-top" > <em>Ścieżka</em> </th> +<th class="tableblock halign-left valign-top" > <em>Typ wtyczki</em> </th> +<th class="tableblock halign-left valign-top" > <em>Opcje</em> </th> +<th class="tableblock halign-left valign-top" > <em>Opis</em></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>Footprinty pobierane z folderu na który wskazuje opcja +<span class="monospaced">allow_pretty_writing_to_this_dir</span> mają zawsze pierwszeństwo przed tymi +umieszczonymi w zdalnych repozytoriach. Po zapisaniu footprintu do lokalnego +folderu przechowującego hybrydowe pliki COW, np. poprzez zapisanie zmian w +edytorze footprintów, żadne aktualizacje GitHub nie będą widoczne podczas +ładowania footprintów o tej samej nazwie, niż te, które zostały zapisane +lokalnie.</p></div> +<div class="paragraph"><p>Zawsze należy korzystać z odrębnego folderu <span class="monospaced">*.pretty</span> dla poszczególnych +bibliotek GitHub i nigdy nie powinno się łączyć folderów przez przypisywanie +tego samego folderu do innych bibliotek GitHub, gdyż mogłoby to doprowadzić +do bałaganu nad którym nie byłoby można zapanować. Wartości symboliczne w +zmiennych systemowych zapisane w notacji <span class="monospaced">${nazwa_zmiennej}</span> przypisane do +opcji <span class="monospaced">allow_pretty_writing_to_this_dir</span> będą rozwijane automatycznie by +utworzyć właściwą ścieżkę, tak samo jak to ma miejsce w polu <em>Ścieżka</em>.</p></div> +<div class="paragraph"><p>Co robić z plikami w COW? System COW to element przyśpieszający +współużytkowanie footprintów. Jeśli zawartość COW będzie regularnie +przesyłana do zarządcy repozytorium GitHub, będzie można pomóc w +uaktualnianiu kopii znajdujących się w repozytorium zdalnym. Całość jest +bardzo prosta. Za pomocą poczty elektronicznej należy wysłać pliki +<span class="monospaced">*.kicad_mod</span> znajdujące się w folderach systemu COW do osoby zarządzającej +repozytorium. Po otrzymaniu potwierdzenia, że zmiany zostały zaakceptowane i +wprowadzone, można skasować wysłane pliki z COW. Nowe wersje plików zostaną +pobrane z repozytorium GitHub. Głównym celem jest utrzymywanie jak +najmniejszego zestawu plików systemu COW jak tylko jest to możliwe poprzez +regularne przesyłanie zawartych w niej plików do <a href="https://github.com">https://github.com</a>.</p></div> +<div class="paragraph"><p>Na koniec. Można użyć Nginx jako pamięci podręcznej dla serwerów Github, +który przyśpieszy ładowanie footprintów. Można go zainstalować lokalnie lub +na serwerze sieciowym. W plikach źródłowych programu jest przykład takiej +konfiguracji: pcbnew/github/nginx.conf. Najprostszą drogą do uruchomienia +tego pośrednika jest nadpisanie domyślnego pliku nginx.conf tym plikiem i +wykonanie polecenia <span class="monospaced">export KIGITHUB=http://my_server:54321/KiCad</span> gdzie +<span class="monospaced">my_server</span> to adres IP lub domena komputera z uruchomionym Nginx.</p></div> +</div> +<div class="sect3"> +<h4 id="_generalne_zalecenia_przy_uzywaniu_tabeli_bibliotek">2.4.7. Generalne zalecenia przy używaniu tabeli bibliotek</h4> +<div class="paragraph"><p>Biblioteki footprintów mogą być zdefiniowane globalne lub lokalnie dla +obecnie wczytanego projektu. Biblioteki umieszczone w globalnej tabeli +bibliotek użytkownika są zawsze dostępne i są zapisane w pliku +<span class="monospaced">fp-lib-table</span> w katalogu domowym użytkownika. Globalne biblioteki będą +dostępne nawet jeśli nie została otwarta lista sieci danego +projektu. Inaczej sprawa się ma w przypadku lokalnych bibliotek, które są +aktywne wyłącznie dla bieżącej listy sieci. Lokalna tabela bibliotek jest +zapisywana w pliku <span class="monospaced">fp-lib-table</span> umieszczonym w tej samej ścieżce co lista +sieci.</p></div> +<div class="paragraph"><p>Nie ma przeszkód co do definiowania odnośników do bibliotek w obu +tabelach. Dlatego też nie zostało odgórnie określone w jaki sposób +użytkownik będzie wykorzystywał możliwości jakie dają globalne i lokalne +tabele. Są jednak zalety i wady każdego z rozwiązań, które należy rozważyć.</p></div> +<div class="ulist"><ul> +<li> +<p> +Można zdefiniować wszystkie biblioteki w globalnej tabeli bibliotek, co + oznacza, że będą one zawsze dostępne gdy będą potrzebne. +</p> +<div class="ulist"><ul> +<li> +<p> +Wadą takiego rozwiązania będzie utrudnione poszukiwanie wśród wielu bibliotek +odpowiedniego footprintu dla danego komponentu. +</p> +</li> +</ul></div> +</li> +<li> +<p> +Można zdefiniować biblioteki w obu tabelach jednocześnie. +</p> +<div class="ulist"><ul> +<li> +<p> +Zaletą takiego rozwiązania będzie możliwość zdefiniowania tylko tych bibliotek, +które będą w danej chwili potrzebne oraz skrócenie czasu ich przeszukiwania. +</p> +</li> +<li> +<p> +Wadą tego rozwiązania będzie zaś to, że będzie trzeba zawsze pamiętać, +by dodać odpowiednie biblioteki dla każdego nowego projektu. +</p> +</li> +</ul></div> +</li> +<li> +<p> +Można zdefiniować biblioteki w obu tabelach jednocześnie. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Sensowne staje się wtedy wpisanie bibliotek, które są wykorzystywane prawie +we wszystkich projektach do tabeli globalnej, a w lokalnych tabelach +umieszczać tylko te, które są przydatne tylko w tym konkretnym +projekcie. Będzie to rozwiązanie kompromisowe, które będzie posiadało +największą elastyczność kosztem zmniejszenia szybkości wyszukiwania.</p></div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_obsuga_programu">3. Obsługa programu</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_dostep_do_polecen">3.1. Dostęp do poleceń</h3> +<div class="paragraph"><p>Pcbnew udostępnia wiele różnych poleceń, które mogą być uruchamiane za +pomocą:</p></div> +<div class="ulist"><ul> +<li> +<p> +Paska menu na samej górze ekranu. +</p> +</li> +<li> +<p> +Górnego paska ikon. +</p> +</li> +<li> +<p> +Bocznego paska ikon znajdującego się z prawej strony. +</p> +</li> +<li> +<p> +Bocznego paska narzędzi znajdującego się z lewej strony. +</p> +</li> +<li> +<p> +Klawiszy myszy (opcje menu). Zwłaszcza: +</p> +<div class="ulist"><ul> +<li> +<p> +Prawy klawisz otwiera menu podręczne gdzie dostępne są +polecenia kontekstowe związane z elementem znajdującym się w miejscu kursora. +</p> +</li> +</ul></div> +</li> +<li> +<p> +Klawiatury (Klawisze funkcyjne <span class="monospaced">F1</span>, <span class="monospaced">F2</span>, <span class="monospaced">F3</span>, <span class="monospaced">F4</span>, <span class="monospaced">Shift</span>, <span class="monospaced">Delete</span>, + <span class="monospaced">+</span>, <span class="monospaced">-</span>, <span class="monospaced">Page Up</span>, <span class="monospaced">Page Down</span> oraz <span class="monospaced">Spacja</span>). Klawisz <span class="monospaced">Esc</span> zaś służy do + przerywania właśnie wykonywanej operacji. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Poniższy obrazek ilustruje niektóre z możliwości dostępu do poleceń:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Right-click_legacy_menu.png" alt="images/pl/Right-click_legacy_menu.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_polecenia_zwiazane_z_mysza">3.2. Polecenia związane z myszą</h3> +<div class="sect3"> +<h4 id="_podstawowe_polecenia">3.2.1. Podstawowe polecenia</h4> +<div class="ulist"><ul> +<li> +<p> +Prawy przycisk +</p> +<div class="ulist"><ul> +<li> +<p> +Pojedynczy klik: wyświetla na pasku informacyjnym charakterystyczne +właściwości footprintu lub tekstu znajdującego się w miejscu kursora. +</p> +</li> +<li> +<p> +Podwójne kliknięcie: otwiera okno edycji dla elementu znajdującego się +w miejscu kursora (o ile taki element daje taką możliwość). +</p> +</li> +</ul></div> +</li> +<li> +<p> +Przycisk centralny/rolka +</p> +<div class="ulist"><ul> +<li> +<p> +Szybka zmiana powiększenia i parę komend w menedżerze warstw. +</p> +</li> +<li> +<p> +Przytrzymanie klawisza centralnego i przeciągnięcie myszy rysuje zaznaczenie obszaru +który po zwolnieniu klawisza będzie powiększony na cały dostępny ekran roboczy. +Kółkiem myszy można też przybliżać lub oddalać obszar znajdujący się wokół kursora. +</p> +</li> +</ul></div> +</li> +<li> +<p> +Prawy przycisk +</p> +<div class="ulist"><ul> +<li> +<p> +Otwiera podręczne menu +</p> +</li> +</ul></div> +</li> +</ul></div> +</div> +<div class="sect3"> +<h4 id="_operacje_na_blokach">3.2.2. Operacje na blokach</h4> +<div class="paragraph"><p>Operacje takie jak: przesuwanie, przerzucanie (na inną warstwę), kopiowanie, +obracanie oraz kasowanie zawartości bloku są dostępne z menu +podręcznego. Dodatkowo można też dokonać przybliżenia obszaru zaznaczonego +jako blok.</p></div> +<div class="paragraph"><p>Ramka zaznaczenia bloku jest rysowana poprzez przesunięcie kursora myszą +razem z wciśniętym jej lewym klawiszem. Operacja związana z wyborem bloku +jest przeprowadzana po zwolnieniu klawisza.</p></div> +<div class="paragraph"><p>Naciskając i przytrzymując jeden z klawiszy <span class="monospaced">Shift</span>, <span class="monospaced">Ctrl</span>, lub oba razem, +podczas rysowania zaznaczenia automatycznie wybiera jedną z opcji: +przesuwanie, przerzucanie, obrót lub kasowanie zawartości bloku:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:50%;"> +<col style="width:50%;"> +<thead> +<tr> +<th class="tableblock halign-left valign-top" > Akcja </th> +<th class="tableblock halign-left valign-top" > Efekt</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Przesuwanie myszy z wciśniętym lewym klawiszem</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zaznaczanie obszaru w celu jego przesunięcia w inne miejsce</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">Shift</span> + Przesuwanie myszy z wciśniętym lewym klawiszem</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zaznaczanie obszaru w celu jego przerzucenia na przeciwną warstwę</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">Ctrl</span> + Przesuwanie myszy z wciśniętym prawym klawiszem myszy</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zaznaczanie obszaru w celu jego obrotu o 90°</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">Shift</span> + <span class="monospaced">Ctrl</span> + Przesuwanie myszy z wciśniętym lewym klawiszem myszy</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zaznaczanie obszaru w celu jego skasowania</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wciśnięty centralny klawisz myszy</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zaznaczanie obszaru w celu jego powiększenia</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"><p>Podczas przesuwania bloku:</p></div> +<div class="ulist"><ul> +<li> +<p> +Można przesunąć blok na nową pozycję oraz z pomocą lewego klawisza myszy + umieścić go w wybranej pozycji. +</p> +</li> +<li> +<p> +By anulować operację można użyć prawego klawisza myszy i wybrać "Anuluj + blok" z podręcznego menu (lub też skorzystać z klawisza <em>ESC</em>). +</p> +</li> +</ul></div> +<div class="paragraph"><p>Alternatywnie jeśli żaden z klawiszy nie jest naciśnięty podczas rysowania +bloku, można użyć prawego klawisza myszy by wyświetlić podręczne menu i +wybrać żądaną akcję z listy dostępnych.</p></div> +<div class="paragraph"><p>Dla każdej operacji blokowej okno wyboru pozwala na działania, które będą +ograniczać się tylko do niektórych elementów. Każde z powyższych poleceń +może zostać anulowane przez to samo menu podręczne lub przez naciśnięcie +klawisza <strong>Esc</strong>.</p></div> +</div> +</div> +<div class="sect2"> +<h3 id="_wybor_siatki">3.3. Wybór siatki</h3> +<div class="paragraph"><p>W czasie tworzenia obwodu drukowanego kursor przesuwa się po siatce. Siatkę +tą można włączyć lub wyłączyć z lewego panelu.</p></div> +<div class="paragraph"><p>Dowolną predefiniowaną, bądź zdefiniowaną przez użytkownika siatkę można +wybrać z listy rozwijanej pod głównym paskiem narzędzi lub z menu +podręcznego. Siatkę użytkownika można zdefiniować z poziomu menu w <strong>Wymiary</strong> +→ <strong>Siatka użytkownika</strong>.</p></div> +</div> +<div class="sect2"> +<h3 id="_ustawianie_powiekszenia_zoom">3.4. Ustawianie powiększenia - Zoom</h3> +<div class="paragraph"><p>Poziom powiększenia może zostać zmieniony w następujący sposób:</p></div> +<div class="ulist"><ul> +<li> +<p> +Otwórz menu podręczne (używając prawego klawisza myszy) i wybierz jedną z + dostępnych pozycji. +</p> +</li> +<li> +<p> +Użyj następujących klawiszy funkcyjnych: +</p> +<div class="ulist"><ul> +<li> +<p> +<em>F1</em>: Zwiększenie (powiększenie) +</p> +</li> +<li> +<p> +<em>F2</em>: Zredukowanie (pomniejszenie) +</p> +</li> +<li> +<p> +<em>F3</em>: Odrysowanie widoku +</p> +</li> +<li> +<p> +<em>F4</em>: Centrowanie widoku na bieżącej pozycji kursora +</p> +</li> +</ul></div> +</li> +<li> +<p> +Przesunięcie kółka myszy. +</p> +</li> +<li> +<p> +Przytrzymaj środkowy klawisz myszy, zaznaczając obszar, który ma zostać + powiększony. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_wyswietlanie_pozycji_kursora">3.5. Wyświetlanie pozycji kursora</h3> +<div class="paragraph"><p>Pozycja kursora jest wyświetlana albo w calach (inch lub ``) lub w +milimetrach (mm) zgodnie z wyborem wyświetlanych jednostek na lewym pasku +opcji.</p></div> +<div class="paragraph"><p>Niezależnie od wybranych jednostek Pcbnew zawsze pracuje z dokładnością 1 +nanometra.</p></div> +<div class="paragraph"><p>Pasek statusu wyświetlany na dole okna aplikacji zawiera następujące +informacje:</p></div> +<div class="ulist"><ul> +<li> +<p> +Bieżące powiększenie. +</p> +</li> +<li> +<p> +Pozycję absolutną kursora. +</p> +</li> +<li> +<p> +Pozycję względną kursora. Pozycję bazową (0,0) do której odnosi się pozycja + względna można przenosić na dowolną pozycję absolutną za pomocą klawisza + spacji. Dodatkowo wyświetlana jest bieżąca odległość do punktu bazowego. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Dodatkowo pozycję względną kursora można wyświetlać jako współrzędne polarne +(promień + kąt). Zmiany sposobu wyświetlania pozycji względnej przełączyć za +pomocą odpowiedniej opcji na lewym pasku opcji.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_coordinate_status_display.png" alt="images/pl/Pcbnew_coordinate_status_display.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_szybki_dostep_do_polecen_skroty_klawiszowe">3.6. Szybki dostęp do poleceń - Skróty klawiszowe</h3> +<div class="paragraph"><p>Wiele poleceń jest dostępnych bezpośrednio z klawiatury. Wybór może być +wykonany zarówno w trybie małych jak i wielkich liter. Wiele skrótów jest +pokazywany w menu. Niektóre skróty które nie występują jawnie to:</p></div> +<div class="ulist"><ul> +<li> +<p> +<span class="monospaced">Delete</span>: usuwa footprint lub ścieżkę. (<em>Operacja dostępna tylko w trybie + przesuwania footprintów lub trasowania ścieżek</em>) +</p> +</li> +<li> +<p> +<span class="monospaced">V</span>: Jeśli jest aktywne narzędzie do prowadzenia ścieżek zmienia warstwę i + wstawia przelotkę, jeśli aktualnie prowadzimy ścieżkę. +</p> +</li> +<li> +<p> +<span class="monospaced">+</span> i <span class="monospaced">-</span>: Przełącza się na następną/poprzednią warstwę. +</p> +</li> +<li> +<p> +<span class="monospaced">?</span>: Pokazuje listę dostępnych skrótów klawiszowych. +</p> +</li> +<li> +<p> +<span class="monospaced">Spacja</span>: Resetuje punkt odniesienia dla współrzędnych względnych. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_operacje_na_blokach_2">3.7. Operacje na blokach</h3> +<div class="paragraph"><p>Operacje takie jak: przesuwanie, przerzucanie (na inną warstwę), kopiowanie, +obracanie oraz kasowanie zawartości bloku są dostępne z menu +podręcznego. Dodatkowo można też dokonać przybliżenia obszaru zaznaczonego +jako blok.</p></div> +<div class="paragraph"><p>Ramka zaznaczenia bloku jest rysowana poprzez przesunięcie kursora myszą +razem z wciśniętym jej lewym klawiszem. Operacja związana z wyborem bloku +jest przeprowadzana po zwolnieniu klawisza.</p></div> +<div class="paragraph"><p>Naciskając i przytrzymując jeden z klawiszy <span class="monospaced">Shift</span>, <span class="monospaced">Ctrl</span>, lub oba razem, +lub <span class="monospaced">Alt</span>, podczas rysowania zaznaczenia automatycznie wybiera jedną z +opcji: przesuwanie, przerzucanie, obrót lub kasowanie zawartości bloku:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:50%;"> +<col style="width:50%;"> +<thead> +<tr> +<th class="tableblock halign-left valign-top" > Akcja </th> +<th class="tableblock halign-left valign-top" > Efekt</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Przesuwanie myszy z wciśniętym lewym klawiszem</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Przesunięcie obszaru w inne miejsce</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">Shift</span> + Wciśnięty lewy klawisz myszy</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Przerzucenie bloku na przeciwną warstwę</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">Ctrl</span> + Wciśnięty prawy klawisz myszy</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Obrót bloku o 90°</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">Shift</span> + <span class="monospaced">Ctrl</span> + Wciśnięty lewy klawisz myszy</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Skasowanie zawartości obszaru</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">Alt</span> + Wciśnięty lewy klawisz myszy</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Skopiowanie obszaru</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"><p>Dla każdej operacji blokowej okno wyboru pozwala na działania, które będą +ograniczać się tylko do niektórych elementów.</p></div> +<div class="paragraph"><p>Każde z powyższych poleceń może zostać anulowane przez to samo menu +podręczne lub przez naciśnięcie klawisza <strong>Esc</strong>.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_legacy_block_selection_dialog.png" alt="images/pl/Pcbnew_legacy_block_selection_dialog.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_jednostki_miar_uzywane_w_oknach_dialogowych">3.8. Jednostki miar używane w oknach dialogowych</h3> +<div class="paragraph"><p>Przy wyświetlaniu rozmiarów są używane dwie jednostki miar: cal oraz mm +zgodnie z wybraną opcją <span class="image"> +<img src="images/icons/unit_inch.png" alt="images/icons/unit_inch.png"> +</span> +<span class="image"> +<img src="images/icons/unit_mm.png" alt="images/icons/unit_mm.png"> +</span>, którą można znaleźć na lewym panelu +opcji. Jednakże można również wprowadzać dane także w innych dostępnych +jednostkach gdy wprowadzana jest nową wartość.</p></div> +<div class="literalblock"> +<div class="content monospaced"> +<pre>Akceptowane jednostki:</pre> +</div></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:50%;"> +<col style="width:50%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">1*in*</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">(1 cal)</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">1 <strong>``</strong></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">(1 cal/idem)</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">25 <strong>th</strong></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">(25 thou)</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">25 <strong>mi</strong></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">(25 milsów, to samo co thou)</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">6 <strong>mm</strong></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">(6 mm, jak sama nazwa wskazuje)</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"><p>Należy przy tym stosować się do pewnych zasad:</p></div> +<div class="ulist"><ul> +<li> +<p> +Spacje pomiędzy liczbą a jednostką są dopuszczalne. +</p> +</li> +<li> +<p> +Tylko dwie pierwsze litery są znaczące. +</p> +</li> +<li> +<p> +W krajach, gdzie używany jest inny znak niż kropka (<span class="monospaced">.</span>) jako separator + wartości dziesiętnych, można używać również kropki, zastępując nią właściwy + dla danej lokalizacji znak separatora dziesiętnego. Zatem <span class="monospaced">1,5</span> oraz <span class="monospaced">1.5</span> + są tak samo traktowane. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_gowne_menu_aplikacji">3.9. Główne menu aplikacji</h3> +<div class="paragraph"><p>Pasek menu pozwala na dostęp do poleceń związanych z plikami (jak odczyt i +zapis), opcjami konfiguracyjnymi, drukowaniem oraz rysowaniem z pomocą +ploterów, jak również dostęp do plików pomocy.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_top_menu_bar.png" alt="images/pl/Pcbnew_top_menu_bar.png"> +</div> +</div> +<div class="sect3"> +<h4 id="_menu_plik">3.9.1. Menu Plik</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_file_menu.png" alt="images/pl/Pcbnew_file_menu.png"> +</div> +</div> +<div class="paragraph"><p>Pozwala na ładowanie i zapisywanie plików z obwodem drukowanym, jak również +pozwala na drukowanie bądź rysowanie gotowych obwodów drukowanych. Umożliwia +ono też eksport danych o obwodzie drukowanym (w formacie GenCAD 1.4) w celu +użycia ich w automatycznych testerach.</p></div> +</div> +<div class="sect3"> +<h4 id="_menu_edycja">3.9.2. Menu Edycja</h4> +<div class="paragraph"><p>Pozwala na wykonanie pewnych edycji dotyczących całego projektu obwodu +drukowanego:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_edit_menu.png" alt="images/pl/Pcbnew_edit_menu.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_menu_widok">3.9.3. Menu Widok</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_view_menu.png" alt="images/pl/Pcbnew_view_menu.png"> +</div> +</div> +<div class="paragraph"><p>Funkcje służące do powiększania i pomniejszania widoku oraz podglądu 3D</p></div> +<div class="sect4"> +<h5 id="_przegladarka_3d">Przeglądarka 3D</h5> +<div class="paragraph"><p>Otwiera przeglądarkę 3D. Poniżej znajduje się przykład obwodu drukowanego w +przestrzeni 3D:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Sample_3D_board.png" alt="images/pl/Sample_3D_board.png"> +</div> +</div> +</div> +<div class="sect4"> +<h5 id="_przeaczanie_trybu_wyswietlania">Przełączanie trybu wyświetlania</h5> +<div class="paragraph"><p>Pozwala na przełączenie trybu wyswietlania grafiki.</p></div> +<div class="ulist"><ul> +<li> +<p> +Domyślny +</p> +</li> +<li> +<p> +OpenGL +</p> +</li> +<li> +<p> +Cairo +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect3"> +<h4 id="_menu_dodaj">3.9.4. Menu Dodaj</h4> +<div class="paragraph"><p>Zawiera te same funkcje co prawy pasek narzędzi.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_place_menu.png" alt="images/pl/Pcbnew_place_menu.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_menu_trasowania">3.9.5. Menu trasowania</h4> +<div class="paragraph"><p>Funkcje trasowania.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_route_menu.png" alt="images/pl/Pcbnew_route_menu.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_menu_ustawienia">3.9.6. Menu Ustawienia</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_preferences_menu.png" alt="images/pl/Pcbnew_preferences_menu.png"> +</div> +</div> +<div class="paragraph"><p>Pozwala na:</p></div> +<div class="ulist"><ul> +<li> +<p> +Wybór aktywnych bibliotek footprintów. +</p> +</li> +<li> +<p> +Pokazuje/ukrywa "Menedżera Warstw" (Po prawej stronie, pozwalającym na wybór + kolorów warstw i pozostałych grup elementów. Umożliwia także na przełączanie + widoczności warstw i grup elementów). +</p> +</li> +<li> +<p> +Zarządzanie głównymi opcjami programu (jednostki, itp.) +</p> +</li> +<li> +<p> +Zarządzanie pozostałymi opcjami wyświetlania +</p> +</li> +<li> +<p> +Tworzeniem, edycją (i ponownym odczytaniem) pliku z definicją skrótów + klawiszowych. +</p> +</li> +</ul></div> +</div> +<div class="sect3"> +<h4 id="_menu_wymiary">3.9.7. Menu Wymiary</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_dimensions_menu.png" alt="images/pl/Pcbnew_dimensions_menu.png"> +</div> +</div> +<div class="paragraph"><p>Bardzo istotne menu. Pozwala na dostosowanie:</p></div> +<div class="ulist"><ul> +<li> +<p> +Rozmiaru siatki użytkownika. +</p> +</li> +<li> +<p> +Rozmiaru tekstów oraz szerokości linii podczas rysowania. +</p> +</li> +<li> +<p> +Rozmiarów oraz charakterystyki pól lutowniczych. +</p> +</li> +<li> +<p> +Ustawień globalnych związanych z warstwami masek: soldermaski oraz pasty. +</p> +</li> +</ul></div> +</div> +<div class="sect3"> +<h4 id="_menu_narzedzia">3.9.8. Menu Narzędzia</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_tools_menu.png" alt="images/pl/Pcbnew_tools_menu.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_menu_reguy_projektowe">3.9.9. Menu Reguły projektowe</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_design_rules_menu.png" alt="images/pl/Pcbnew_design_rules_menu.png"> +</div> +</div> +<div class="paragraph"><p>Pozwala na dostęp do dwóch okien dialogowych:</p></div> +<div class="ulist"><ul> +<li> +<p> +Ustawienia reguł projektowych (szerokości ścieżek, rozmiar przelotek, + prześwit). +</p> +</li> +<li> +<p> +Ustawienia warstw (liczba, dostępność oraz nazwy) +</p> +</li> +</ul></div> +</div> +<div class="sect3"> +<h4 id="_menu_pomoc">3.9.10. Menu Pomoc</h4> +<div class="paragraph"><p>Umożliwia wyświetlenie tego pliku pomocy oraz dostarcza informacji o wersji +oprogramowania (<em>O programie</em>).</p></div> +</div> +</div> +<div class="sect2"> +<h3 id="_polecenia_zwiazane_z_ikonami_na_gownym_pasku_narzedzi">3.10. Polecenia związane z ikonami na głównym pasku narzędzi</h3> +<div class="paragraph"><p>Ten pasek narzędziowy daje bezpośredni dostęp do najważniejszych funkcji +programu Pcbnew.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_top_toolbar.png" alt="images/pl/Pcbnew_top_toolbar.png"> +</div> +</div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:28%;"> +<col style="width:71%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/new.png" alt="images/icons/new.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tworzy nowy projekt obwodu drukowanego.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/open_brd_file.png" alt="images/icons/open_brd_file.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Otwiera uprzednio zapisany projekt obwodu drukowanego.</p></td> +</tr> +<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">Zapisuje projekt obwodu drukowanego.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/sheetset.png" alt="images/icons/sheetset.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybiera rozmiar strony (pola roboczego) oraz pozwala na modyfikację właściwości pliku.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/module_editor.png" alt="images/icons/module_editor.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Otwiera edytor footprintów pozwalający na podgląd lub edycję bibliotek footprintów.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/undo.png" alt="images/icons/undo.png"> +</span> <span class="image"> +<img src="images/icons/redo.png" alt="images/icons/redo.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Cofa lub przywraca ostatnie edycje (do 10 poziomów).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/print_button.png" alt="images/icons/print_button.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wyświetla menu z opcjami wydruku.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/plot.png" alt="images/icons/plot.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wyświetla menu z opcjami rysowania schematu.</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> <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">Przybliżanie i oddalanie pola roboczego (względem centralnego punktu ekranu).</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">Odświeża ekran.</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">Automatycznie dopasowuje powiększenie.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/find.png" alt="images/icons/find.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wyszukuje footprinty lub teksty.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/netlist.png" alt="images/icons/netlist.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Operacje związane z listą sieci (wybór, odczyt, testowanie oraz kompilacja).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/drc.png" alt="images/icons/drc.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Sprawdzanie poprawności projektu DRC (<em>Design Rule Check</em>): Automatycznie sprawdza + poprawność poprowadzonych ścieżek (zgodność z listą sieci i regułami).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/Pcbnew_toolbar_layer_select_dropdown.png" alt="images/Pcbnew_toolbar_layer_select_dropdown.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybór aktywnej warstwy.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/Pcbnew_layer_pair_indicator.png" alt="images/Pcbnew_layer_pair_indicator.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybór pary warstw (dla przelotek).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/mode_module.png" alt="images/icons/mode_module.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tryb ręcznego lub automatycznego przesuwania footprintów: jeśli ta ikona jest aktywna menu podręczne + przełącza się w tryb pracy z footprintami.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/mode_track.png" alt="images/icons/mode_track.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tryb ścieżek i autoroutingu: jeśli ta ikona jest aktywna menu podręczne przełącza się w tryb pracy ze ścieżkami.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/web_support.png" alt="images/icons/web_support.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Umożliwia bezpośredni dostęp do autoroutera on-line: FreeRoute.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/py_script.png" alt="images/icons/py_script.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pokazuje lub ukrywa konsolę skryptów języka Python</p></td> +</tr> +</tbody> +</table> +<div class="sect3"> +<h4 id="_panel_dodatkowy">3.10.1. Panel dodatkowy:</h4> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:28%;"> +<col style="width:71%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/Pcbnew_track_thickness_dropdown.png" alt="images/Pcbnew_track_thickness_dropdown.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybiera aktualnie używaną szerokość ścieżki.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/Pcbnew_via_size_dropdown.png" alt="images/Pcbnew_via_size_dropdown.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybiera aktualnie używany rozmiar przelotki.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/auto_track_width.png" alt="images/icons/auto_track_width.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Automatyczna szerokość ścieżek: jeśli jest aktywna, podczas tworzenia nowej ścieżki + rozpoczynającej się na innej ścieżce, szerokość tej ścieżki zostanie ustawiona tak samo + jak ścieżka od której się zaczyna.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/Pcbnew_grid_size_dropdown.png" alt="images/Pcbnew_grid_size_dropdown.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybór aktualnego rozmiaru siatki.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/Pcbnew_zoom_factor_dropdown.png" alt="images/Pcbnew_zoom_factor_dropdown.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybór powiększenia.</p></td> +</tr> +</tbody> +</table> +<div style="page-break-after:always"></div> +</div> +</div> +<div class="sect2"> +<h3 id="_polecenia_zwiazane_z_ikonami_na_prawym_panelu">3.11. Polecenia związane z ikonami na prawym panelu</h3> +<div class="paragraph"><p>Ten pasek narzędzi daje dostęp do podstawowych narzędzi edycji PCB:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:10%;"> +<col style="width:5%;"> +<col style="width:85%;"> +<tbody> +<tr> +<td class="tableblock halign-center valign-middle" rowspan="16" ><p class="tableblock"><span class="image"> +<img src="images/Pcbnew_right_toolbar.png" alt="images/Pcbnew_right_toolbar.png" width="80%"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/cursor.png" alt="images/icons/cursor.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zatrzymuje pracę używanego aktualnie narzędzia.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/net_highlight.png" alt="images/icons/net_highlight.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Podświetlenie całej sieci do której należy wskazana ścieżka lub pole lutownicze.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/tool_ratsnest.png" alt="images/icons/tool_ratsnest.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pokazuje lokalne połączenia wspomagające (w footprintach lub padach).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/module.png" alt="images/icons/module.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wstawia footprint z biblioteki na płytkę.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_tracks.png" alt="images/icons/add_tracks.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tworzenie ścieżek i przelotek.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_zone.png" alt="images/icons/add_zone.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tworzenie wypełnionych stref (pola miedzi).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_keepout_area.png" alt="images/icons/add_keepout_area.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tworzenie stref odciętych (anty pola miedzi).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_dashed_line.png" alt="images/icons/add_dashed_line.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rysowanie linii na warstwach technicznych (tzn. nie będących warstwami sygnałowymi).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_circle.png" alt="images/icons/add_circle.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rysowanie okręgów na warstwach technicznych (tzn. nie będących warstwami sygnałowymi).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_arc.png" alt="images/icons/add_arc.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rysowanie łuków lub wycinków okręgu na warstwach technicznych (tzn. nie będących warstwami sygnałowymi).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_text.png" alt="images/icons/add_text.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wstawianie dowolnego tekstu.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_dimension.png" alt="images/icons/add_dimension.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rysowanie linii wymiarowych na warstwach technicznych (tzn. nie będących warstwami sygnałowymi).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_mires.png" alt="images/icons/add_mires.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wstawianie znaczników do składania warstw (występują one na wszystkich warstwach).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/delete.png" alt="images/icons/delete.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Usuwanie elementów wskazywanych przez kursor.</p> +<p class="tableblock"> <strong>Uwaga:</strong> + Gdy kasowane są elementy występujące na tej samej pozycji, + elementy są wskazywane zgodnie z ich priorytetem od najmniejszego + do największego (w odwrotnej kolejności: ścieżki, teksty, footprinty). + Funkcja "Cofnij" na górnym pasku narzędzi pozwala na cofnięcie operacji + usunięcia elementu.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/pcb_offset.png" alt="images/icons/pcb_offset.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Ustawianie punktu przesunięcia dla plików wierceń oraz położeń elementów.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/grid_select_axis.png" alt="images/icons/grid_select_axis.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Ustawienie punktu odniesienia siatki (początek siatki). Użyteczne przy edycji + i ustawianiu footprintów. Można go również ustawić z menu <strong>Wymiary</strong> → <strong>Siatka</strong>.</p></td> +</tr> +</tbody> +</table> +<div class="ulist"><ul> +<li> +<p> +Wstawianie footprintów, ścieżek, stref wypełnień, tekstów, itp. +</p> +</li> +<li> +<p> +Podświetlanie sieci. +</p> +</li> +<li> +<p> +Tworzenie opisów, elementów graficznych… +</p> +</li> +<li> +<p> +Usuwanie elementów składowych footprintu. +</p> +</li> +</ul></div> +<div style="page-break-after:always"></div> +</div> +<div class="sect2"> +<h3 id="_polecenia_zwiazane_z_ikonami_na_lewym_panelu">3.12. Polecenia związane z ikonami na lewym panelu</h3> +<div class="paragraph"><p>Lewy panel umożliwia szybką zmianę najczęściej używanych opcji.</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:10%;"> +<col style="width:5%;"> +<col style="width:85%;"> +<tbody> +<tr> +<td class="tableblock halign-center valign-middle" rowspan="17" ><p class="tableblock"><span class="image"> +<img src="images/Pcbnew_left_toolbar.png" alt="images/Pcbnew_left_toolbar.png" width="80%"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/drc_off.png" alt="images/icons/drc_off.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wyłącza lub włącza opcję bieżącego sprawdzania <strong>DRC</strong> (<em>Design Rule Checking</em>). + <strong>Ostrożnie: Gdy DRC jest wyłączone można tworzyć również błędne połączenia.</strong></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/grid.png" alt="images/icons/grid.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza wyświetlanie siatki (<strong>Uwaga: Zbyt mała siatka + może nie być wyświetlana</strong>).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/polar_coord.png" alt="images/icons/polar_coord.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza wyświetlanie współrzędnych polarnych dla współrzędnych względnych.</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> <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">Przełącza pomiędzy wyświetlaniem/wprowadzaniem danych w postaci cali lub milimetrów.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/cursor_shape.png" alt="images/icons/cursor_shape.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zmienia kształt kursora.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/general_ratsnest.png" alt="images/icons/general_ratsnest.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wyświetla połączenia wspomagające (nitki wskazujące niedokończone połączenia pomiędzy footprintami).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/local_ratsnest.png" alt="images/icons/local_ratsnest.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wyświetla dynamiczne połączenia wspomagające podczas przesuwania footprintów.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/auto_delete_track.png" alt="images/icons/auto_delete_track.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza automatyczne kasowanie starych ścieżek.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/show_zone.png" alt="images/icons/show_zone.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Przełącza tryb wyświetlania stref.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/show_zone_disable.png" alt="images/icons/show_zone_disable.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pokazuje całość (obramowanie i wypełnienie).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/show_zone_outline_only.png" alt="images/icons/show_zone_outline_only.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pokazuje tylko obramowanie (wypełnienia są ukryte).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/pad_sketch.png" alt="images/icons/pad_sketch.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza wyświetlanie punktów lutowniczych w trybie uproszczonym (tyko zarys).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/via_sketch.png" alt="images/icons/via_sketch.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza wyświetlania przelotek w trybie uproszczonym (tylko zarys).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/showtrack.png" alt="images/icons/showtrack.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza wyświetlania ścieżek w trybie uproszczonym (tylko zarys).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/contrast_mode.png" alt="images/icons/contrast_mode.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza tryb wysokiego kontrastu. W trybie tym aktywna warstwa jest wyświetlana + własnym kolorem, natomiast reszta warstw jest wyświetlana w odcieniach szarości. Tryb taki + jest zwykle używany w obwodach wielowarstwowych.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/layers_manager.png" alt="images/icons/layers_manager.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza boczny panel z menedżerem warstw.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/mw_toolbar.png" alt="images/icons/mw_toolbar.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza dodatkowy pasek narzędzi mikrofalowych (Narzędzie to nie jest jeszcze ukończone).</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_menu_podreczne_i_szybka_edycja_elementow_na_pcb">3.13. Menu podręczne i szybka edycja elementów na PCB</h3> +<div class="paragraph"><p>Kliknięcie prawym klawiszem przywołuje menu podręczne, którego zawartość +zależna jest od elementu nad jakim obecnie znajduje się kursor.</p></div> +<div class="paragraph"><p>Menu to daje natychmiastowy dostęp do:</p></div> +<div class="ulist"><ul> +<li> +<p> +Zmiany wyświetlania obszaru roboczego (centrowanie widoku wokół kursora, + przybliżania lub oddalania widoku oraz wyboru powiększenia z listy). +</p> +</li> +<li> +<p> +Ustawiania rozmiaru siatki. +</p> +</li> +<li> +<p> +Dodatkowo kliknięcie prawym klawiszem na elemencie włącza możliwość edycji + jego często używanych parametrów. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Poniższe zrzuty ekranowe ukazują jak wyglądać będzie menu podręczne.</p></div> +</div> +<div class="sect2"> +<h3 id="_tryby_pracy">3.14. Tryby pracy</h3> +<div class="paragraph"><p>Pcbnew posiada trzy podstawowe tryby pracy, które można wybrać z poziomu +głównego paska narzędzi. Tryby te zmieniają postać menu podręcznego.</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:28%;"> +<col style="width:71%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/mode_module.png" alt="images/icons/mode_module.png"> +</span> oraz + <span class="image"> +<img src="images/icons/mode_track.png" alt="images/icons/mode_track.png"> +</span> wyłączone</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tryb normalny</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/mode_module.png" alt="images/icons/mode_module.png"> +</span> włączony</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tryb automatycznego lub ręcznego przesuwanie footprintów</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/mode_track.png" alt="images/icons/mode_track.png"> +</span> włączone</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tryb ścieżek i autoroutingu</p></td> +</tr> +</tbody> +</table> +<div class="sect3"> +<h4 id="_praca_normalna">3.14.1. Praca normalna</h4> +<div class="ulist"><ul> +<li> +<p> +Menu podręczne bez wyboru elementu +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_popup_normal_mode.png" alt="images/pl/Pcbnew_popup_normal_mode.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +Menu podręczne przy ścieżce +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_popup_normal_mode_track.png" alt="images/pl/Pcbnew_popup_normal_mode_track.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +Menu podręczne przy module +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_popup_normal_mode_footprint.png" alt="images/pl/Pcbnew_popup_normal_mode_footprint.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_tryb_automatycznego_lub_recznego_przesuwanie_footprintow">3.14.2. Tryb Automatycznego lub ręcznego przesuwanie footprintów</h4> +<div class="paragraph"><p>Te samo menu przy włączonym trybie <em>Ręcznego lub Automatycznego przesuwania +footprintów</em> (<span class="image"> +<img src="images/icons/mode_module.png" alt="Ikona Tryb przesuwania footprintów"> +</span> aktywna).</p></div> +<div class="ulist"><ul> +<li> +<p> +Menu podręczne bez wyboru elementu +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_popup_footprint_mode.png" alt="images/pl/Pcbnew_popup_footprint_mode.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +Menu podręczne przy ścieżce +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_popup_footprint_mode_track.png" alt="images/pl/Pcbnew_popup_footprint_mode_track.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +Menu podręczne przy module +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_popup_footprint_mode_footprint.png" alt="images/pl/Pcbnew_popup_footprint_mode_footprint.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_tryb_sciezek_i_autoroutingu">3.14.3. Tryb Ścieżek i autoroutingu</h4> +<div class="paragraph"><p>To samo przy trybie <em>Ścieżek i autoroutingu</em> +(<span class="image"> +<img src="images/icons/mode_track.png" alt="Ikona Tryb prowadzenia ścieżek"> +</span> aktywna).</p></div> +<div class="ulist"><ul> +<li> +<p> +Menu podręczne bez wyboru elementu +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_popup_track_mode.png" alt="images/pl/Pcbnew_popup_track_mode.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +Menu podręczne przy ścieżce +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_popup_track_mode_track.png" alt="images/pl/Pcbnew_popup_track_mode_track.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +Menu podręczne przy module +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_popup_track_mode_footprint.png" alt="images/pl/Pcbnew_popup_track_mode_footprint.png"> +</div> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_implementacja_schematu_na_obwodzie_drukowanym">4. Implementacja schematu na obwodzie drukowanym</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_poaczenie_schematu_z_obwodem_drukowanym">4.1. Połączenie schematu z obwodem drukowanym</h3> +<div class="paragraph"><p>Schemat jest łączony z Pcbnew z pomocą pliku listy sieci, która normalnie +jest tworzona przez program do edycji schematów. Pcbnew akceptuje listy +sieci w formatach Eeschema lub ORCAD PCB 2. Lista sieci jaka jest generowana +przez program do edycji schematu jest zwykle niekompletna, gdyż nie ma w +niej zawartej informacji o footprintach jakie będą posiadać poszczególne +komponenty na PCB. W konsekwencji potrzebny jest plik pośredni, który +zawierał będzie odpowiednie połączenia pomiędzy komponentami a ich +footprintami. Do tego celu służy program CvPcb, który może generować pliki +<span class="monospaced">*.cmp</span>. Program ten uaktualnia także listę sieci używając informacji o +powiązaniach footprintów.</p></div> +<div class="paragraph"><p>CvPcb może również tworzyć pliki numeracji wstecznej <span class="monospaced">*.stf</span>, które mogą być +ponownie wczytane do schematu w celu zmodyfikowania pola <em>Obudowa</em> w każdym +z komponentów, skracając tym samym czas potrzebny na wypełnianie tego pola +przy edycji schematu. W programie Eeschema podczas kopiowania komponentów, +kopiowane są również informacje zawarte w tym polu, a oznaczenia zostają +przywrócone do stanu sprzed numeracji dla późniejszego procesu +auto-numeracji przyrostowej.</p></div> +<div class="paragraph"><p>Pcbnew odczytuje zmodyfikowany plik z listą sieci <span class="monospaced">.net</span> i, jeśli istnieje, +plik <span class="monospaced">.cmp</span>. W przypadku footprintu zmienionego bezpośrednio w Pcbnew, plik +<span class="monospaced">.cmp</span> jest automatycznie uaktualniany co pozwala na jego wykorzystanie przy +numeracji wstecznej w programie Eeschema.</p></div> +<div class="paragraph"><p>Proszę spojrzeć na rysunek w podręczniku "Pierwsze kroki w programie KiCad" +w sekcji <em>Schemat pracy w programie KiCad</em>, który ilustruje jak poruszać się +w programie KiCad i jakie pliki są wymieniane pomiędzy aplikacjami +wchodzącymi w skład pakietu.</p></div> +</div> +<div class="sect2"> +<h3 id="_procedura_tworzenia_podstaw_obwodu_drukowanego">4.2. Procedura tworzenia podstaw obwodu drukowanego</h3> +<div class="paragraph"><p>Po stworzeniu potrzebnego schematu by rozpocząć pracę nad odwodem drukowanym +należy:</p></div> +<div class="ulist"><ul> +<li> +<p> +Tworzenie listy sieci używając Eeschema. +</p> +</li> +<li> +<p> +Przypisać z pomocą CvPcb każdemu komponentowi znajdującemu się na liście + sieci wygenerowanej przez Eeschema odpowiedni footprint, który będzie go + reprezentował na PCB. +</p> +</li> +<li> +<p> +Uruchomić Pcbnew oraz odczytać zmodyfikowaną listę sieci. To spowoduje + również odczyt danych o footprintach. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Pcbnew po tych operacjach automatycznie załaduje wskazane +footprinty. Footprinty te będzie można porozmieszczać na obwodzie drukowanym +manualnie lub automatycznie, a później wytrasować łączące je ścieżki.</p></div> +</div> +<div class="sect2"> +<h3 id="_procedura_aktualizacji_obwodu_drukowanego">4.3. Procedura aktualizacji obwodu drukowanego</h3> +<div class="paragraph"><p>Gdy schemat został zmieniony, należy ponownie wykonać następujące kroki:</p></div> +<div class="ulist"><ul> +<li> +<p> +Generowanie nowej listy sieci używając programu Eeschema. +</p> +</li> +<li> +<p> +Jeśli zmiany na schemacie spowodowały dodanie nowych komponentów, należy im + przypisać footprinty używając programu CvPcb. +</p> +</li> +<li> +<p> +Uruchomić Pcbnew i ponownie załadować zmodyfikowaną listę sieci (to + spowoduje również ponowne załadowanie fragmentu pliku z wyborem + footprintów). +</p> +</li> +</ul></div> +<div class="paragraph"><p>Po wykonaniu tych kroków Pcbnew załaduje automatycznie wszystkie nowe +footprinty, doda nowe połączenia z listy sieci oraz usunie niepotrzebne już +połączenia. Proces te zwie się renumeracja i jest zwykłą procedurą gdy +tworzony jest PCB lub jest on uaktualniany.</p></div> +</div> +<div class="sect2"> +<h3 id="_odczytywanie_listy_sieci_adowanie_footprintow_opcje">4.4. Odczytywanie listy sieci - Ładowanie footprintów - Opcje</h3> +<div class="sect3"> +<h4 id="_okno_obsugi_listy_sieci">4.4.1. Okno obsługi listy sieci</h4> +<div class="paragraph"><p>Okno to jest dostępne za pomocą polecenia ukrytego pod ikoną +<span class="image"> +<img src="images/icons/netlist.png" alt="images/icons/netlist.png"> +</span></p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_netlist_dialog.png" alt="images/pl/Pcbnew_netlist_dialog.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_dostepne_opcje">4.4.2. Dostępne opcje</h4> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:50%;"> +<col style="width:50%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Wybierz footprint biorąc pod uwagę</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Opcje przydatne podczas ponownego wczytywania zmodyfikowanej listy sieci. Można wybrać czy Pcbnew będzie się posługiwał oznaczeniami lub znacznikami czasowymi. + Korzystając z pierwszej opcji w przypadku gdy na schemacie została zmieniona numeracja elementów to Pcbnew może ponownie załadować już istniejące footprinty jako nowe. +Druga opcja pozwala tego uniknąć, gdyż istniejące footprinty posiadające unikalny znacznik czasowy nie zostaną załadowane ponownie i nastąpi tylko zmiana oznaczeń istniejących footprintów.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Zamień footprinty</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Jeśli footprint został zmieniony na liście sieci to przy wczytywaniu listy sieci można wybrać, czy Pcbnew ma zachować poprzedni footprint lub zamienić go na nowy.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Niepołączone ścieżki</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pozwala wybrać, czy poprzednio wykonane ścieżki nie pasujące już do nowej listy sieci mają zostać usunięte.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Dodatkowe footprinty</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza lub wyłącza usuwanie footprintów które pozostały na płytce, lecz nie ma ich na liście sieci. + <strong>Uwaga!</strong> Footprinty z atrybutem <em>Zablokowane</em> nie zostaną usunięte.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Nazwy sieci z niepołączonych pól</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pozwala na usunięcie lub pozostawienie nazw sieci z pól lutowniczych, które pomimo iż istnieją na liście sieci nie są z niczym innym połączone. +<strong>Uwaga!</strong> Eeschema dla każdego pinu zawsze tworzy nazwę sieci, by Pcbnew mógł lepiej wykrywać niedopasowania footprintów.</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_adowanie_nowych_footprintow">4.4.3. Ładowanie nowych footprintów</h4> +<div class="paragraph"><p>W trybie wyświetlania GAL gdy nowe footprinty zostaną znalezione w liście +sieci, zostaną one załadowane, rozdzielone i będą gotowe do przesunięcia +jako grupa w inne miejsce.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_import_spread_footprints.png" alt="images/Pcbnew_import_spread_footprints.png" height="300"> +</div> +</div> +<div class="paragraph"><p>W trybie wyświetlania Legacy gdy nowe footprinty zostaną znalezione w liście +sieci, zostaną one załadowane i poukładane w punkcie zerowym (0, 0).</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_stacked_footprints.png" alt="images/Pcbnew_stacked_footprints.png"> +</div> +</div> +<div class="paragraph"><p>Domyślnie zostaną one umieszczone na stosie na pozycji 0,0, z którego można +je przesunąć w inne miejsca jeden po drugim. Jednak lepszym rozwiązaniem +jest ich automatyczne przeniesienie i rozłożenie. W tym celu wymagane będą:</p></div> +<div class="paragraph"><p>Aktywacja trybu Automatycznego przesuwania footprintów +(<span class="image"> +<img src="images/icons/mode_module.png" alt="images/icons/mode_module.png"> +</span>)</p></div> +<div class="paragraph"><p>Przesunięcie kursora myszy w puste pole na obszarze roboczym i wywołanie +podręcznego menu:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_move_all_modules.png" alt="images/pl/Pcbnew_move_all_modules.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +<strong>Przesuń nowe footprinty</strong> jeśli istnieje już obrys płytki ze znajdującymi + się na niej footprintami. +</p> +</li> +<li> +<p> +<strong>Przesuń wszystkie footprinty</strong>, jeśli operacja rozmieszczenia footprintów + uruchamiana jest po raz pierwszy (tworzymy nowy obwód drukowany) +</p> +</li> +</ul></div> +<div class="paragraph"><p>Poniżej można zobaczyć przykład działania pierwszego z tych poleceń:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_unstacked_footprints.png" alt="images/Pcbnew_unstacked_footprints.png"> +</div> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_warstwy_w_programie_pcbnew">5. Warstwy w programie Pcbnew</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_wprowadzenie_2">5.1. Wprowadzenie</h3> +<div class="paragraph"><p>Pcbnew może pracować na 50 rożnych warstwach:</p></div> +<div class="ulist"><ul> +<li> +<p> +Od 1 do 16 warstw miedzi przeznaczonych do prowadzenia ścieżek sygnałowych. +</p> +</li> +<li> +<p> +Do 14 warstw technicznych o okreslonym przeznaczeniu: +</p> +<div class="ulist"><ul> +<li> +<p> +12 par warstw (górna/dolna): <strong>Kleju</strong>, <strong>Pasty</strong>, + <strong>Opisu</strong>, <strong>Maski</strong>, <strong>Otoczenia</strong>, <strong>Produkcyjna</strong> +</p> +</li> +<li> +<p> +2 samodzielnych warstw: <strong>Krawędzi</strong>, <strong>Marginesu</strong> +</p> +</li> +</ul></div> +</li> +<li> +<p> +4 warstw pomocniczych które można wykorzystać dowolnie: <strong>Komentarzy</strong>, + <strong>ECO1</strong>, <strong>ECO2</strong>, <strong>Rysunkowa</strong> +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_ustawianie_warstw_roboczych">5.2. Ustawianie warstw roboczych</h3> +<div class="paragraph"><p>By uruchomić narzędzie <strong>Ustawień warstw</strong> z menu głównego, wybierz <strong>Reguły +projektowe</strong> → <strong>Opcje warstw</strong>.</p></div> +<div class="paragraph"><p>Liczba dostępnych warstw miedzi, ich nazwy lub funkcje są konfigurowane w +tym oknie. Można również wyłączać nieużywane warstwy techniczne.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_layer_setup_dialog.png" alt="images/pl/Pcbnew_layer_setup_dialog.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_opisy_warstw">5.3. Opisy warstw</h3> +<div class="sect3"> +<h4 id="_warstwy_sygnaowe_miedzi">5.3.1. Warstwy sygnałowe (miedzi)</h4> +<div class="paragraph"><p>Warstwy sygnałowe to warstwy używane między innymi przez auto-router do +prowadzenia ścieżek sygnałowych. Warstwy numerowane są od 0 (pierwsza +warstwa na górze) do 31 (na dole). Ponieważ nie ma możliwości umieszczania +komponentów na warstwach <strong>wewnętrznych</strong> (numery 1 do 30), tylko warstwy 0 i +31 są warstwami <strong>komponentów</strong>.</p></div> +<div class="paragraph"><p>Warstwom sygnałowym można nadawać nazwy własne. Warstwy miedzi posiadają +również atrybuty używane przez zewnętrzny router on-line: +<em>FreeRouter</em>. Przykładem domyślnych nazw są: <strong>F.Cu</strong> oraz <strong>In0</strong> dla warstwy +0.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_layer_setup_dialog_layer_properties.png" alt="images/pl/Pcbnew_layer_setup_dialog_layer_properties.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_pary_warstw_technicznych">5.3.2. Pary warstw technicznych</h4> +<div class="paragraph"><p>12 warstw technicznych występują parami: jedna na górze, jedna na +dole. Można je odróżnić od innych poprzez prefiksy "F." i "B." w +nazwie. Elementy składające się na footprint (pola lutownicze, obrysy i +tekst) znajdujące się na tych warstwach są automatycznie odwracane i +przesuwane gdy footprint jest przemieszczany pomiędzy stronami płytki.</p></div> +<div class="paragraph"><p>Dostępne pary warstw technicznych to:</p></div> +<div class="dlist"><dl> +<dt class="hdlist1"> +<strong>Kleju</strong> (F.Adhes i B.Adhes) +</dt> +<dd> +<p> + Warstwy kleju są używane przy mocowaniu elementów SMD za pomocą kleju w + przypadku obwodów drukowanych, których montaż odbywa się przez lutowanie na + fali (Wave soldering). +</p> +</dd> +<dt class="hdlist1"> +<strong>Pasty</strong> (F.Paste i B.Paste) +</dt> +<dd> +<p> + Warstwy pasty lutowniczej (<strong>Solder Paste</strong>) dla elementów SMD są używane do + produkcji szablonów pozwalających aplikować pastę lutowniczą wyłącznie na + polach lutowniczych przeznaczonych dla elementów montowanych powierzchniowo + w piecach rozpływowych (Reflow soldering). Teoretycznie tylko elementy + montowane powierzchniowo zajmują te warstwy. +</p> +</dd> +<dt class="hdlist1"> +<strong>Opisowa</strong> (F.SilkS i B.SilkS) +</dt> +<dd> +<p> + Warstwy opisowe są używane do rysowania uproszczonych obrysów elementów. Są + przeznaczone do rysowania grafiki przedstawiającej polaryzację elementu, + znaczników desymetryzujących, referencji, czy też zwykłych tekstów z opisem. +</p> +</dd> +<dt class="hdlist1"> +<strong>Maski</strong> (F.Mask i B.Mask) +</dt> +<dd> +<p> + Warstwy anty-cynowania definiują maskę wykorzystywane przy wstępnym + cynowaniu PCB. Normalnie wszystkie pola lutownicze jakie znajdują się na + jednej (montaż SMT) lub na obu stronach (montaż THT) są maskowane, aby + zapobiegać pokryciu ich lakierem (zwanym popularnie Soldermaską) w końcowym + procesie produkcyjnym. +</p> +</dd> +<dt class="hdlist1"> +<strong>Otoczenia</strong> (F.CrtYd i B.CrtYd) +</dt> +<dd> +<p> + Używane do określania ile miejsca fizycznie zajmuje komponent na płytce PCB + z zapasem dla automatów montujących. +</p> +</dd> +<dt class="hdlist1"> +<strong>Produkcyjna</strong> (F.Fab i B.Fab) +</dt> +<dd> +<p> + Używane do rysowania planu rozkładu elementów na płytce. Plan ten jest + wykorzystywany przy programowaniu automatów montujących elementy i przy + finalnym sprawdzaniu poprawności obsadzenia tych elementów. +</p> +</dd> +</dl></div> +</div> +<div class="sect3"> +<h4 id="_niezalezne_warstwy_techniczne">5.3.3. Niezależne warstwy techniczne</h4> +<div class="dlist"><dl> +<dt class="hdlist1"> +<strong>Krawędziowa</strong> (Edge.Cuts) +</dt> +<dd> +<p> + Warstwa ta jest zarezerwowana dla graficznego opisu obramowania + płytki. Dowolny element (grafika, tekst, element pozycjonujący…) + umieszczony na tej warstwie zostanie przeniesiony na pozostałe warstwy. +</p> +</dd> +<dt class="hdlist1"> +<strong>Marginesu</strong> (Margin) +</dt> +<dd> +<p> + Warstwa ta jest przeznaczona do narysowania obrysu elementów wystających + poza płytkę. +</p> +</dd> +</dl></div> +</div> +<div class="sect3"> +<h4 id="_warstwy_dla_wasnego_uzytku">5.3.4. Warstwy dla własnego użytku</h4> +<div class="paragraph"><p>Warstwy te można używać swobodnie. Można na nich przykładowo umieszczać +teksty instrukcji dla montażystów lub z opisem połączeń, albo też rysunki +konstrukcyjne. Ich nazwy to:</p></div> +<div class="ulist"><ul> +<li> +<p> +Cmts.User - Warstwa przeznaczona na komentarze użytkownika +</p> +</li> +<li> +<p> +Eco1.User - Warstwa przeznaczona na komentarze dla wytwórcy PCB +</p> +</li> +<li> +<p> +Eco2.User - Warstwa przeznaczona na komentarze dla wytwórcy PCB +</p> +</li> +<li> +<p> +Dwgs.User - Warstwa przeznaczona na rysunki użytkownika +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect2"> +<h3 id="_wybor_aktywnej_warstwy">5.4. Wybór aktywnej warstwy</h3> +<div class="paragraph"><p>Wybór aktualnie aktywnej warstwy może być przeprowadzony na kilka sposobów:</p></div> +<div class="ulist"><ul> +<li> +<p> +Używając prawego panelu warstw ("Menedżer warstw"). +</p> +</li> +<li> +<p> +Używając listy rozwijanej na górnym pasku narzędzi. +</p> +</li> +<li> +<p> +Używając menu podręcznego (wywoływanego prawym klawiszem myszy). +</p> +</li> +<li> +<p> +Używając klawiszy klawiatury + oraz - (działa tylko w przypadku warstw + sygnałowych). +</p> +</li> +<li> +<p> +Używając klawiszy skrótów. +</p> +</li> +</ul></div> +<div class="sect3"> +<h4 id="_wybor_z_pomoca_menedzera_warstw">5.4.1. Wybór z pomocą Menedżera warstw</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_layer_manager_pane.png" alt="images/pl/Pcbnew_layer_manager_pane.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_wybor_z_pomoca_dodatkowego_paska_narzedzi">5.4.2. Wybór z pomocą dodatkowego paska narzędzi</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_layer_selection_dropdown.png" alt="images/pl/Pcbnew_layer_selection_dropdown.png"> +</div> +</div> +<div class="paragraph"><p>Za pomocą tej listy można bezpośrednio wybrać warstwę roboczą.</p></div> +<div class="paragraph"><p>Oprócz tego lista ta wyświetla dodatkowo skróty klawiszowe przypisane +niektórym warstwom.Hot keys to select the working layer are displayed.</p></div> +</div> +<div class="sect3"> +<h4 id="_wybor_z_menu_podrecznego">5.4.3. Wybór z menu podręcznego</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_layer_selection_popup.png" alt="images/pl/Pcbnew_layer_selection_popup.png"> +</div> +</div> +<div class="paragraph"><p>W przypadku wywołania menu podręcznego można wybrać aktywną warstwę +korzystając z polecenia "Wybierz warstwę roboczą". Po wybraniu pokaże się +dodatkowe okno:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_layer_selection_dialog.png" alt="images/pl/Pcbnew_layer_selection_dialog.png"> +</div> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_wybor_warstw_dla_stawiania_przelotek">5.5. Wybór warstw dla stawiania przelotek</h3> +<div class="paragraph"><p>W przypadku pracy w trybie <strong>Ścieżek i autoroutingu</strong>, (aktywna jest ikona na +głównym pasku narzędzi), menu podręczne dostarcza dodatkowych opcji +związanych z wyborem pary warstw, na której stawiane będą przelotki:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_via_layer_pair_popup.png" alt="images/pl/Pcbnew_via_layer_pair_popup.png"> +</div> +</div> +<div class="paragraph"><p>Po wybraniu polecenia <em>Wybierz parę warstw</em>, otworzy się dodatkowe okno, +gdzie będzie można przypisać wirtualnym warstwom <em>Górnej</em> i <em>Dolnej</em> +odpowiednie warstwy sygnałowe, które będą łączone za pomocą przelotek.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_via_layer_pair_dialog.png" alt="images/pl/Pcbnew_via_layer_pair_dialog.png"> +</div> +</div> +<div class="paragraph"><p>Przy umieszczaniu przelotki na warstwie roboczej (aktywnej), warstwa ta +zostaje automatycznie przełączona na jej alternatywną warstwę w wybranej +wcześniej parze warstw dla przelotek.</p></div> +<div class="paragraph"><p>Przelotki są również wstawiane automatycznie podczas trasowania ścieżek, gdy +nastąpi zmiana warstwy roboczej za pomocą klawiszy skrótów.</p></div> +</div> +<div class="sect2"> +<h3 id="_uzywanie_trybu_wysokiego_kontrastu">5.6. Używanie trybu wysokiego kontrastu</h3> +<div class="paragraph"><p>Tryb ten jest włączany za pomocą ikony +<span class="image"> +<img src="images/icons/contrast_mode.png" alt="Ikona Tryb wysokiego kontrastu"> +</span> (na +lewym panelu opcji).</p></div> +<div class="paragraph"><p>W trybie tym, aktywna warstwa jest wyświetlana swoim własnym kolorem, +natomiast pozostałe warstwy są wyświetlane w odcieniach szarości.</p></div> +<div class="paragraph"><p>Zwykle taki tryb wyświetlania jest użyteczny w dwóch przypadkach:</p></div> +<div class="sect3"> +<h4 id="_warstwy_miedzi_w_trybie_wysokiego_kontrastu">5.6.1. Warstwy miedzi w trybie wysokiego kontrastu</h4> +<div class="paragraph"><p>W przypadku używania więcej niż czterech warstw roboczych, opcja ta pozwala +użytkownikowi lepiej zorientować się, która warstwa jest w danej chwili +aktywna:</p></div> +<div class="paragraph"><p>Tryb <strong>pracy normalnej</strong> (aktywna jest warstwa dolna):</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_copper_layers_contrast_normal.png" alt="images/Pcbnew_copper_layers_contrast_normal.png"> +</div> +</div> +<div class="paragraph"><p>Tryb pracy z <strong>wysokim kontrastem</strong> (aktywna jest warstwa dolna):</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_copper_layers_contrast_high.png" alt="images/Pcbnew_copper_layers_contrast_high.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_warstwy_techniczne">5.6.2. Warstwy techniczne</h4> +<div class="paragraph"><p>Inaczej wygląda sprawa trybu wysokiego kontrastu w przypadku gdy +chcielibyśmy podejrzeć zawartość warstw maskujących (np. pasty lutowniczej +lub maski cynowania), które normalnie nie są wyświetlane gdyż przykrywają je +warstwy sygnałowe.</p></div> +<div class="paragraph"><p>Maski na polach lutowniczych są wyświetlane jeśli ten tryb jest aktywny.</p></div> +<div class="paragraph"><p><strong>Tryb normalny</strong> (aktywna warstwa soldermaski na stronie górnej):</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_technical_layers_contrast_normal.png" alt="images/Pcbnew_technical_layers_contrast_normal.png"> +</div> +</div> +<div class="paragraph"><p>Tryb <strong>wysokiego kontrastu</strong> (aktywna warstwa soldermaski na stronie górnej):</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_technical_layers_contrast_high.png" alt="images/Pcbnew_technical_layers_contrast_high.png"> +</div> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_tworzenie_i_modyfikacja_projektu_obwodu_drukowanego">6. Tworzenie i modyfikacja projektu obwodu drukowanego</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_tworzenie_pytki">6.1. Tworzenie płytki</h3> +<div class="sect3"> +<h4 id="_rysowanie_obrysu_pytki">6.1.1. Rysowanie obrysu płytki</h4> +<div class="paragraph"><p>Dobrym pomysłem jest rozpoczęcie tworzenia płytki z obwodem drukowanym od +zdefiniowania jej obrysu. Obrys płytki jest zwykle rysowany za pomocą kilku +segmentów linii. By taki obrys narysować w programie Pcbnew należy wybrać +najpierw warstwę <em>Edge.Cuts</em> jako aktywną warstwę oraz użyć polecenia "Dodaj +linię lub wielokąt" by narysować poszczególne odcinki wielokąta klikając w +kolejnych narożnikach, a następnie klikając dwukrotnie by zakończyć +obrys. Płytki zwykle mają bardzo precyzyjnie ustalone wymiary, dlatego przy +rysowaniu obrysu może być konieczne posługiwanie się informacjami o +położeniu kursora na pasku statusu. Pomocny może stać się mechanizm +współrzędnych względnych, których punkt zerowy można dowolnie +przestawiać. Zmianę jednostek w jakich są wyświetlane informacje na pasku +statusu można przeprowadzić za pomocą klawisza skrótu <em>Alt-U</em>. Nic nie stoi +także na przeszkodzie by w obrysie płytki zawrzeć również krzywe, okręgi lub +łuki:</p></div> +<div class="olist arabic"><ol class="arabic"> +<li> +<p> +Wybrać jedno z dostępnych narzędzi <em>Dodaj okrąg</em> lub <em>Dodaj łuk</em>. +</p> +</li> +<li> +<p> +Kliknąć w miejscu gdzie ma znaleźć się środek okręgu lub łuku. +</p> +</li> +<li> +<p> +Poruszając myszą ustawić odpowiedni promień. +</p> +</li> +<li> +<p> +Zakończyć rysowanie klikając ponownie. +</p> +</li> +</ol></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Zapamiętaj</div> +</td> +<td class="content">Szerokość linii stanowiącej obrys może zostać zmieniona w menu "Ustawienia" +(zalecana szerokość to 150 w jednostkach 1/10 milsa) lub za pomocą jej +właściwości, ale zmiana może nie być widoczna do czasu przełączenia widoku +na widok pełny.</td> +</tr></table> +</div> +<div class="paragraph"><p>Przykładowy rezultat może wyglądać tak:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_simple_board_outline.png" alt="images/Pcbnew_simple_board_outline.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_uzywanie_rysunkow_w_formacie_dxf_do_rysowania_obrysu_pytki">6.1.2. Używanie rysunków w formacie DXF do rysowania obrysu płytki</h4> +<div class="paragraph"><p>Jako alternatywę do bezpośredniego rysowania obrysu płytki w programie +Pcbnew, można skorzystać z możliwości jego importu z rysunku zapisanego w +formacie DXF.</p></div> +<div class="paragraph"><p>Użycie importu pozwala na utworzenie o wiele bardziej skomplikowanych +kształtów płytek niż tych utworzonych za pomocą narzędzi programu Pcbnew.</p></div> +<div class="paragraph"><p>Można na przykład wykorzystać jeden z programów CAD, by zdefiniować kształt +płytki dopasowując go do konkretnej mechaniki obudowy.</p></div> +<div class="sect4"> +<h5 id="_przygotowanie_rysunku_dxf_w_celu_importu_do_programu_kicad">Przygotowanie rysunku DXF w celu importu do programu KiCad</h5> +<div class="paragraph"><p>Importowanie rysunków DXF w programie KiCad nie wspiera niektórych +właściwości plików DXF, takich jak <strong>POLYLINES</strong> oraz <strong>ELLIPSIS</strong>. Pliki DXF, +które używają tych właściwości wymagają wykonania dodatkowych kroków w celu +przygotowania ich do procesu importu.</p></div> +<div class="paragraph"><p>Do tego typu konwersji można użyć programu LibreCAD lub podobnego.</p></div> +<div class="paragraph"><p>Jak pierwszy krok, wszystkie <strong>POLYLINES</strong> muszą zostać podzielone (Exploded) +w ich oryginalne prostsze kształty. W programie LibreCAD należy wykonać +poniższe kroki:</p></div> +<div class="olist arabic"><ol class="arabic"> +<li> +<p> +Otwórz kopię pliku DXF. +</p> +</li> +<li> +<p> +Wybrać kształt płytki (wybrane kształty są pokazywane jako przerywane + linie). +</p> +</li> +<li> +<p> +W menu <strong>Modyfikacje</strong>, wybierz polecenie <strong>Rozdziel</strong>. +</p> +</li> +<li> +<p> +Wciśnij ENTER. +</p> +</li> +</ol></div> +<div class="paragraph"><p>W następnym kroku, złożone krzywe, takie jak ELLIPSIS muszą być podzielone +na małe odcinki "przybliżone" do wymaganego kształtu. Dzieje się to +automatycznie, gdy plik DXF jest eksportowany lub zapisywany w starszym +formacie DXF R12 (format R12 nie obsługuje skomplikowanych kształtów +krzywych, aplikacje CAD muszą przekonwertować te kształty na kolejne +segmenty linii. Niektóre aplikacje CAD umożliwiają konfigurację liczby lub +długości używanych segmentów linii). W LibreCAD długość segmentu jest na +ogół wystarczająco mała by stosować ją w kształtach obrysu.</p></div> +<div class="paragraph"><p>W LibreCAD, należy wykonać następujące kroki, aby wyeksportować plik w +formacie <strong>DXF R12</strong>:</p></div> +<div class="olist arabic"><ol class="arabic"> +<li> +<p> +Z menu <strong>Plik</strong>, użyj polecenia <strong>Zapisz jako…</strong> +</p> +</li> +<li> +<p> +W oknie dialogowym <strong>Save Drawing As</strong> znajduje się wybór <strong>Save as type:</strong> + blisko dolnej krawędzi okna dialogowego. Wybrać opcję <strong>Drawing Exchange DXF + R12</strong>. +</p> +</li> +<li> +<p> +Opcjonalnie wpisać inną nazwę pliku w polu <strong>File name:</strong>. +</p> +</li> +<li> +<p> +Kliknij <strong>Zapisz</strong> +</p> +</li> +</ol></div> +<div class="paragraph"><p>Powstały plik DXF jest już gotowy by zaimportować go do programu KiCad.</p></div> +</div> +<div class="sect4"> +<h5 id="_importowanie_pliku_dxf_do_programu_kicad">Importowanie pliku DXF do programu KiCad</h5> +<div class="paragraph"><p>Następujące kroki opisują proces importu przygotowanego pliku DXF jako +kształtu płytki w programie KiCad. Należy pamiętać, że zachowanie polecenie +"Import" różni się nieco w zależności od używanego trybu wyświetlania.</p></div> +<div class="paragraph"><p>Używanie domyślnego trybu grafiki:</p></div> +<div class="olist arabic"><ol class="arabic"> +<li> +<p> +W menu <strong>Plik</strong>, wybrać polecenie <strong>Import</strong> i wybrać opcję <strong>Plik DXF</strong>. +</p> +</li> +<li> +<p> +W oknie dialogowym <strong>Importuj plik DXF</strong> użyć przycisku <em>Przeglądaj</em> by wybrać + przygotowany do importu plik DXF. +</p> +</li> +<li> +<p> +W opcji <em>Punkt początkowy (0,0) dla DXF:</em>, wybrać miejsce umieszczenia + punktu odniesienia pliku DXF względem koordynatów obwodu drukowanego (w + prograie KiCad punkt (0,0) znajduje się w górnym lewym rogu). Gdy wybrano + opcję <em>Pozycja zdefiniowna przez użytkownika</em> należy wpisać koordynaty w + pola <em>Pozycja X:</em> oraz <em>Pozycja Y:</em>. +</p> +</li> +<li> +<p> +W rozwijanej liście <em>Warstwa:</em>, wybrać odpowiednią warstwę gdzie nastąpi + import. W programie KiCad warstwą obrysu jest <strong>Edge.Cuts</strong>. +</p> +</li> +<li> +<p> +Kliknij <em>OK</em>. +</p> +</li> +</ol></div> +<div class="paragraph"><p>Użycie trybu “OpenGL” lub “Cairo”:</p></div> +<div class="olist arabic"><ol class="arabic"> +<li> +<p> +W menu <strong>Plik</strong>, wybrać polecenie <strong>Import</strong> i wybrać opcję <strong>Plik DXF</strong>. +</p> +</li> +<li> +<p> +W oknie dialogowym <strong>Importuj plik DXF</strong> użyć przycisku <em>Przeglądaj</em> by wybrać + przygotowany do importu plik DXF. +</p> +</li> +<li> +<p> +Opcja <em>Punkt początkowy (0,0) dla DXF:</em> jest ignorowana w tym trybie. +</p> +</li> +<li> +<p> +W rozwijanej liście <em>Warstwa:</em>, wybrać odpowiednią warstwę gdzie nastąpi + import. W programie KiCad warstwą obrysu jest <strong>Edge.Cuts</strong>. +</p> +</li> +<li> +<p> +Kliknij <em>OK</em>. +</p> +</li> +<li> +<p> +Kształt zostanie przymocowany do kursora i może być przesuwany po całym + arkuszu. +</p> +</li> +<li> +<p> +Kliknięcie myszą pozwala upuścić kształt w wybranym miejscu. +</p> +</li> +</ol></div> +</div> +<div class="sect4"> +<h5 id="_przykad_zaimportowanego_ksztatu_z_pliku_dxf">Przykład zaimportowanego kształtu z pliku DXF</h5> +<div class="paragraph"><p>Poniżej znajduje się przykład obrysu zaimportowanego z pliku DXF, w którym +elipsoidalne części zostały aproksymowane przez odcinki proste.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_board_outline_imported_from_a_DXF.png" alt="images/Pcbnew_board_outline_imported_from_a_DXF.png"> +</div> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_odczytywanie_listy_sieci_stworzonej_na_podstawie_schematu">6.1.3. Odczytywanie listy sieci stworzonej na podstawie schematu</h4> +<div class="paragraph"><p>By wczytać listę sieci należy wybrać ikonę +<span class="image"> +<img src="images/icons/netlist.png" alt="Ikona Lista sieci"> +</span> na głównym pasku +narzędzi. Otworzy się następujące okno dialogowe:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_netlist_dialog.png" alt="images/pl/Pcbnew_netlist_dialog.png"> +</div> +</div> +<div class="paragraph"><p>Jeśli pole z nazwą pliku listy sieci (ścieżką) w tym oknie nie jest +poprawne, należy użyć przycisku "Przeglądaj" obok tego pola aby znaleźć +poprawną listę sieci. Po tym należy użyć przycisku "Wczytaj bieżącą listę +sieci" by program odczytał zawartość wybranego pliku. Footprinty które nie +zostały jeszcze załadowane, zostaną wczytane i umieszczone w jednym miejscu +(później poznamy metody ich automatycznego układania).</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_board_outline_with_dogpile.png" alt="images/Pcbnew_board_outline_with_dogpile.png"> +</div> +</div> +<div class="paragraph"><p>Jeśli żaden footprint jeszcze nie został ustawiony, wszystkie footprinty +pojawią się w jednym miejscu, co może nieco przeszkadzać w rozpoznaniu +każdego z nich. Można jednak je wstępnie rozłożyć używając polecenia +"Przesuń wszystkie footprinty" dostępnego z menu podręcznego. Poniżej +znajduje się fragment obszaru roboczego po wykonaniu tego polecenia:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_board_outline_with_globally_placed_modules.png" alt="images/Pcbnew_board_outline_with_globally_placed_modules.png"> +</div> +</div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Zapamiętaj</div> +</td> +<td class="content">Jeśli płytka zostanie zmodyfikowana przez zamianę istniejących footprintów +na nowe przez CvPcb (na przykład przy zamianie rezystorów o mocy 0.25W na +większe 0.5W), będzie wymagane skasowanie istniejących elementów przed +załadowaniem przez Pcbnew footprintów zastępczych. Jednakże, jeśli footprint +ma zostać zamieniony przez istniejący footprint, łatwiej jest wykonać to +używając okna z właściwościami footprintów, dostępnego z menu podręcznego.</td> +</tr></table> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_poprawianie_pytki">6.2. Poprawianie płytki</h3> +<div class="paragraph"><p>Bardzo często niezbędne jest poprawienie płytki po dokonaniu zmian na +schemacie.</p></div> +<div class="sect3"> +<h4 id="_aby_poprawki_te_przeniesc_rowniez_na_pytke_nalezy">6.2.1. Aby poprawki te przenieść również na płytkę należy:</h4> +<div class="olist arabic"><ol class="arabic"> +<li> +<p> +Stworzyć nową listę sieci na podstawie zmodyfikowanego schematu. +Jeśli został dodany choćby jeden nowy element, należy mu przypisać footprint +za pomocą CvPcb. +</p> +</li> +<li> +<p> +Na koniec wczytać nową listę sieci w programie Pcbnew. +</p> +</li> +</ol></div> +</div> +<div class="sect3"> +<h4 id="_usuwanie_nieprawidowych_sciezek">6.2.2. Usuwanie nieprawidłowych ścieżek</h4> +<div class="paragraph"><p>Pcbnew umożliwia automatyczne skasowanie nieprawidłowych ścieżek, które +mogłyby pozostać po zmianach. By taką możliwość włączyć należy w oknie +zaznaczyć opcję "Usuń" w grupie "Niepołączone ścieżki":</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_bad_tracks_deletion_option.png" alt="images/pl/Pcbnew_bad_tracks_deletion_option.png"> +</div> +</div> +<div class="paragraph"><p>Można również dokonać modyfikacji tych ścieżek manualnie (funkcja DRC +pozwala na zidentyfikowanie takich ścieżek).</p></div> +</div> +<div class="sect3"> +<h4 id="_usuwanie_nadmiarowych_elementow">6.2.3. Usuwanie nadmiarowych elementów</h4> +<div class="paragraph"><p>Pcbnew może również usunąć footprinty, które po zmianach na schemacie nie +posiadają swojego odzwierciedlenia na liście sieci. <strong>Operacja ta jest +opcjonalna</strong> i domyślnie wyłączona.</p></div> +<div class="paragraph"><p>Opcja ta jest wymagana gdy na płytce zostaną dodane z poziomu Pcbnew +dodatkowe footprinty (np. otwory montażowe pod śruby mocujące), które nie +mają swoich odpowiedników na schemacie.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_extra_footprints_deletion_option.png" alt="images/pl/Pcbnew_extra_footprints_deletion_option.png"> +</div> +</div> +<div class="paragraph"><p>Jeśli opcja "Dodatkowe footprinty" zostanie przełączona w tryb "Usuń", +footprinty nie odpowiadające elementom z listy sieci zostaną usunięte, +chyba, że dla takich footprintów zostanie zaznaczona opcja "Zablokowany" we +właściwościach footprintu. Ogólnie dobrym nawykiem jest aktywacja powyższej +właściwości dla wszystkich footprintów stanowiących tylko elementy +"mechaniczne".</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_unlock_footprint_option.png" alt="images/pl/Pcbnew_unlock_footprint_option.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_zmodyfikowane_footprinty">6.2.4. Zmodyfikowane footprinty</h4> +<div class="paragraph"><p>Jeśli footprint został zmodyfikowany na liście sieci (przez program CvPcb) i +taki footprint jest już umieszczony na płytce, to nie będzie on modyfikowany +przez Pcbnew, chyba, że opcja zamiany footprintów w oknie listy sieci będzie +aktywna:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_exchange_module_option.png" alt="images/pl/Pcbnew_exchange_module_option.png"> +</div> +</div> +<div class="paragraph"><p>Zmiany footprintów (na przykład rezystorów o innych rozmiarach) może być też +wykonana bezpośrednio poprzez edycję właściwości footprintu lub masową +zamianę poprzez polecenie "Zamień footprint(y)" dostępne w oknie właściwości +footprintów.</p></div> +</div> +<div class="sect3"> +<h4 id="_opcje_zaawansowane_wybor_odciskow_czasowych_zamiast_oznaczen">6.2.5. Opcje zaawansowane - wybór odcisków czasowych zamiast oznaczeń</h4> +<div class="paragraph"><p>Czasami oznaczenia na schemacie ulegają zmianie bez żadnych istotnych zmian +w obwodzie drukowanym (dotyczy to samych oznaczeń - przykładowo z R5 na R6, +U4 na U3…). PCB w takim przypadku pozostaje bez zmian (z wyjątkiem +ewentualnie warstwy opisowej). Niemniej jednak wewnętrznie (na liście +połączeń), komponenty i footprinty są reprezentowane za pomocą ich +oznaczeń. W tej sytuacji pomocne może stać się zaznaczenie opcji "Znacznik +czasowy" w grupie "Wybierz footprint biorąc pod uwagę" przed ponownym +odczytaniem listy sieci:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_module_selection_option.png" alt="images/pl/Pcbnew_module_selection_option.png"> +</div> +</div> +<div class="paragraph"><p>Z pomocą tej opcji, Pcbnew podczas wczytywania listy sieci identyfikuje +footprinty nie przez ich nadane im oznaczenia, ale przez odcisk czasowy +nadawany im podczas wstawiania symboli na schemacie i który przenoszony jest +przez CvPcb na footprinty. Odcisk czasowy jest automatycznie generowany +przez Eeschema i zawiera w sobie zakodowaną datę oraz czas umieszczenia +symbolu na schemacie.</p></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Ostrzeżenie</div> +</td> +<td class="content">Stosując tą opcję należy zachować dodatkowe środki ostrożności! (najlepiej +wcześniej zapisać plik z projektem PCB). Wynika to z tego, że zastosowana +technika nieco się komplikuje w przypadku elementów zawierających wiele +elementów składowych (np. 7400 ma 4 takie same części i jedną wspólną +obudowę). W tej sytuacji, odcisk czasowy nie jest jednoznacznie określony (w +7400 nie będzie czterech odcisków - po jednym dla każdej części). Niemniej +jednak, opcja odcisków czasowych zazwyczaj rozwiązuje problemy przy ponownie +wykonanej renumeracji schematu.</td> +</tr></table> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_byskawiczna_zamiana_footprintow_umieszczonych_na_pytce">6.3. Błyskawiczna zamiana footprintów umieszczonych na płytce</h3> +<div class="paragraph"><p>Błyskawiczna zamiana footprintu (lub kilku identycznych footprintów) na nowe +footprinty jest często bardzo użyteczna. Cały proces jest bardzo prosty.</p></div> +<div class="olist arabic"><ol class="arabic"> +<li> +<p> +Należy kliknąć na footprint jaki chcemy zmienić by otworzyć okno z + właściwościami footprintu. +</p> +</li> +<li> +<p> +Uruchomienie polecenia "Zamień footprint(y)". +</p> +</li> +</ol></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_change_modules_button.png" alt="images/pl/Pcbnew_change_modules_button.png"> +</div> +</div> +<div class="paragraph"><p>Opcje powiązane z zamianą footprintów:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_footprint_exchange_options.png" alt="images/pl/Pcbnew_footprint_exchange_options.png"> +</div> +</div> +<div class="paragraph"><p>Przy zmianach footprintów dostępne są dodatkowe opcje:</p></div> +<div class="ulist"><ul> +<li> +<p> +<strong>Zamień footprint <em>xx</em></strong> by zmienić tylko bieżący footprint. +</p> +</li> +<li> +<p> +<strong>Zamień te same footprinty <em>yy</em></strong> by dokonać zmian dla wszystkich footprintów takich samych jak bieżący footprint. +</p> +</li> +<li> +<p> +<strong>Zamień te same footprinty mające tą samą wartość</strong> by dokonać zmian dla wszystkich footprintów + takich samych jak bieżący footprint, ale pomijając te które posiadają inną wartość. +</p> +</li> +<li> +<p> +<strong>Uaktualnij footprinty na płytce</strong> powoduje ponowne załadowanie wszystkich footprintów na płytce. +</p> +</li> +</ul></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_rozmieszczanie_footprintow">7. Rozmieszczanie footprintów</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_wspomagane_rozmieszczanie_footprintow">7.1. Wspomagane rozmieszczanie footprintów</h3> +<div class="paragraph"><p>Podczas przesuwania footprintów, można wyświetlić tzw. <em>ratsnets</em> (czyli +linie pokazujące połączenia), które wspomagają proces ustawiania +elementów. By włączyć tą funkcję należy kliknąć i aktywować ikonę +<span class="image"> +<img src="images/icons/modratsnest.png" alt="images/icons/modratsnest.png"> +</span> znajdującą się na lewym pasku narzędzi.</p></div> +</div> +<div class="sect2"> +<h3 id="_rozmieszczanie_manualne">7.2. Rozmieszczanie manualne</h3> +<div class="paragraph"><p>Należy wybrać footprint z pomocą prawego przycisku myszy, a następnie wybrać +polecenie "Przesuń" z menu podręcznego. Później korzystając z myszy +przesunąć footprint nad odpowiednią pozycję i umieścić go klikając lewym +przyciskiem myszy. W razie potrzeby wybrany footprint można obracać, +odwracać lub poddawać edycji. Aby przerwać operację należy wybrać z menu +podręcznego polecenie <em>Anuluj</em>.</p></div> +<div class="paragraph"><p>Tutaj można zobaczyć footprint z aktywnymi liniami wspomagającymi podczas +jego przesuwania.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_ratsnest_during_move.png" alt="images/Pcbnew_ratsnest_during_move.png"> +</div> +</div> +<div class="paragraph"><p>Układ elementów po rozmieszczeniu footprintów może wyglądać w ten sposób:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_circuit_after_placement.png" alt="images/Pcbnew_circuit_after_placement.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_automatyczne_przesuwanie_footprintow">7.3. Automatyczne przesuwanie footprintów</h3> +<div class="paragraph"><p>Generalnie, footprinty mogą być przesuwane tylko jeśli nie zostały +"zablokowane". Atrybut ten może zostać wyłączony lub włączony z podręcznego +menu (rozwijane prawym klawiszem myszy nad footprintem) podczas trybu +automatycznego przesuwania footprintów lub z pomocą "Właściwości" +footprintu.</p></div> +<div class="paragraph"><p>Jak wspomniano w poprzednim rozdziale, nowe footprinty ładowane podczas +odczytywania listy sieci zostaną umieszczone w jednym miejscu na +płytce. Pcbnew jednak udostępnia narzędzia do automatycznego rozmieszczenia +footprintów, co ułatwi proces wyboru i ustawiania footprintów.</p></div> +<div class="ulist"><ul> +<li> +<p> +Wybierz tryb "Przesuwania footprintów" (Ikona + <span class="image"> +<img src="images/icons/mode_module.png" alt="images/icons/mode_module.png"> +</span> na głównym pasku narzędzi). +</p> +</li> +<li> +<p> +W tym trybie podręczne menu będzie wyglądać dwojako: +</p> +</li> +</ul></div> +<div class="paragraph"><p>Jeśli pod kursorem znajduje się footprint:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_context_module_mode_module_under_cursor.png" alt="images/pl/Pcbnew_context_module_mode_module_under_cursor.png"> +</div> +</div> +<div class="paragraph"><p>Jeśli pod kursorem nie znajduje się żaden footprint:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_context_module_mode_no_module_under_cursor.png" alt="images/pl/Pcbnew_context_module_mode_no_module_under_cursor.png"> +</div> +</div> +<div class="paragraph"><p>W obu przypadkach dostępne są następujące polecenia:</p></div> +<div class="ulist"><ul> +<li> +<p> +<strong>Przesuń wszystkie footprinty</strong> pozwala na automatyczne rozmieszczenie footprintów, + które nie posiadają atrybutu "Zablokowany". Polecenie to jest używane głównie po pierwszym + wczytaniu listy sieci. +</p> +</li> +<li> +<p> +<strong>Przesuń nowe footprinty</strong> pozwala na automatyczne rozmieszczenie footprintów, + które jeszcze nie zostały umieszczone wewnątrz obrysu PCB. Polecenie to wymaga, + by przed jego użyciem został narysowany początkowy obrys płytki, tak by było wiadomo + jakie footprinty można automatycznie rozmieścić. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_automatyczne_rozmieszczanie_footprintow">7.4. Automatyczne rozmieszczanie footprintów</h3> +<div class="sect3"> +<h4 id="_charakterystyka_narzedzia_do_automatycznego_rozmieszczania_footprintow">7.4.1. Charakterystyka narzędzia do automatycznego rozmieszczania footprintów</h4> +<div class="paragraph"><p>Automatyczne rozmieszczanie footprintów umożliwia umieszczenie footprintów +na 2 warstwach płytki drukowanej (jednak przenoszenie footprintów na dolną +warstwę miedzi nie jest automatyczne).</p></div> +<div class="paragraph"><p>Celem tego narzędzie jest również ustalenie najlepszej orientacji +footprintów (obrót o 0, 90, -90, 180 stopni). Rozmieszczanie jest wykonywane +zgodnie z algorytmem optymalizującym, który wyszukuje minimalne odległości +połączeń wspomagających i dąży do stworzenia przestrzeni pomiędzy większymi +footprintami posiadającymi wiele pól lutowniczych. Kolejność rozmieszczania +jest zoptymalizowana tak, by początkowo rozmieszczać większe footprinty z +większą ilością pól lutowniczych.</p></div> +</div> +<div class="sect3"> +<h4 id="_przygotowanie_pola_edycji">7.4.2. Przygotowanie pola edycji</h4> +<div class="paragraph"><p>Pcbnew może rozmieścić footprinty automatycznie, jednakże wymagane jest +wspomaganie tego procesu, ponieważ żadne oprogramowanie nie jest w stanie +odgadnąć co użytkownik chciałby osiągnąć.</p></div> +<div class="paragraph"><p>Przed wykonaniem automatycznego rozmieszczeni footprintów należy:</p></div> +<div class="ulist"><ul> +<li> +<p> +Stworzyć obrys płytki (Może być nawet dość skomplikowany, byle by obrys + został zamknięty). +</p> +</li> +<li> +<p> +Dokonać ręcznego rozmieszczenia kluczowych footprintów bądź elementów + (Złącz, otworów montażowych…). +</p> +</li> +<li> +<p> +Podobnie poszczególne footprinty SMD oraz footprinty krytyczne (na przykład + duże footprinty) muszą znaleźć się na odpowiedniej stronie płytki i trzeba + to wykonać ręcznie. +</p> +</li> +<li> +<p> +Po zakończeniu ręcznego rozmieszczenia kluczowych footprintów, footprinty te + muszą zostać zablokowane by automat ich już nie przemieszczał. W trybie + automatycznego przesuwania footprintów z ikoną + <span class="image"> +<img src="images/icons/mode_module.png" alt="images/icons/mode_module.png"> +</span> w stanie aktywnym, należy kliknąć + prawym klawiszem i wybrać z podręcznego menu polecenie "Zablokuj + footprint". Można to również wykonać z pomocą okna dialogowego z + właściwościami footprintu. +</p> +</li> +<li> +<p> +Po tym można już uruchomić proces automatycznego rozmieszczania. W trybie + automatycznego przesuwania footprintów, kliknąć prawym klawiszem i z + podręcznego menu wybrać polecenie "Globalne przesuwanie i rozmieszczanie" - + a następnie "Automatyczne rozmieszczenie wszystkich footprintów". +</p> +</li> +</ul></div> +<div class="paragraph"><p>Podczas automatycznego rozmieszczania footprintów, Pcbnew może dokonywać +optymalizacji związanej z reorientacją footprintów. Jednakże obracanie +footprintów może zostać wykonane tylko jeśli będzie ono dopuszczalne dla +danego footprintu (zobacz "Edycja właściwości footprintów").</p></div> +<div class="paragraph"><p>Zwykle, rezystory i kondensatory nie posiadające polaryzacji pozwalają na +obrót o 180 stopni. Niektóre footprinty (na przykład małe tranzystory) +dopuszczają obrót o +/- 90 stopni oraz o 180 stopni.</p></div> +<div class="paragraph"><p>Dla każdego footprintu jeden z suwaków dopuszcza obrót o 90 stopni, a drugi +suwak dopuszcza obrót o 180. Ustawienie ich w pozycji 0 uniemożliwia obrót, +zaś ustawienie 10 dopuszcza go, a pośrednia wartość wskazuje poziom +dopuszczenia możliwości obrotu w przód/tył.</p></div> +<div class="paragraph"><p>Zezwolenie na obrót może zostać ustanowione w trakcie edycji footprintu +umieszczonego już na płytce. Jednak zalecane jest, by takie opcje były +ustalane już na poziomie elementów bibliotecznych, gdyż opcje te mogą być +dziedziczone za każdym razem kiedy dany footprint będzie używany.</p></div> +</div> +<div class="sect3"> +<h4 id="_interaktywne_automatyczne_rozmieszczanie_footprintow">7.4.3. Interaktywne automatyczne rozmieszczanie footprintów</h4> +<div class="paragraph"><p>Podczas automatycznego rozmieszczania elementów może być konieczne +przerwanie tej operacji (klawiszem Esc) i ręcznego przemieszczenia +footprintu. Używając polecenia "Automatyczne rozmieszczenie następnego +footprintu" można wznowić proces automatycznego rozmieszczania z miejsca +gdzie zostało ono przerwane.</p></div> +<div class="paragraph"><p>Polecenie "Automatyczne rozmieszczenie nowych footprintów" pozwalana na +automatyczne rozmieszczenie footprintów, które nie zostały jeszcze +umieszczone wewnątrz obrysu płytki. Polecenie to nie przesuwa już +rozmieszczonych footprintów wewnątrz obrysu, niezależnie od stanu blokady +tych footprintów.</p></div> +<div class="paragraph"><p>Polecenie "Automatyczne rozmieszczenie footprintu" powala zaś na ponowne +rozmieszczenie footprintu, który wskazuje kursor myszy, nawet gdy blokada +footprintu jest aktywna.</p></div> +</div> +<div class="sect3"> +<h4 id="_uwagi_koncowe">7.4.4. Uwagi końcowe</h4> +<div class="paragraph"><p>Pcbnew automatycznie określa możliwe strefy rozmieszczenia footprintów +biorąc pod uwagę również obrys płytki, który niekoniecznie musi być +prostokątny (może być okrągły lub posiadać wycięcia, itp.).</p></div> +<div class="paragraph"><p>Jeśli płyta nie jest prostokątna, obrys musi być zamknięty aby Pcbnew mogło +określić, co jest w środku i to, co jest poza obrysem. W ten sam sposób, +jeśli na płytce występują wewnętrzne wycięcia, ich obrysy będą musiały być +również zamknięte.</p></div> +<div class="paragraph"><p>Pcbnew oblicza możliwe strefy umieszczenia footprintów na podstawie obrysu +płytki, następnie sprawdza każdy footprint po kolei przesuwając go nad tym +obszarem w celu ustalenia optymalnej pozycji na której może go umieścić.</p></div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_ustawienia_i_parametry_trasowania_sciezek">8. Ustawienia i parametry trasowania ścieżek</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_opcje_gowne">8.1. Opcje główne</h3> +<div class="sect3"> +<h4 id="_dostep_do_gownego_okna_narzedzia">8.1.1. Dostęp do głównego okna narzędzia</h4> +<div class="paragraph"><p>Najważniejsze ustawienia reguł projektowych są dostępne z menu:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_design_rules_dropdown.png" alt="images/pl/Pcbnew_design_rules_dropdown.png"> +</div> +</div> +<div class="paragraph"><p>i są ustalane w oknie dialogowym wywoływanym poleceniem <strong>Reguły projektowe</strong>.</p></div> +</div> +<div class="sect3"> +<h4 id="_opcje_gowne_2">8.1.2. Opcje główne</h4> +<div class="paragraph"><p>Bieżące ustawienia są wyświetlane na pasku narzędziowym.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_design_rules_top_toolbar.png" alt="images/pl/Pcbnew_design_rules_top_toolbar.png"> +</div> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_opcje_gowne_3">8.2. Opcje główne</h3> +<div class="paragraph"><p>Opcje główne można dostosować z pomocą menu <strong>Ustawienia</strong> → <strong>Główne</strong>:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_preferences_menu.png" alt="images/pl/Pcbnew_preferences_menu.png"> +</div> +</div> +<div class="paragraph"><p>Wywołanie tego polecenia spowoduje wyświetlenie okna z ustawieniami, a w nim +szereg opcji (Nas w tej chwili interesują te w grupie <em>Opcje</em>):</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_general_options_dialog.png" alt="images/pl/Pcbnew_general_options_dialog.png"> +</div> +</div> +<div class="paragraph"><p>Dla ścieżek dostępne są następujące opcje:</p></div> +<div class="ulist"><ul> +<li> +<p> +<em>Ścieżki tylko pod kątem 45 stopni</em>: Pozwala na prowadzenie ścieżek tylko pod kątem 0, 45 lub 90 stopni. +</p> +</li> +<li> +<p> +<em>Ścieżka z podwójnym segmentem</em>: Podczas tworzenia ścieżek, zostaną wyświetlane dwa jej segmenty (jeśli ścieżka nie jest linią prostą). +</p> +</li> +<li> +<p> +<em>Automatyczne usuwanie ścieżek</em>: Podczas tworzenia ścieżek, stare trasy nowo prowadzonych ścieżek zostaną automatycznie usunięte. +</p> +</li> +<li> +<p> +<em>Przyciągaj do pól lutowniczych</em>: Powoduje, że podczas tworzenia ścieżek kursor + będzie przyciągany do pada jeśli pojawi się w jego obrębie. +</p> +</li> +<li> +<p> +<em>Przyciągaj do ścieżek</em>: Powoduje, że podczas tworzenia ścieżek kursor będzie przyciągany do centralnej linii innych ścieżek. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_klasy_poaczen">8.3. Klasy połączeń</h3> +<div class="paragraph"><p>Pcbnew pozwala na zdefiniowanie parametrów trasowania ścieżek dla każdej z +sieci. W rzeczywistości taka funkcjonalność byłaby kłopotliwa, zatem +wprowadzono system grupowania podobnych sieci.</p></div> +<div class="ulist"><ul> +<li> +<p> +Grupa podobnych sieci jest zwana <strong>klasą połączeń</strong>. +</p> +</li> +<li> +<p> +Na liście zawsze musi się znaleźć klasa <em>Default</em>. +</p> +</li> +<li> +<p> +Użytkownik może zdefiniować inne klasy połączeń. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Dla pojedynczej klasy można zdefiniować:</p></div> +<div class="ulist"><ul> +<li> +<p> +Szerokość ścieżki oraz rozmiar przelotek razem z rozmiarem wierceń. +</p> +</li> +<li> +<p> +Minimalną odległość (<em>clearance</em>) jaką należy zachować pomiędzy polami + lutowniczymi i ścieżkami (lub przelotkami). +</p> +</li> +<li> +<p> +Podczas trasowania ścieżek, Pcbnew automatycznie wybiera odpowiednią klasę + połączeń na podstawie nazwy sieci i jej przynależności do klasy, i stosuje + ustalone dla danej klasy parametry ścieżek oraz przelotek. +</p> +</li> +</ul></div> +<div class="sect3"> +<h4 id="_ustawienia_i_parametry_trasowania_sciezek_2">8.3.1. Ustawienia i parametry trasowania ścieżek</h4> +<div class="paragraph"><p>Wybór parametrów trasowanych ścieżek jest ustalany w menu: <strong>Reguły +projektowe</strong> → <strong>Reguły projektowe</strong>.</p></div> +</div> +<div class="sect3"> +<h4 id="_edycja_klas_poaczen">8.3.2. Edycja klas połączeń</h4> +<div class="paragraph"><p>Edytor klas połączeń pozwala na:</p></div> +<div class="ulist"><ul> +<li> +<p> +Dodawanie lub usuwanie klas połączeń. +</p> +</li> +<li> +<p> +Ustawiania dla poszczególnych klas szczególnych parametrów: odległość, + szerokość ścieżek, rozmiar przelotek. +</p> +</li> +<li> +<p> +Przypisywanie poszczególnych sieci do utworzonej lub domyślnej klasy + połączeń. +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_design_rules_editor_netclass_tab.png" alt="images/pl/Pcbnew_design_rules_editor_netclass_tab.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_edycja_regu_globalnych">8.3.3. Edycja reguł globalnych</h4> +<div class="paragraph"><p>Oprócz reguł związanych z klasami połączeń dostępne są też reguły +globalne. Dotyczą one:</p></div> +<div class="ulist"><ul> +<li> +<p> +Włączania/wyłączania przelotek ślepych i zagrzebanych. +</p> +</li> +<li> +<p> +Włączania/wyłączania mikroprzelotek. +</p> +</li> +<li> +<p> +Ustawiania minimalnych rozmiarów ścieżek i przelotek. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Jeśli jakaś wartość jest mniejsza niż minimalna wartość określona tutaj, DRC +wygeneruje błąd. Drugi panel, w którym można określić globalne reguły +projektowe wygląda następująco:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_design_rules_editor_global_tab.png" alt="images/pl/Pcbnew_design_rules_editor_global_tab.png"> +</div> +</div> +<div class="paragraph"><p>Okno dialogowe pozwala także manualnie określić rozmiary ścieżek i przelotek +wybranych przez użytkownika.</p></div> +<div class="paragraph"><p>Podczas trasowania ścieżek, można wybrać jedną z tych wartości by utworzyć +ścieżkę lub przelotkę o innym rozmiarze pomijając tymczasowo domyślne +wartości zapisane w klasach połączeń.</p></div> +<div class="paragraph"><p>System taki jest szczególnie użyteczny, gdy na krótkim odcinku będzie +wymagana inna szerokość trasowanej ścieżki (np. w przypadku przeprowadzania +ścieżek pomiędzy punktami lutowniczymi).</p></div> +</div> +<div class="sect3"> +<h4 id="_parametry_minimalne_przelotek">8.3.4. Parametry minimalne przelotek</h4> +<div class="paragraph"><p>Pcbnew obsługuje trzy typy przelotek:</p></div> +<div class="ulist"><ul> +<li> +<p> +Przelotki na wylot (zwykłe przelotki). +</p> +</li> +<li> +<p> +Przelotki ślepe i zagrzebane. +</p> +</li> +<li> +<p> +Mikroprzelotki, podobne do przelotek zagrzebanych ale ograniczone do + zewnętrznych warstw i najbliższych im warstw sąsiednich. Są one przeznaczone + do łączenia układów montowanych w technologii BGA z najbliższą warstwą + wewnętrzną. Rozmiar takich przelotek jest bardzo mały, a otwory są z reguły + wykonywane laserowo. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Domyślnie, wszystkie przelotki mają ten sam rozmiar wiercenia.</p></div> +<div class="paragraph"><p>To okno dialogowe określa najmniejsze akceptowalne wartości parametrów +przelotek. Na płytce, mniejsze przelotki niż określone tutaj wygenerują błąd +DRC.</p></div> +</div> +<div class="sect3"> +<h4 id="_parametry_sciezki">8.3.5. Parametry ścieżki</h4> +<div class="paragraph"><p>Określa minimalny dopuszczalny rozmiar szerokości ścieżki. Jeśli jakaś +wartość jest mniejsza niż minimalna wartość określona tutaj, DRC wygeneruje +błąd.</p></div> +</div> +<div class="sect3"> +<h4 id="_okreslone_wymiary">8.3.6. Określone wymiary</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_specific_size_options.png" alt="images/pl/Pcbnew_specific_size_options.png"> +</div> +</div> +<div class="paragraph"><p>Okno dialogowe pozwala także manualnie określić rozmiary ścieżek i przelotek +wybranych przez użytkownika. Podczas trasowania ścieżek, można wybrać jedną +z tych wartości by stworzyć ścieżkę lub przelotkę o innym rozmiarze +pomijając tymczasowo domyślne wartości zapisane w klasach połączeń.</p></div> +</div> +</div> +<div class="sect2"> +<h3 id="_przykady_i_typowe_rozmiary">8.4. Przykłady i typowe rozmiary</h3> +<div class="sect3"> +<h4 id="_szerokosc_sciezki">8.4.1. Szerokość ścieżki</h4> +<div class="paragraph"><p>Użyj największej możliwej wartości, zgodnie z minimalnymi rozmiarami +podanymi tutaj:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:16%;"> +<col style="width:16%;"> +<col style="width:16%;"> +<col style="width:16%;"> +<col style="width:16%;"> +<col style="width:16%;"> +<thead> +<tr> +<th class="tableblock halign-left valign-top" > Jednostki </th> +<th class="tableblock halign-left valign-top" > CLASS 1 </th> +<th class="tableblock halign-left valign-top" > CLASS 2 </th> +<th class="tableblock halign-left valign-top" > CLASS 3 </th> +<th class="tableblock halign-left valign-top" > CLASS 4 </th> +<th class="tableblock halign-left valign-top" > CLASS 5</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">mm</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.8</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.5</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.4</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.25</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.15</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">mils</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">31</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">20</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">16</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">10</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">6</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_izolacja_przeswit">8.4.2. Izolacja (prześwit)</h4> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:16%;"> +<col style="width:16%;"> +<col style="width:16%;"> +<col style="width:16%;"> +<col style="width:16%;"> +<col style="width:16%;"> +<thead> +<tr> +<th class="tableblock halign-left valign-top" > Jednostki </th> +<th class="tableblock halign-left valign-top" > CLASS 1 </th> +<th class="tableblock halign-left valign-top" > CLASS 2 </th> +<th class="tableblock halign-left valign-top" > CLASS 3 </th> +<th class="tableblock halign-left valign-top" > CLASS 4 </th> +<th class="tableblock halign-left valign-top" > CLASS 5</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">mm</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.7</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.5</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.35</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.23</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">0.15</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">mils</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">27</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">20</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">14</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">9</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">6</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"><p>Zwykle, minimalny prześwit jest bardzo podobny do minimalnej szerokości +ścieżki.</p></div> +</div> +</div> +<div class="sect2"> +<h3 id="_przykady">8.5. Przykłady</h3> +<div class="sect3"> +<h4 id="_prosty">8.5.1. Prosty</h4> +<div class="ulist"><ul> +<li> +<p> +Prześwit: 0.35mm (0.0138 cali). +</p> +</li> +<li> +<p> +Szerokość ścieżki: 0.8mm (0.0315 cali). +</p> +</li> +<li> +<p> +Rozmiar padu dla układów scalonych i przelotek: 1.91mm (0.0750 cali). +</p> +</li> +<li> +<p> +Rozmiar padu dla elementów dyskretnych: 2.54mm (0.1 cala). +</p> +</li> +<li> +<p> +Szerokość ścieżki masy: 2.54mm (0.1 cala). +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_dr_example_rustic.png" alt="images/Pcbnew_dr_example_rustic.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_standard">8.5.2. Standard</h4> +<div class="ulist"><ul> +<li> +<p> +Prześwit: 0.35mm (0.0138 cala). +</p> +</li> +<li> +<p> +Szerokość ścieżki: 0.5mm (0.0127 cala). +</p> +</li> +<li> +<p> +Szerokość pada dla układów scalonych: stosuje się wydłużanie pól + lutowniczych by umożliwić prowadzenie ścieżek pomiędzy padami i dać jeszcze + wystarczającą ilość miejsca na powierzchnię kleju (1.27 x 2.54 mm -→ 0.05 x + 0.1 cala). +</p> +</li> +<li> +<p> +Przelotki: 1.27mm (0.0500 cala). +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_dr_example_standard.png" alt="images/Pcbnew_dr_example_standard.png"> +</div> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_trasowanie_manualne">8.6. Trasowanie manualne</h3> +<div class="paragraph"><p>Trasowanie manualne jest zalecane, a to dlatego, że jest to jedyna metoda +oferująca pełną kontrolę nad priorytetami trasowania ścieżek. Przykładowo, +preferowane jest rozpoczęcie trasowania od ścieżek zasilania, tak by miały +one właściwą szerokość, odpowiednio krótką długość oraz były znacząco +odseparowane od ścieżek sygnałowych (dla sygnałów analogowych lub +cyfrowych). A następnie należy trasować newralgiczne ścieżki. Pośród innych +problemów, automatyczne trasowanie ścieżek często wymaga wielu +przelotek. Jednak automatyczne trasowanie może być przydatne w +pozycjonowaniu footprintów. Wraz z nabywaniem doświadczenia, prawdopodobnie +dla wielu początkujących projektantów stanie się jasne, że automatyczne +trasowanie jest przydatne do szybkiego trasowania "oczywistych ścieżek", +jednak pozostałe ścieżki najlepiej jest trasować ręcznie.</p></div> +</div> +<div class="sect2"> +<h3 id="_pomoc_w_trasowaniu_sciezek">8.7. Pomoc w trasowaniu ścieżek</h3> +<div class="paragraph"><p>Pcbnew oferuje parę ułatwień przy trasowaniu manualnym. Może na przykład +wyświetlać połączenia wspomagające (<em>ratsnest</em>), jeśli opcja +<span class="image"> +<img src="images/icons/modratsnest.png" alt="Ikona Połączenia wspomagające"> +</span> na lewym +panelu jest aktywna.</p></div> +<div class="paragraph"><p>Narzędzie <span class="image"> +<img src="images/icons/net_highlight.png" alt="images/icons/net_highlight.png"> +</span> pozwala na podświetlanie +wybranej sieci (wystarczy tylko kliknąć na ścieżkę lub na pole lutownicze +należący do danej sieci)</p></div> +<div class="paragraph"><p>Nad procesem trasowania ścieżek czuwa również DRC, które sprawdza ścieżki +podczas ich trasowania w czasie rzeczywistym i nie dopuści do tworzenia +ścieżek, które nie spełniają reguł DRC. Można wyłączyć DRC za pomocą ikony +<span class="image"> +<img src="images/icons/drc_off.png" alt="images/icons/drc_off.png"> +</span> na lewym pasku narzędzi, ale <strong>jest to +niezalecane i w sumie niebezpieczne. Opcja ta powinna być wyłączana tylko w +szczególnych przypadkach</strong>.</p></div> +<div class="sect3"> +<h4 id="_trasowanie_sciezek">8.7.1. Trasowanie ścieżek</h4> +<div class="paragraph"><p>Można użyć ikony <span class="image"> +<img src="images/icons/add_tracks.png" alt="images/icons/add_tracks.png"> +</span> znajdującej się na +prawym pasku narzędzi. Nowa ścieżka musi rozpoczynać od punktu lutowniczego +albo na innej ścieżce, ponieważ Ppcbnew musi wiedzieć do jakiej sieci ma +należeć nowo trasowana ścieżka (oraz w celu dopasowania reguł DRC).</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_creating_new_track.png" alt="images/Pcbnew_creating_new_track.png"> +</div> +</div> +<div class="paragraph"><p>Podczas prowadzenia ścieżki, Pcbnew wyświetla najbliższe połączenia +wspomagające (ich ilość można określić za pomocą opcji "Maksymalna ilość +łącz" w oknie dialogowym wywoływanym przez polecenie <strong>Ustawienia</strong> → +<strong>Główne</strong>).</p></div> +<div class="paragraph"><p>Aby zakończyć trasowanie ścieżki można posłużyć się menu podręcznym gdzie +wybieramy polecenie "Zakończ ścieżkę". Można również skorzystać z +odpowiedniego klawisza skrótów (<em>End</em>) albo po prostu dwukrotnie kliknąć +lewym klawiszem myszy.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_track_in_progres_context.png" alt="images/pl/Pcbnew_track_in_progres_context.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_przesuwanie_i_przeciaganie_sciezek">8.7.2. Przesuwanie i przeciąganie ścieżek</h4> +<div class="paragraph"><p>Gdy aktywne jest narzędzie do trasowania ścieżek +<span class="image"> +<img src="images/icons/add_tracks.png" alt="images/icons/add_tracks.png"> +</span>, ścieżkę znajdującą się w miejscu +kursora można przesuwać wybierając klawisz skrótu <em>M</em>. W podobny sposób +można również ścieżkę przeciągać (łącznie z najbliższymi jej segmentami) +używając klawisza skrótu <em>G</em>.</p></div> +</div> +<div class="sect3"> +<h4 id="_wstawianie_przelotek">8.7.3. Wstawianie przelotek</h4> +<div class="paragraph"><p>Przelotki mogą być umieszczane tylko podczas trasowania ścieżek:</p></div> +<div class="ulist"><ul> +<li> +<p> +Z wykorzystaniem opcji <strong>Wstaw przelotkę</strong> z menu podręcznego. +</p> +</li> +<li> +<p> +Za pomocą klawisza skrótu <em>V</em>. +</p> +</li> +<li> +<p> +Automatycznie, jeśli podczas trasowania zostaje zmieniona warstwa sygnałowa + za pomocą odpowiednich klawiszy skrótów. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect2"> +<h3 id="_wybor_edycja_szerokosci_sciezek_oraz_rozmiaru_przelotek">8.8. Wybór/Edycja szerokości ścieżek oraz rozmiaru przelotek</h3> +<div class="paragraph"><p>Po kliknięciu na ścieżce lub polu lutowniczym, Pcbnew automatycznie wybiera +odpowiednią <strong>klasę połączeń</strong> i szerokość ścieżki oraz rozmiar przelotki +pochodzić będzie z parametrów tej klasy.</p></div> +<div class="paragraph"><p>Jak wcześniej zostało zauważone, "Edytor Reguł globalnych" posiada narzędzie +do wprowadzenia dodatkowych rozmiarów ścieżek i przelotek.</p></div> +<div class="ulist"><ul> +<li> +<p> +Do wyboru rozmiarów można wykorzystać rozwijane listy na górnym pasku + narzędzi. +</p> +</li> +<li> +<p> +Gdy przycisk <span class="image"> +<img src="images/icons/add_tracks.png" alt="images/icons/add_tracks.png"> +</span> jest aktywny, bieżąca + szerokość ścieżki może zostać wybrana z menu podręcznego, wybierając podmenu + <strong>Wybierz szerokość ścieżki</strong>. +</p> +</li> +<li> +<p> +Dlatego użytkownik może korzystać z domyślnych wartości z klas połączeń, lub + w razie potrzeby określonej wartości. +</p> +</li> +</ul></div> +<div class="sect3"> +<h4 id="_wybor_szerokosci_sciezek_i_rozmiaru_przelotek_z_paska_narzedzi">8.8.1. Wybór szerokości ścieżek i rozmiaru przelotek z paska narzędzi</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_top_toolbar.png" alt="images/pl/Pcbnew_top_toolbar.png"> +</div> +</div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:40%;"> +<col style="width:60%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/pl/Pcbnew_track_toolbar_track_width_selection.png" alt="images/pl/Pcbnew_track_toolbar_track_width_selection.png" width="70%"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wyświetla aktualną szerokość ścieżki. Gwiazdka oznacza, że dana wartość +jest wartością domyślną z klasy połączeń.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/pl/Pcbnew_track_toolbar_track_width_selection_in_use.png" alt="images/pl/Pcbnew_track_toolbar_track_width_selection_in_use.png" width="70%"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Z pomocą rozwijanej listy można wybrać szerokość ścieżki. + Pierwsza wartość na liście jest zawsze wartością ustaloną w klasie połączeń. + Inne wartości to szerokości ścieżek wpisane w zakładce Reguły Globalne.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/pl/Pcbnew_track_toolbar_via_size_selection.png" alt="images/pl/Pcbnew_track_toolbar_via_size_selection.png" width="70%"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wyświetla aktualny rozmiar przelotki. +Gwiazdka oznacza, że dana wartość jest wartością domyślną z klasy połączeń.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/pl/Pcbnew_track_toolbar_via_size_selection_in_use.png" alt="images/pl/Pcbnew_track_toolbar_via_size_selection_in_use.png" width="70%"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Z pomocą rozwijanej listy można wybrać rozmiar przelotki. +Pierwsza wartość na liście jest zawsze wartością ustaloną w klasie połączeń. +Inne wartości to rozmiary przelotek wpisane w zakładce <em>Reguły Globalne</em>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/auto_track_width.png" alt="images/icons/auto_track_width.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Gdy włączony: Automatyczna selekcja szerokości ścieżek. +Gdy rozpoczynamy ścieżkę w miejscu innej ścieżki, nowa ścieżka +będzie miała tą samą szerokość co istniejąca ścieżka.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/pl/Pcbnew_track_toolbar_grid_size_selection.png" alt="images/pl/Pcbnew_track_toolbar_grid_size_selection.png" width="70%"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybór rozmiaru siatki.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/pl/Pcbnew_track_toolbar_zoom_selection.png" alt="images/pl/Pcbnew_track_toolbar_zoom_selection.png" width="70%"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybór powiększenia.</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_uzywanie_menu_podrecznego">8.8.2. Używanie menu podręcznego</h4> +<div class="paragraph"><p>Można wybrać nowy rozmiar przed trasowaniem lub zmienić uprzednio stworzone +przelotki lub segmenty ścieżek.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_track_context_menu.png" alt="images/pl/Pcbnew_track_context_menu.png"> +</div> +</div> +<div class="paragraph"><p>Jeśli chcielibyśmy zmienić wiele rozmiarów przelotek (lub ścieżek), +najlepszym rozwiązaniem jest użycie specjalnej klasy połączeń dla sieci, +które muszą być zmienione (Zobacz <strong>Zmiany globalne ścieżek i przelotek</strong>).</p></div> +</div> +</div> +<div class="sect2"> +<h3 id="_edycja_i_korekcja_sciezek">8.9. Edycja i korekcja ścieżek</h3> +<div class="sect3"> +<h4 id="_zmiana_trasy_sciezki">8.9.1. Zmiana trasy ścieżki</h4> +<div class="paragraph"><p>W wielu przypadkach zmiana prowadzenia ścieżki jest wystarczająca.</p></div> +<div class="paragraph"><p>Poniższy rysunek przedstawia ścieżkę w trakcie tworzenia nowej trasy:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_new_track_in_progress.png" alt="images/Pcbnew_new_track_in_progress.png"> +</div> +</div> +<div class="paragraph"><p>Gdy nowa ścieżka zostanie zakończona:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_new_track_completed.png" alt="images/Pcbnew_new_track_completed.png"> +</div> +</div> +<div class="paragraph"><p>Pcbnew automatycznie usunie starą ścieżkę jeśli jest ona zbędna i tworzyła +by niezamierzoną pętlę. Opcja usuwania starych ścieżek może być również +wyłączona w opcjach.</p></div> +</div> +<div class="sect3"> +<h4 id="_zmiany_globalne_sciezek_i_przelotek">8.9.2. Zmiany globalne ścieżek i przelotek</h4> +<div class="paragraph"><p>Czasami zachodzi potrzeba, by w zaprojektowanej płytce poprawić niektóre +ścieżki lub przelotki. W przypadku dużej ilości zmian, modyfikacja krok po +kroku byłaby czasochłonna. Pcbnew umożliwia jednak zautomatyzowanie tego +procesu z pomocą polecenia <em>Edycja rozmiarów wszystkich ścieżek</em> i przelotek +dostępną z menu podręcznego:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_track_global_edit_context_menu.png" alt="images/pl/Pcbnew_track_global_edit_context_menu.png"> +</div> +</div> +<div class="paragraph"><p>Pojawiające się wtedy okno dialogowe pozwala na zmiany globalne ścieżek +i/lub przelotek dla:</p></div> +<div class="ulist"><ul> +<li> +<p> +Bieżącej sieci. +</p> +</li> +<li> +<p> +Dla całej płytki. +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_track_global_edit_dialog.png" alt="images/pl/Pcbnew_track_global_edit_dialog.png"> +</div> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_router_interaktywny">9. Router Interaktywny</h2> +<div class="sectionbody"> +<div class="paragraph"><p>Router interaktywny pozwala na szybkie i efektywne trasowanie ścieżek na PCB +poprzez rozpychanie i omijanie sąsiednich elementów na płytce, które +kolidują ze ścieżką jaka aktualnie jest prowadzona.</p></div> +<div class="paragraph"><p>Wspierane tryby są następujące:</p></div> +<div class="ulist"><ul> +<li> +<p> +<strong>Podświetlanie kolizji</strong>, gdzie następuje podświetlenie wszystkich kolizyjnych obiektów + za pomocą jasnozielonego koloru, oraz wskazanie miejsc naruszeń dozwolonego prześwitu + pomiędzy nimi. +</p> +</li> +<li> +<p> +<strong>Rozsuwanie</strong>, gdzie następuje próba wypchnięcia wszystkich elementów + kolidujących z bieżąco trasowaną ścieżką. +</p> +</li> +<li> +<p> +<strong>Omijanie</strong>, gdzie następuje próba ominięcia przeszkód poprzez ich + otaczanie/omijanie. +</p> +</li> +</ul></div> +<div class="sect2"> +<h3 id="_konfiguracja">9.1. Konfiguracja</h3> +<div class="paragraph"><p>Przed użyciem Routera Interaktywnego, należy ustawić dwie rzeczy:</p></div> +<div class="ulist"><ul> +<li> +<p> +<strong>Prześwit</strong>. By ustawić prześwit należy otworzyć okno dialogowe <em>Reguły Projektowe</em> + i sprawdzić czy przynajmniej domyślne wartości prześwitu są poprawne. +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/rules_editor.png" alt="Rules editor"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +<strong>Włączyć tryb OpenGL</strong> poprzez wywołanie polecenia <em>Przełącz na tryb OpenGL</em> z menu + <em>Widok</em> lub przez naciśnięcie klawisza <strong>F11</strong>. +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/opengl_menu.png" alt="OpenGL mode"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_trasowanie_sciezek_2">9.2. Trasowanie ścieżek</h3> +<div class="paragraph"><p>By aktywować router należy nacisnąć przycisk <em>Router Interaktywny</em> +<span class="image"> +<img src="images/route_icon.png" alt="Ikona Router Interaktywny"> +</span> lub klawisz +<strong>X</strong>. Kursor zmieni swą postać, a nazwa wybranego narzędzia pojawi się na +pasku statusu.</p></div> +<div class="paragraph"><p>By rozpocząć ścieżkę należy kliknąć na dowolnym elemencie (polu lutowniczym, +ścieżce lub przelotce) lub przez ponowne naciśnięcie klawisza <strong>X</strong> w czasie +gdy kursor myszy znajdować się będzie nad tym elementem. Nowa ścieżka użyje +nazwy sieci takiej jak początkowy element. Klikając lub wciskając <strong>X</strong> w +pustym miejscu rozpocznie ścieżkę, ale nie będzie ona posiadać przypisanej +nazwy sieci.</p></div> +<div class="paragraph"><p>Przesuwanie kursora myszy definiuje kształt ścieżki. Router będzie starał +się podążać szlakiem myszy, otaczając nieprzesuwne przeszkody (takie jak +pola lutownicze) i w zależności od trybu rozchylać kolidujące +ścieżki/przelotki. Cofnięcie kursora myszy spowoduje, że rozchylone elementy +powracają z powrotem na swoje dawne pozycje.</p></div> +<div class="paragraph"><p>Klikając na polu/ścieżce/przelotce należącej do tej samej sieci kończy +trasowanie. Klikając w pustym miejscu kończy poprzedni segment i rozpoczyna +nowy od tego miejsca.</p></div> +<div class="paragraph"><p>By zatrzymać trasowanie i anulować wszystkie zmiany (rozsunięcie ścieżek, +przelotek, itd.), należy nacisnąć <strong>Esc</strong>.</p></div> +<div class="paragraph"><p>Naciskając <strong>V</strong> lub wybierając <em>Wstaw przelotkę na wylot</em> z menu +kontekstowego podczas trasowania dołącza przelotkę na końcu prowadzonej +ścieżki i pozwala ją przesuwać. Naciskając ponownie <strong>V</strong> można pozbyć się +przelotki na końcu ścieżki. Kliknięcie stawia taką przelotkę w miejscu +kliknięcia, a trasowanie jest kontynuowane (ale na innej warstwie).</p></div> +<div class="paragraph"><p>Naciskając klawisz <strong>/</strong> lub wybierając <em>Przełącz nachylenie ścieżki</em> z menu +kontekstowego zmienia sposób załamania dwóch sąsiadujących ze sobą segmentów +gdy punkt początkowy i końcowy prowadzonej ścieżki nie leżą w tej samej +linii.</p></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Zapamiętaj</div> +</td> +<td class="content">Domyślnie router przyciąga ścieżki do centralnych punktów/osi pozostałych +obiektów. Przyciąganie można wyłączyć przytrzymując <strong>Shift</strong> podczas +trasowania lub wyboru poszczególnych elementów.</td> +</tr></table> +</div> +</div> +<div class="sect2"> +<h3 id="_ustawianie_szerokosci_sciezek_i_rozmiaru_przelotek">9.3. Ustawianie szerokości ścieżek i rozmiaru przelotek</h3> +<div class="paragraph"><p>Istnieje kilka możliwości wcześniejszego wyboru rozmiaru ścieżki/przelotki +lub zmiany tego rozmiaru podczas trasowania:</p></div> +<div class="ulist"><ul> +<li> +<p> +Używając domyślnych skrótów klawiszowych. +</p> +</li> +<li> +<p> +Naciskając klawisz <strong>W</strong> lub za pomocą polecenia <em>Własny rozmiar ścieżki</em> z + menu kontekstowego i wpisując ten rozmiar. +</p> +</li> +<li> +<p> +Wybrać z listy wcześniej zdefiniowanych rozmiarów poleceniem <em>Wybierz + szerokość ścieżki</em> z menu kontekstowego. +</p> +</li> +<li> +<p> +Aktywując opcję <em>Użyj początkowej szerokości ścieżki</em> z listy <em>Wybierz + szerokość ścieżki</em> w menu, by automatycznie rozpocząć nową ścieżkę o + szerokości takiej samej jak połączony z nią element. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_przeciaganie">9.4. Przeciąganie</h3> +<div class="paragraph"><p>Router umożliwia przeciąganie segmentów, załamań ścieżek i przelotek. By +przeciągnąć element, należy kliknąć na niego z wciśniętym klawiszem <strong>Ctrl</strong>, +najechać na niego i nacisnąć <strong>G</strong> lub wybrać polecenie <em>Przeciągnij +Ścieżkę/Przelotkę</em> z menu podręcznego. Zakończyć przeciąganie można poprzez +ponowne kliknięcie lub użycie klawisza <em>Esc</em>.</p></div> +</div> +<div class="sect2"> +<h3 id="_opcje">9.5. Opcje</h3> +<div class="paragraph"><p>Zachowanie routera może być skonfigurowane za pomocą menu kontekstowego +wywoływanego przez wciśnięcie klawisza <em>E</em> lub przez wybranie polecenia +<em>Opcje routera</em> z menu kontekstowego w trybie prowadzenia ścieżki. Menu to +będzie wyglądać następująco:</p></div> +<div class="paragraph"><p>Dostępne opcje to:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/router_options.png" alt="Router options window screenshot"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +<strong>Tryb</strong> - Wybiera tryb w jaki sposób router ma osługiwać naruszenia DRC (rozpychać, + omijać, itd.) +</p> +</li> +<li> +<p> +<strong>Rozsuwaj przelotki</strong> - gdy opcja jest wyłączona, przelotki są traktowane jako obiekty + zablokowane i będą omijane niżeli rozsuwane. +</p> +</li> +<li> +<p> +<strong>Przeskakuj ponad przeszkodami</strong> - gdy opcja jest włączona, router będzie próbował przesuwać + kolidujące ścieżki znajdujące się przed trwałymi przeszkodami (np. polami lutowniczymi), niż + z powrotem "odzwierciedlać" miejsca kolizji +</p> +</li> +<li> +<p> +<strong>Usuwaj nadmiarowe ścieżki</strong> - gdy opcja jest włączona, pętle podczas trasowania (np. gdy + nowa ścieżka wygląda na nową drogę połączenia już istniejącego, poprzednie połączenie + zostanie usunięte). Usuwanie pętli działa tylko lokalnie (tylko pomiędzy początkiem a końcem + bieżąco trasowanej ścieżki). +</p> +</li> +<li> +<p> +<strong>Automatycznie zwężaj</strong> - gdy opcja jest włączona, router będzie się starał + przechodzić pomiędzy polami/przelotkami w sposób nienaruszający zasad, + unikając ostrych kątów i nierównych kącików ścieżek. +</p> +</li> +<li> +<p> +<strong>Wygładzaj przeciągane segmenty</strong> - gdy opcja jest włączona, router będzie próbował łączyć + niektóre segmenty w ciągłe ścieżki by wyeliminować ich fragmentację (dla łatwego ich przeciągania). +</p> +</li> +<li> +<p> +<strong>Zezwól na łamanie zasad DRC</strong> (tylko w trybie <em>Podświetl miejsca kolizji</em>) - pozwala na + zestawienie trasowanego połączenia, nawet gdy narusza to zasady DRC. +</p> +</li> +<li> +<p> +<strong>Głębokość optymalizacji</strong> - określa ile czasu router może poświęcić na + optymalizację trasowanych/rozsuwanych ścieżek. Dłuższy czas pozwala na + lepszy routing (lecz wolniejszy), mniejszy czas daje szybsze efekty podczas + trasowania, ale pojawiają się nierówne śegmenty. +</p> +</li> +</ul></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_tworzenie_wypenionych_stref">10. Tworzenie wypełnionych stref</h2> +<div class="sectionbody"> +<div class="paragraph"><p>Strefy wypełnień definiowane są za pomocą obrysu (zamkniętego wielokąta) i +mogą zawierać przestrzenie niewypełnione (zamknięte wielokąty wewnątrz +obrysu). Strefy można umieszczać zarówno na warstwach sygnałowych jak i +technicznych.</p></div> +<div class="sect2"> +<h3 id="_tworzenie_wypenionych_stref_na_warstwach_sygnaowych_miedzi">10.1. Tworzenie wypełnionych stref na warstwach sygnałowych (miedzi)</h3> +<div class="paragraph"><p>Połączenia pól lutowniczych (oraz ścieżek) wykonanych w postaci wypełnionej +strefy są testowane przez DRC. Dlatego też strefy muszą zostać wypełnione +(nie tylko utworzone) by mogły połączyć pola lutownicze znajdujące się w tej +samej sieci. Pcbnew używa obecnie segmentów ścieżek lub płaszczyzn do +wypełniania stref.</p></div> +<div class="paragraph"><p>Każda z tych opcji ma swoje zalety jak i wady, na przykład główną wadą jest +czas przerysowywania obszaru roboczego na słabszych komputerach. Końcowy +rezultat jest zawsze taki sam.</p></div> +<div class="paragraph"><p>Z powodu czasu jaki zajmuje wypełnienie strefy, wypełnianie nie jest +wykonywane na bieżąco po każdej zmianie, lecz w przypadku:</p></div> +<div class="ulist"><ul> +<li> +<p> +Wydania polecenia wypełnienia strefy. +</p> +</li> +<li> +<p> +Gdy przeprowadzany jest test DRC. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Strefy muszą być ponownie wypełnione po zmianach w prowadzeniu ścieżek lub +przy zmianach punktów lutowniczych. Strefy (zazwyczaj pola masy lub pola +zasilania) są podłączone z jedną wybraną siecią.</p></div> +<div class="paragraph"><p>Dlatego też, przy tworzeniu strefy należy:</p></div> +<div class="ulist"><ul> +<li> +<p> +Wybrać parametry strefy (nazwa sieci, warstwa…). Przełączenie warstwy i + podświetlenie tej sieci nie jest wymagane, ale należy to do dobrych praktyk. +</p> +</li> +<li> +<p> +Stworzyć zarys obrysu strefy (Jeśli nie będzie on wybrany to strefa obejmie + całą płytkę.). +</p> +</li> +<li> +<p> +Wypełnić strefę. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Pcbnew próbować będzie wypełnić strefę w całości i zwykle nie będzie ona +posiadać żadnych niepołączonych bloków. Jednak może się zdarzyć, że z powodu +przeszkód niektóre fragmenty pozostaną niewypełnione. Strefy nie posiadające +przypisanej sieci nie są czyszczone i mogą posiadać oddzielne wysepki.</p></div> +</div> +<div class="sect2"> +<h3 id="_tworzenie_stref_na_warstwach_sygnaowych">10.2. Tworzenie stref na warstwach sygnałowych</h3> +<div class="sect3"> +<h4 id="_tworzenie_krawedzi_strefy">10.2.1. Tworzenie krawędzi strefy</h4> +<div class="paragraph"><p>Aby narysować strefę należy użyć narzędzia ukrytego pod ikoną +<span class="image"> +<img src="images/icons/add_zone.png" alt="Ikona Wstaw strefę"> +</span>. Warstwą aktywną w tym +wypadku musi być jedna z warstw sygnałowych (miedzi). Gdy kliknie się na +obszarze roboczym w miejscu gdzie ma zaczynać się obrys strefy, otworzy się +okno dialogowe z opcjami strefy:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_zone_properties_dialog.png" alt="images/pl/Pcbnew_zone_properties_dialog.png"> +</div> +</div> +<div class="paragraph"><p>Można tu ustalić parametry dla rysowanej strefy:</p></div> +<div class="ulist"><ul> +<li> +<p> +Nazwę sieci +</p> +</li> +<li> +<p> +Warstwę +</p> +</li> +<li> +<p> +Opcje wypełnienia +</p> +</li> +<li> +<p> +Opcje otaczania pól lutowniczych +</p> +</li> +<li> +<p> +Poziom priorytetu +</p> +</li> +</ul></div> +<div class="paragraph"><p>Narysować obrys strefy na tej warstwie. Obrys ten stanowi linię łamaną, +tworzoną przez klikanie lewym klawiszem myszy w miejscu kolejnych +narożników. Podwójne kliknięcie spowoduje zakończenie i zamknięcie linii +łamanej. Jeśli punkt początkowy nie znajduje się w miejscu końcowym obrysu, +Pcbnew doda dodatkowy segment łączący te punkty.</p></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Zapamiętaj</div> +</td> +<td class="content"> +<div class="ulist"><ul> +<li> +<p> +Kontrola DRC jest aktywna podczas tworzenia obrysu strefy. +</p> +</li> +<li> +<p> +A corner which creates a DRC error will not be accepted by Pcbnew. +</p> +</li> +</ul></div> +</td> +</tr></table> +</div> +<div class="paragraph"><p>Na poniższym rysunku znajduje się narysowany obrys strefy (linia z +wypełnieniem kreskowym):</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_limit_example.png" alt="images/Pcbnew_zone_limit_example.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_poziom_priorytetu">10.2.2. Poziom priorytetu</h4> +<div class="paragraph"><p>Czasem mała strefa wypełnienia musi zostać utworzona wewnątrz innej większej +strefy wypełnienia.</p></div> +<div class="paragraph"><p>Utworzenie takiej strefy jest możliwe jeśli mniejsza strefa ma wyższy +priorytet niż większa strefa.</p></div> +<div class="paragraph"><p>Ustawienie poziomu:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_zone_priority_level_setting.png" alt="images/pl/Pcbnew_zone_priority_level_setting.png"> +</div> +</div> +<div class="paragraph"><p>Poniżej znajduje się przykład:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_zone_priority_example.png" alt="images/pl/Pcbnew_zone_priority_example.png"> +</div> +</div> +<div class="paragraph"><p>Po wypełnieniu stref, będą one wyglądać następująco:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_priority_example_after_filling.png" alt="images/Pcbnew_zone_priority_example_after_filling.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_wypenianie_strefy">10.2.3. Wypełnianie strefy</h4> +<div class="paragraph"><p>W trakcie wypełniania strefy, Pcbnew usuwa wszystkie niepodłączone bloki +strefy. By uruchomić polecenie wypełnienia strefy należy kliknąć prawym +klawiszem w miejscu gdzie znajduje się linia obrysu.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_zone_context_menu.png" alt="images/pl/Pcbnew_zone_context_menu.png"> +</div> +</div> +<div class="paragraph"><p>Z menu podręcznego wybrać polecenie <strong>Wypełnij strefę</strong>. Poniższy rysunek +pokazuje rezultat jaki uzyskamy po wydaniu tego polecenia:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_filling_result.png" alt="images/Pcbnew_zone_filling_result.png"> +</div> +</div> +<div class="paragraph"><p>Jak widać wolne obszary wewnątrz obrysu zostały wypełnione jednolitą +płaszczyzną. Można jednak zauważyć, że w obrysie strefy znalazły się też +pola które nie zostały wypełnione. Dzieje się tak dlatego, że pola te nie +mają możliwości połączyć się z resztą strefy:</p></div> +<div class="ulist"><ul> +<li> +<p> +Jedną z przeszkód jest ścieżka przechodząca przez dwie przeciwległe + krawędzie, oraz +</p> +</li> +<li> +<p> +Nie ma też żadnego punktu łączącego ten obszar z pozostałym. +</p> +</li> +</ul></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Zapamiętaj</div> +</td> +<td class="content">W strefie można utworzyć wiele podstref zwanych strefami odciętymi, w +których można wkluczyć wypełnienia (<em>cut-outs</em>). Poniżej prosty przykład:</td> +</tr></table> +</div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_filled_with_cutout.png" alt="images/Pcbnew_zone_filled_with_cutout.png"> +</div> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_opcje_wypenienia">10.3. Opcje wypełnienia</h3> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_zone_filling_options.png" alt="images/pl/Pcbnew_zone_filling_options.png"> +</div> +</div> +<div class="paragraph"><p>Po narysowaniu obrysu należy wybrać:</p></div> +<div class="ulist"><ul> +<li> +<p> +Tryb wypełnienia. +</p> +</li> +<li> +<p> +Prześwit dla strefy i minimalną szerokość wypełnienia. +</p> +</li> +<li> +<p> +Tryb łączenia pól lutowniczych ze strefą wewnątrz strefy (lub połączonych z + tą strefą). +</p> +</li> +<li> +<p> +Parametry związane z postacią łącza termicznego. +</p> +</li> +</ul></div> +<div class="sect3"> +<h4 id="_tryby_wypenienia">10.3.1. Tryby wypełnienia</h4> +<div class="paragraph"><p>Strefy mogą zostać wypełnione za pomocą wielokątów lub segmentów. Rezultat +jest ten sam. Jeśli jednak będą problemy z trybem wielokątów (wolne +odświeżanie widoku) lepiej użyć trybu z wypełnieniem w postaci segmentów.</p></div> +</div> +<div class="sect3"> +<h4 id="_przeswity_oraz_minimalna_grubosc_miedzi">10.3.2. Prześwity oraz minimalna grubość miedzi</h4> +<div class="paragraph"><p>Dobrym wyborem jest ustawienie prześwitu dla strefy nieco większego niż +siatka jaka używana jest przy trasowaniu połączeń. Minimalny szerokość +wypełnienia ogranicza możliwość tworzenia zbyt małych płaszczyzn w obrębie +strefy.</p></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Ostrzeżenie</div> +</td> +<td class="content">Jeśli wartość ta jest zbyt duża, małe kształty jak odcinki łącza termicznego +mogą nie być rysowane.</td> +</tr></table> +</div> +</div> +<div class="sect3"> +<h4 id="_opcje_otaczania_pol_lutowniczych">10.3.3. Opcje otaczania pól lutowniczych</h4> +<div class="paragraph"><p>Pola lutownicze należące do tej samej sieci co strefa mogą zostać dołączone +lub wyłączone ze strefy, albo połączone ze strefą za pomocą łącz +termicznych.</p></div> +<div class="ulist"><ul> +<li> +<p> +Jeśli pola zostaną dołączone to można napotkać trudności przy lutowaniu bądź + rozlutowywaniu takich pól. +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_include_pads.png" alt="images/Pcbnew_zone_include_pads.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +Jeśli pola zostaną wyłączone ze strefy, połączenie ze strefą nie będzie + możliwe. +</p> +<div class="ulist"><ul> +<li> +<p> +Strefa może zostać wypełniona tylko jeśli istnieją ścieżki by połączyć strefy. +</p> +</li> +<li> +<p> +Pola lutownicze muszą być połączone za pomocą ścieżek. +</p> +</li> +</ul></div> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_exclude_pads.png" alt="images/Pcbnew_zone_exclude_pads.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +Połączenia termiczne stanowią rozsądny kompromis pomiędzy oba powyższymi + opcjami. +</p> +<div class="ulist"><ul> +<li> +<p> +Pola są połączone za pomocą 4 segmentów. +</p> +</li> +<li> +<p> +Szerokość segmentu jest brana z bieżących ustawień szerokości ścieżek. +</p> +</li> +</ul></div> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_thermal_relief.png" alt="images/Pcbnew_zone_thermal_relief.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_parametry_acza_termicznego">10.3.4. Parametry łącza termicznego</h4> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_thermal_relief_settings.png" alt="images/pl/Pcbnew_thermal_relief_settings.png"> +</div> +</div> +<div class="paragraph"><p>Te dwie opcje przeznaczone są do określenia szerokości wolnego pola +otaczającego pola lutownicze w przypadku łączy termicznych:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_thermal_relief_parameters.png" alt="images/Pcbnew_thermal_relief_parameters.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_wybor_parametrow">10.3.5. Wybór parametrów</h4> +<div class="paragraph"><p>Wartość wpisana w szerokości miedzi dla łączy termicznych musi być większa +niż minimalna wartość szerokości ustalona dla strefy. W innym przypadku nie +zostanie ona narysowana.</p></div> +<div class="paragraph"><p>Additionally, a too large value for this parameter or for antipad size does +not allow one to create a thermal relief for small pads (like pad sizes used +for SMD components).</p></div> +</div> +</div> +<div class="sect2"> +<h3 id="_dodawanie_strefy_odcietej_wewnatrz_strefy_wypenionej">10.4. Dodawanie strefy odciętej wewnątrz strefy wypełnionej</h3> +<div class="paragraph"><p>Strefa odcięta musi być częścią innej strefy wypełnienia. Jest to warunek +obowiązkowy. Zatem przed rozpoczęciem definiowania strefy odciętej musi +istnieć już obrys strefy wypełnienia. Dodawanie strefy odciętej jest +przeprowadzane podobnie jak dodawanie strefy wypełnienia, z tą różnicą, że +stanowić ona będzie obszar niewypełniony:</p></div> +<div class="ulist"><ul> +<li> +<p> +Najpierw należy kliknąć prawym klawiszem na istniejącym obrysie strefy. +</p> +</li> +<li> +<p> +Następnie wybrać polecenie <em>Strefa odcięta</em> na prawym pasku narzędzi lub z + menu podręcznego wybrać polecenie <strong>Dodaj obszar odcięty</strong>. +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_add_cutout_menu_item.png" alt="images/pl/Pcbnew_add_cutout_menu_item.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +I dokładnie tak samo jak w przypadku strefy wypełnienia narysować obrys. +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_unfilled_cutout_outline.png" alt="images/Pcbnew_zone_unfilled_cutout_outline.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_edycja_krawedzi">10.5. Edycja krawędzi</h3> +<div class="paragraph"><p>Jest kilka sposobów by zmodyfikować obrys strefy:</p></div> +<div class="ulist"><ul> +<li> +<p> +Można przesuwać jej narożniki lub krawędzie za pomocą polecenia <strong>Przeciągnij + narożnik</strong> lub <strong>Przeciągnij segment obrysu</strong>. +</p> +</li> +<li> +<p> +Można dodawać lub usuwać narożniki za pomocą polecenia <strong>Utwórz narożnik</strong> lub + <strong>Usuń narożnik</strong>. +</p> +</li> +<li> +<p> +Można dodać podobną strefę (<strong>Dodaj strefę bliźniaczą*) lub strefę odciętą + (*Dodaj obszar odcięty</strong>). +</p> +</li> +</ul></div> +<div class="paragraph"><p>W przypadku nałożenia się stref na siebie zostaną one odpowiednio połączone +razem.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_zone_modification_menu_items.png" alt="images/pl/Pcbnew_zone_modification_menu_items.png"> +</div> +</div> +<div class="paragraph"><p>Aby przesunąć jeden z narożników lub krawędź strefy, należy kliknąć prawym +klawiszem na wybrany element obrysu strefy i wybrać odpowiednie polecenie.</p></div> +<div class="paragraph"><p>Poniższy rysunek ukazuje zachowanie obrysu strefy odciętej podczas +przeciągania narożnika:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_corner_move_during.png" alt="images/Pcbnew_zone_corner_move_during.png"> +</div> +</div> +<div class="paragraph"><p>Po zakończeniu polecenia strefa powinna wyglądać tak:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_corner_move_after.png" alt="images/Pcbnew_zone_corner_move_after.png"> +</div> +</div> +<div class="paragraph"><p>Ponieważ obrysy strefy spotkały się w dwóch miejscach nastąpiło odjęcie +obrysu strefy odciętej od strefy wypełnienia.</p></div> +<div class="sect3"> +<h4 id="_powielanie_istniejacych_stref">10.5.1. Powielanie istniejących stref</h4> +<div class="paragraph"><p>Istniejące strefy można powielać na inne warstwy:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_add_similar_during.png" alt="images/Pcbnew_zone_add_similar_during.png"> +</div> +</div> +<div class="paragraph"><p>Finalny rezultat:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_zone_add_similar_after.png" alt="images/Pcbnew_zone_add_similar_after.png"> +</div> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_edycja_parametrow_stref">10.6. Edycja parametrów stref</h3> +<div class="paragraph"><p>Parametry narysowanych stref można zmieniać przez kliknięcie prawym +klawiszem na obrys strefy, oraz użycie polecenia "Edytuj parametry +strefy". Początkowe parametry mogą zostać wprowadzone. Jeśli strefa została +już wypełniona to zmiany parametrów strefy będą widoczne dopiero po ponownym +wypełnieniu strefy.</p></div> +</div> +<div class="sect2"> +<h3 id="_koncowe_wypenianie_strefy">10.7. Końcowe wypełnianie strefy</h3> +<div class="paragraph"><p>Po zakończeniu trasowania wszystkich ścieżek, gdy płytka jest już gotowa, +należy wypełnić wszystkie strefy. By tego dokonać trzeba:</p></div> +<div class="ulist"><ul> +<li> +<p> +Aktywować narzędzia związane ze strefami klikając w ikonę + <span class="image"> +<img src="images/icons/add_zone.png" alt="images/icons/add_zone.png"> +</span>. +</p> +</li> +<li> +<p> +Kliknąć prawym klawiszem by wywołać menu podręczne. +</p> +</li> +<li> +<p> +Użyć polecenia "Wypełnij + strefę". <span class="image"> +<img src="images/Pcbnew_fill_refill_all_zones.png" alt="images/Pcbnew_fill_refill_all_zones.png"> +</span> +</p> +</li> +</ul></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Ostrzeżenie</div> +</td> +<td class="content">Należy mieć na uwadze, że kalkulacje związane z wypełnieniem strefy mogą +zająć więcej czasu jeśli rozmiar siatki wypełnienia jest mały.</td> +</tr></table> +</div> +</div> +<div class="sect2"> +<h3 id="_zmiany_nazw_sieci_w_strefie">10.8. Zmiany nazw sieci w strefie</h3> +<div class="paragraph"><p>Przy zmianach na schemacie, lista sieci może również ulec zmianie, a w +związku z tym niektóre nazwy sieci także mogą zostać zmienione. Dla +przykładu, sieć <span class="monospaced">VCC</span> może stać się siecią o nazwie <span class="monospaced">+5V</span> po zmianach na +schemacie.</p></div> +<div class="paragraph"><p>Gdy zostanie przeprowadzona globalna kontrola DRC, Pcbnew sprawdzi czy nazwa +sieci powiązana ze strefą wypełnienia nadal istnieje, a jeśli nie zostanie +zgłoszony błąd.</p></div> +<div class="paragraph"><p>Dlatego też może być konieczne manualne poprawienie tego parametru strefy by +zmienić nazwę sieci.</p></div> +</div> +<div class="sect2"> +<h3 id="_tworzenie_stref_na_warstwach_technicznych">10.9. Tworzenie stref na warstwach technicznych</h3> +<div class="sect3"> +<h4 id="_tworzenie_obrysu_strefy">10.9.1. Tworzenie obrysu strefy</h4> +<div class="paragraph"><p>This is done using the button <span class="image"> +<img src="images/icons/add_zone.png" alt="images/icons/add_zone.png"> +</span>. The active +layer must be a technical layer.</p></div> +<div class="paragraph"><p>Po kliknięciu rozpoczynającym rysowanie strefy zostanie otwarte okno +dialogowe:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_technical_layer_zone_dialog.png" alt="images/pl/Pcbnew_technical_layer_zone_dialog.png"> +</div> +</div> +<div class="paragraph"><p>Z listy warstw należy wybrać warstwę docelową dla strefy, określić parametry +(podobne do poznanych wcześniej) i za pomocą myszy narysować obrys strefy +tak samo jak w przypadku stref na warstwach sygnałowych.</p></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Zapamiętaj</div> +</td> +<td class="content"> +<div class="ulist"><ul> +<li> +<p> +By dokonać zmian w obrysie strefy należy postępować w ten sam sposób co przy + strefach na warstwach sygnałowych. +</p> +</li> +<li> +<p> +Na warstwach technicznych można również stosować strefy odcięte. +</p> +</li> +</ul></div> +</td> +</tr></table> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_tworzenie_stref_chronionych">10.10. Tworzenie stref chronionych</h3> +<div class="paragraph"><p>Wybierz narzędzie <span class="image"> +<img src="images/icons/add_keepout_area.png" alt="images/icons/add_keepout_area.png"> +</span></p></div> +<div class="paragraph"><p>Aktywną warstwą powinna być jedna ze stref sygnałowych (miedzi).</p></div> +<div class="paragraph"><p>Przy kliknięciu w miejscu pierwszego narożnika nowej strefy chronionej, +otwierany jest następujące okno dialogowe:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_keepout_area_properties.png" alt="images/pl/Pcbnew_keepout_area_properties.png"> +</div> +</div> +<div class="paragraph"><p>Można tu wybrać kilka opcji, z której najważniejsza grupa zawiera wybór +elementów, które nie moga znajdować się w obszarze chronionym:</p></div> +<div class="ulist"><ul> +<li> +<p> +Ścieżki. +</p> +</li> +<li> +<p> +Przelotki. +</p> +</li> +<li> +<p> +Strefy wypełnienia. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Gdy jakikolwiek element z powyższej listy znajdzie się w strefie chronionej, +to zgłoszony zostanie błąd DRC.</p></div> +<div class="paragraph"><p>Dla stref miedzi, obszar wewnątrz obszaru chronionego nie może być +wypełniony. Obszar chroniony jest jak strefa, więc edycja jego zarysu jest +analogiczna jak w przypadku edycji stref wypełnień.</p></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_przygotowywanie_plikow_produkcyjnych">11. Przygotowywanie plików produkcyjnych</h2> +<div class="sectionbody"> +<div class="paragraph"><p>Bardzo ważnym aspektem w końcowej fazie projektowania obwodu drukowanego +jest generacja niezbędnych plików produkcyjnych. W tym rozdziale opisano +poszczególne kroki przy generowaniu tego typu plików.</p></div> +<div class="paragraph"><p>Wszystkie wygenerowane pliki są domyślnie umieszczane w katalogu roboczym +projektu, czyli tam gdzie znajduje się plik z projektem PCB.</p></div> +<div class="sect2"> +<h3 id="_koncowe_przygotowania_projektu">11.1. Końcowe przygotowania projektu</h3> +<div class="paragraph"><p>Generowanie niezbędnych plików dla produkcji obwodu drukowanego zawiera +następujące kroki przygotowawcze:</p></div> +<div class="ulist"><ul> +<li> +<p> +Oznaczenie warstw (np., <em>top</em> lub <em>front</em> i <em>bottom</em> lub <em>back</em>) oraz nazwy + projektu przez umieszczenie odpowiednich tekstów na każdej z warstw. W ten + sposób zakład produkcyjny będzie wiedział z jaką kliszą ma do czynienia. +</p> +</li> +<li> +<p> +Wszystkie teksty umieszczone na dolnej warstwie miedzi (czasem zwanej + <em>solder</em> lub <em>bottom</em>) muszą być w lustrzanym odbiciu, gdyż będą one + normalnie widoczne po obróceniu płytki na drugą stronę. +</p> +</li> +<li> +<p> +Stworzenie wszystkich planów (np. <em>ground plane</em>) i wypełnień, modyfikując + ścieżki jeśli trzeba by ich ciągłość była zapewniona. +</p> +</li> +<li> +<p> +Umieszczenie znaczników odniesienia (<em>target crosshairs</em>) oraz możliwych + rozmiarów obrysu płytki (są one zwykle umieszczane na jednej z warstw + dowolnego użytku). +</p> +</li> +</ul></div> +<div class="paragraph"><p>Poniżej można ujrzeć przykład, ukazujący wszystkie te elementy, za wyjątkiem +planów, które zostały pominięte dla lepszej widoczności:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_final_preparation_example_board.png" alt="images/Pcbnew_final_preparation_example_board.png"> +</div> +</div> +<div class="paragraph"><p>Dodatkowo na powyższym obrazku został umieszczony także <em>klucz</em> dla czterech +warstw: <span class="image"> +<img src="images/Pcbnew_layer_colour_key.png" alt="images/Pcbnew_layer_colour_key.png"> +</span></p></div> +</div> +<div class="sect2"> +<h3 id="_koncowy_test_drc">11.2. Końcowy test DRC</h3> +<div class="paragraph"><p>Przed wygenerowaniem plików wyjściowych, usilnie zalecane jest +przeprowadzenie pełnego testu DRC, gdyż finalne sprawdzenie płytki może +ustrzec przed przykrymi niespodziankami już po wyprodukowaniu płytek.</p></div> +<div class="paragraph"><p>Przy uruchamianiu testu DRC wszystkie strefy są wypełniane lub wypełniane +ponownie jeśli wcześniej zostały już wypełnione. Naciśnij przycisk +<span class="image"> +<img src="images/icons/drc.png" alt="images/icons/drc.png"> +</span> by wywołać okno sprawdzania reguł DRC:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_DRC_dialog.png" alt="images/pl/Pcbnew_DRC_dialog.png"> +</div> +</div> +<div class="paragraph"><p>Po ustaleniu parametrów należy nacisnąć przycisk "Uruchom DRC".</p></div> +<div class="paragraph"><p>Ten test końcowy zapobienie błędom jakie mogłyby się ujawnić już po +wyprodukowaniu obwodu drukowanego.</p></div> +</div> +<div class="sect2"> +<h3 id="_ustawienie_punktu_poczatkowego_osi_pomocniczej">11.3. Ustawienie punktu początkowego osi pomocniczej</h3> +<div class="paragraph"><p>Dla generowanych plików dla fotoplotera i dla plików wierceń wypada ustawić +punkt początkowy osi pomocniczej (<em>Auxiliary axis point</em>). Aby to wykonać +należy użyć narzędzia ukrytego pod ikoną <span class="image"> +<img src="images/icons/pcb_offset.png" alt="images/icons/pcb_offset.png"> +</span> +na prawym pasku narzędzi. Następnie ustawić punkt początkowy wybierając +jedno z miejsc na płytce i kliknąć. Po tej operacji zostaną dorysowane dwie +dodatkowe linie przecinające się w nowo ustalonym punkcie:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_setting_pcb_origin.png" alt="images/Pcbnew_setting_pcb_origin.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_generowanie_plikow_dla_fotoplotera">11.4. Generowanie plików dla fotoplotera</h3> +<div class="paragraph"><p>Generowaniem plików przeznaczonych dla fotoplotera zajmuje się narzędzie +wywoływane za pomocą polecenia <strong>Rysuj</strong> z menu <strong>Plik</strong>.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_plot_dialog.png" alt="images/pl/Pcbnew_plot_dialog.png"> +</div> +</div> +<div class="paragraph"><p>W większości przypadków będą to pliki w formacie GERBER. Jednakże, program +daje również możliwość generacji plików w formatach HPGL oraz +POSTSCRIPT. Przy wybranej opcji Postscript dla formatu wyjściowego, okno +dialogowe będzie wyglądać nieco inaczej:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_plot_postscript_dialog.png" alt="images/pl/Pcbnew_plot_postscript_dialog.png"> +</div> +</div> +<div class="paragraph"><p>W tych formatach, można dodatkowo dostrajać skalę by skompensować błędy +skali plotera, tak aby wyjściowy rysunek posiadał prawidłową skalę:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_plot_fine_scale_setting.png" alt="images/pl/Pcbnew_plot_fine_scale_setting.png"> +</div> +</div> +<div class="sect3"> +<h4 id="_format_gerber">11.4.1. Format GERBER</h4> +<div class="paragraph"><p>Dla każdej warstwy, Pcbnew generuje osobny plik zgodny ze standardem GERBER +274X, domyślnie w formacie 4.6 (każda koordynata w pliku jest reprezentowana +za pomocą 10 cyfr, z których 4 znajdują się przed przecinkiem, a 6 +pozostałych po przecinku; jednostką podstawową są cale). Rysunek jest zawsze +w skali 1:1.</p></div> +<div class="paragraph"><p>Zwykle konieczne jest utworzenie plików dla wszystkich warstw miedzi, oraz w +zależności od typu obwodu, masek lutowniczych oraz warstw opisowych (z +oznaczeniami elementów). Wszystkie te pliki mogą być generowane za jednym +razem, zaznaczając odpowiednie pola wyboru na liście warstw.</p></div> +<div class="paragraph"><p>Przykładowo, dla obwodu dwustronnego z maską do nakładania pasty (dla +rozpływowego montażu elementów SMD), opisem oraz soldermaską, zostanie +wygenerowanych 8 plików (<em>xxxx</em> zastępuje tutaj nazwę pliku z płytką).</p></div> +<div class="ulist"><ul> +<li> +<p> +xxxx-F_Cu.gbr dla górnej warstwy miedzi. +</p> +</li> +<li> +<p> +xxxx-B_Cu.gbr dla dolnej warstwy miedzi. +</p> +</li> +<li> +<p> +xxxx-F_SilkS.gbr dla warstwy opisowej na stronie elementów. +</p> +</li> +<li> +<p> +xxxx-B_SilkS.grb dla warstwy opisowej na stronie lutowania. +</p> +</li> +<li> +<p> +xxxx-F_Paste.gbr dla pasty lutowniczej górnej warstwy miedzi. +</p> +</li> +<li> +<p> +xxxx-B_Paste.gbr dla pasty lutowniczej dolnej warstwy miedzi. +</p> +</li> +<li> +<p> +xxxx-F_Mask.gbr dla maski lutowniczej górnej warstwy miedzi. +</p> +</li> +<li> +<p> +xxxx-B_Mask.gbr dla maski lutowniczej dolnej warstwy miedzi. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Format plików GERBER:</p></div> +<div class="paragraph"><p>Format GERBER używany przez Pcbnew to: RS274X, Format 4.6, Calowy, Pominięte +zera początkowe, Format Abs. Są to najczęściej używane ustawienia.</p></div> +</div> +<div class="sect3"> +<h4 id="_format_postscript">11.4.2. Format POSTSCRIPT</h4> +<div class="paragraph"><p>W przypadku plików Postscript standardowym rozszerzeniem dla plików +wyjściowych będzie <span class="monospaced">.ps</span>. Tak samo jak w przypadku plików w formacie HPGL, +rysowanie może odbywać się w wybranej skali lub jako lustrzane +odbicie. Jeśli opcja <em>Użyj osi pomocniczej jako punktu początkowego</em> nie +jest aktywna, punkt początkowy współrzędnych jest brany z punktu centralnego +rysunku.</p></div> +<div class="paragraph"><p>Jeśli zaznaczona jest opcja <em>Rysuj oznaczenia arkusza na wszystkich +warstwach</em>, zostanie narysowana również ramka opisowa.</p></div> +</div> +<div class="sect3"> +<h4 id="_opcje_rysowania">11.4.3. Opcje rysowania</h4> +<div class="paragraph"><p>Format Gerber</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_plot_options_gerber.png" alt="images/pl/Pcbnew_plot_options_gerber.png"> +</div> +</div> +<div class="paragraph"><p>Formaty pozostałe</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_plot_options_other_formats.png" alt="images/pl/Pcbnew_plot_options_other_formats.png"> +</div> +</div> +<div class="paragraph"><p>Specyficzne opcje związane z formatem GERBER:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:50%;"> +<col style="width:50%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Użyj rozszerzeń plików programu Prolel</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Powoduje, że rozszerzenia plików będą różne dla każdego pliku <span class="monospaced">.gbl</span>, <span class="monospaced">.gtl</span>,… zamiast jednego <span class="monospaced">.gbr</span>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącz rozszerzony zestaw atrybutów</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pozwala na używanie rozszerzonego zestawu kodów poleceń w plikach Gerber.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Odejmij maskę lutowniczą od warstwy opisowej</p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Usuwa fragmenty elementów z warstwy opisowej, które mogłyby znaleźć się na warstwie pasty lutowniczej. Zapobiega to rysowaniu warstwy opisowej na polach lutowniczych.</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_pozostae_formaty">11.4.4. Pozostałe formaty</h4> +<div class="paragraph"><p>Standardowe rozszerzenie pliku zależy od typu pliku wyjściowego.</p></div> +<div class="paragraph"><p>Niektóre z opcji nie są dostępne przy wybranym formacie.</p></div> +<div class="paragraph"><p>Tak samo jak w przypadku plików w formacie HPGL, rysowanie może odbywać się +w wybranej skali lub jako lustrzane odbicie.</p></div> +<div class="paragraph"><p>Opcja <em>Znaczniki wierceń</em> oferuje możliwość wypełnienia całkowitego pól +lutowniczych, pozostawienia pustego pola zgodnego z rozmiarem wiertła lub +umieszczenia na nich tylko małego pustego pola naprowadzającego (dla +wiercenia ręcznego).</p></div> +<div class="paragraph"><p>Jeśli zaznaczona jest opcja <em>Rysuj oznaczenia arkusza na wszystkich +warstwach</em>, zostanie narysowana również ramka opisowa.</p></div> +</div> +</div> +<div class="sect2"> +<h3 id="_globalne_ustawienia_przeswitu_dla_warstw_maski_lutowniczej_i_maski_pasty_lutowniczej">11.5. Globalne ustawienia prześwitu dla warstw maski lutowniczej i maski pasty lutowniczej</h3> +<div class="paragraph"><p>Wartości prześwitu masek mogą być ustawione globalnie dla warstw maski +lutowniczej i warstw pasty lutowniczej. Ustawienia te mogą być ustawiane na +następujących poziomach:</p></div> +<div class="ulist"><ul> +<li> +<p> +Na poziomie pól lutowniczych. +</p> +</li> +<li> +<p> +Na poziomie footprintów. +</p> +</li> +<li> +<p> +Globalnie. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Pcbnew w takim przypadku korzysta z priorytetów ustawień i wartość +ostateczna jest brana:</p></div> +<div class="ulist"><ul> +<li> +<p> +Z wartości ustalonej dla pól lutowniczych. Jeśli jest zerowa to +</p> +</li> +<li> +<p> +Z wartości ustalonej dla footprintu. Jeśli jest zerowa to +</p> +</li> +<li> +<p> +Z wartości ustalonej globalnie. +</p> +</li> +</ul></div> +<div class="sect3"> +<h4 id="_dostep_do_opcji">11.5.1. Dostęp do opcji</h4> +<div class="paragraph"><p>Odpowiednie opcje są dostępne za pomocą menu <strong>Ustawienia</strong> → <strong>Prześwit +maski pól lutowniczych</strong>:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_pad_mask_clearance_menu_item.png" alt="images/pl/Pcbnew_pad_mask_clearance_menu_item.png"> +</div> +</div> +<div class="paragraph"><p>Po wybraniu tego polecenia wyświetlane jest okno dialogowe:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_pad_mask_settings_dialog.png" alt="images/pl/Pcbnew_pad_mask_settings_dialog.png"> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_przeswit_maski_lutowniczej">11.5.2. Prześwit maski lutowniczej</h4> +<div class="paragraph"><p>Wartość bliska 0.2mm zwykle jest odpowiednia. Wartość ta jest dodatnia, +ponieważ maska lutownicza jest zwykle większa niż pole lutownicze.</p></div> +<div class="paragraph"><p>Można ustawić minimalną wartość dla szerokości soldermaski, pomiędzy dwoma +polami lutowniczymi.</p></div> +<div class="paragraph"><p>Gdy wartość jest mniejsza niż wartość minimalna, kształty dwóch masek +zostaną połączone.</p></div> +</div> +<div class="sect3"> +<h4 id="_przeswit_maski_pasty_lutowniczej">11.5.3. Prześwit maski pasty lutowniczej</h4> +<div class="paragraph"><p>Końcowa wartość prześwitu jest sumą prześwitu dla pasty lutowniczej oraz +procentowej wielkości rozmiaru padu.</p></div> +<div class="paragraph"><p>Wartość ta jest ujemna ponieważ maska pasty lutowniczej jest zwykle mniejsza +niż pole lutownicze.</p></div> +</div> +</div> +<div class="sect2"> +<h3 id="_generowanie_plik_ow_wiercen">11.6. Generowanie plik(ów) wierceń</h3> +<div class="paragraph"><p>Przy tworzeniu plików wyjściowych zawsze jest potrzebny również plik wierceń +<span class="monospaced">xxxxxx.drl</span> w standardzie EXCELLON.</p></div> +<div class="paragraph"><p>Można jednak również opcjonalnie wygenerować plan wierceń, który może być +zapisany w formacie HPGL (<span class="monospaced">xxxxxx.plt</span>) lub w formacie POSTSCRIPT +(<span class="monospaced">xxxxxx.ps</span>), lub/oraz opcjonalny raport wierceń (jako zwykły plik +tekstowy). Jednak jest on użyteczny tylko w niektórych przypadkach, na +przykład jako materiał wyjściowy przy dodatkowym sprawdzeniu.</p></div> +<div class="ulist"><ul> +<li> +<p> +Mapa wierceń może zostać narysowana przy użyciu kilku formatów. +</p> +</li> +<li> +<p> +Rapot wierceń jest plikiem tekstowym bez formatowania. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Tworzeniem plików wierceń zajmuje się poznane wcześniej okno do rysowania +plików Gerber:</p></div> +<div class="ulist"><ul> +<li> +<p> +gdzie znajduje się przycisk "Generuj plik wierceń" + <span class="image"> +<img src="images/pl/button_drill.png" alt="images/pl/button_drill.png"> +</span> +</p> +</li> +<li> +<p> +lub też z głównego menu <strong>Plik</strong> → <strong>Pliki produkcyjne</strong> → <strong>Plik wierceń</strong>. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Główne okno tego narzędzia wygląda w ten sposób:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_drill_file_dialog.png" alt="images/pl/Pcbnew_drill_file_dialog.png"> +</div> +</div> +<div class="paragraph"><p>By ustawić punkt odniesienia, używane są następujące opcje:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_drill_origin_setting.png" alt="images/pl/Pcbnew_drill_origin_setting.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +_Bezwzględny_ : używane są współrzędne bezwzględne. +</p> +</li> +<li> +<p> +_Oś zewnętrzna_ : współrzędne są względne wobec punktu centralnego osi + pomocniczych, należy użyć narzędzia <span class="image"> +<img src="images/icons/pcb_offset.png" alt="images/icons/pcb_offset.png"> +</span> (na + prawym pasku narzędzi) by umieścić ten punkt w dobrym miejscu. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_generowanie_dokumentacji_montazowych">11.7. Generowanie dokumentacji montażowych</h3> +<div class="paragraph"><p>Do produkcji tych plików, powinno się użyć rysunków warstw montażowych, ale +można też użyć rysunków warstw opisowych górnej i dolnej. Zazwyczaj tylko +elementy znajdujące się po stronie elementów są wystarczające do poprawnego +obsadzenia PCB. Jeśli jednak jest wykorzystana dolna warstwa opisowa, teksty +znajdujące się na tej warstwie muszą być narysowane jako lustrzane obicie by +były normalnie czytelne.</p></div> +</div> +<div class="sect2"> +<h3 id="_generowanie_plikow_dla_automatow_montujacych_pick_and_place">11.8. Generowanie plików dla automatów montujących Pick and Place</h3> +<div class="paragraph"><p>Opcja ta jest dostępna poprzez polecenie menu <strong>Pliki produkcyjne</strong> → <strong>Plik +położeń footprintów</strong>. Trzeba mieć jednak na uwadze fakt, że plik będzie +wygenerowany jeśli przynajmniej jeden footprint będzie miał atrybut +Normalny+Wstawianie (zobacz temat Edycja footprintów). Polecenie to może +wygenerować jeden lub dwa pliki, w zależności od tego jakie wstawiane +elementy znajdują się na jednej lub na obu stronach płytki. Pojawiające się +okno dialogowe wyświetli nazwy pliku(-ów) jakie zostały utworzone.</p></div> +</div> +<div class="sect2"> +<h3 id="_opcje_zaawansowane">11.9. Opcje zaawansowane</h3> +<div class="paragraph"><p>Opcje opisane poniżej (cześć okna dialogowego wywoływanego poprzez polecenie +<strong>Rysuj</strong> z menu <strong>Plik</strong>) pozwalają na precyzyjniejszą kontrolę procesu +rysowania. Większość z nich jest użyteczna przy tworzeniu plików +montażowych.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_advanced_tracing_options.png" alt="images/pl/Pcbnew_advanced_tracing_options.png"> +</div> +</div> +<div class="paragraph"><p>Dostępne są następujące opcje:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:33%;"> +<col style="width:66%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Rysuj oznaczenia arkusza na wszystkich warstwach</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zaznaczenie tej opcji spowoduje dodanie ramki arkusza wraz z tabelką.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Rysuj pola lutownicze na war. opisowej</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza/Wyłącza drukowanie obrysów pól lutowniczych na warstwach opisowych (<strong>Jeśli</strong> pola lutownicze te zostały już zadeklarowane by pojawiły się na tych warstwach). W rzeczywistości opcja ta przydatna jest w zapobieganiu drukowaniu pól lutowniczych, w trybie wyłączonym.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Rysuj wartości footprintów na war. opisowej</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza możliwość drukowania zawartości pola Wartość na warstwie opisowej.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Rysuj oznaczenie footprintu na war. opisowej</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza możliwość drukowania zawartości pola Oznaczenie na warstwie opisowej.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Rysuj ukryty tekst na war. opisowej</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wymusza drukowanie pól (<em>Oznaczenie, Wartość</em>) oznaczonych jako niewidoczne. W połączeniu z opcjami <em>Rysuj wartości footprintów na war. opisowej</em> oraz <em>Rysuj oznaczenie footprintu na war. opisowej</em>, opcja ta włącza tworzenie dokumentów przydatnych przy montażu i naprawach płytki. Opcje te okazały się niezbędne dla obwodów używających elementów, które są zbyt małe (SMD), pozwalając na umieszczenie czytelnych dwóch różnych pól tekstowych.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Nie maskuj przelotek</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Usuwa soldermaskę wokół przelotek.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Wyłącz warstwę krawędzi PCB z pozostałych warstw</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Opcja specyficzna dla formatu GERBER. +Zaznaczenie tej opcji spowoduje, że zawartość warstwy krawędzi płytki nie będzie kopiowana na każdą inną warstwę.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><em>Użyj sugerowanych przez Protel rozszerzeń plików</em></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Opcja specyficzna dla formatu GERBER. +Gdy tworzone będą pliki wyjściowe dla fotoplotera, plik dla każdej warstwy będzie miał specyficzne rozszerzenie. +Jeśli opcja ta nie jest aktywna wszystkie pliki będą miały rozszerzenie <span class="monospaced">.gbr</span></p></td> +</tr> +</tbody> +</table> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_edytor_footprintow_zarzadzanie_bibliotekami_footprintow">12. Edytor Footprintów - Zarządzanie bibliotekami footprintów</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_przeglad_mozliwosci_edytora">12.1. Przegląd możliwości edytora</h3> +<div class="paragraph"><p>Pcbnew może jednocześnie zarządzać kilkoma bibliotekami. Tak więc, gdy +ładowany jest footprint, wszystkie biblioteki, które pojawiają się na liście +bibliotek są przeszukiwane, aż znalezione będzie pierwsze wystąpienie +footprintu. W dalszej części tekstu będziemy używać zwrotu <strong>aktywna +biblioteka</strong> dla biblioteki wybranej w edytorze footprintów.</p></div> +<div class="paragraph"><p>Edytor Footrintów pozwala na tworzenie i edycję footprintów:</p></div> +<div class="ulist"><ul> +<li> +<p> +Dodawanie oraz usuwanie pól lutowniczych. +</p> +</li> +<li> +<p> +Zmianę właściwości pól lutowniczych (kształt, warstwa) dla pojedynczych pól + lutowniczych lub globalnie dla wszystkich pól lutowniczych footprintu. +</p> +</li> +<li> +<p> +Edycja postaci graficznej (linie, tekst). +</p> +</li> +<li> +<p> +Edycja pól informacyjnych (wartość, odniesienie, …). +</p> +</li> +<li> +<p> +Edycja dołączonej dokumentacji (opis, słowa kluczowe). +</p> +</li> +</ul></div> +<div class="paragraph"><p>Edytor Footrintów pozwala także na zarządzanie aktywną biblioteką:</p></div> +<div class="ulist"><ul> +<li> +<p> +Wyświetlanie listy footprintów w aktywnej bibliotece. +</p> +</li> +<li> +<p> +Usuwanie footprintów z aktywnej biblioteki. +</p> +</li> +<li> +<p> +Zapisywanie footprintu w aktywnej bibliotece. +</p> +</li> +<li> +<p> +Zapisywanie wszystkich footprintów zawartych na obwodzie drukowanym. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Możliwe jest również tworzenie nowych bibliotek.</p></div> +<div class="paragraph"><p>Foldery z rozszerzeniem <span class="monospaced">.pretty</span> stanowią poszczególne biblioteki.</p></div> +</div> +<div class="sect2"> +<h3 id="_dostep_do_edytora_footprintow">12.2. Dostęp do Edytora Footprintów.</h3> +<div class="paragraph"><p>Edytor footprintów jest dostępny z poziomu Pcbnew na dwa sposoby:</p></div> +<div class="ulist"><ul> +<li> +<p> +Bezpośrednio, za pomocą ikony <span class="image"> +<img src="images/icons/module_editor.png" alt="images/icons/module_editor.png"> +</span> na + głównym pasku narzędzi Pcbnew. +</p> +</li> +<li> +<p> +W oknie dialogowym z właściwościami footprintu (jak na poniższym obrazku; + dostęp poprzez menu podręczne), gdzie dostępny jest klawisz <strong>Edytor + footprintów</strong>. +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_module_properties.png" alt="images/pl/Pcbnew_module_properties.png"> +</div> +</div> +<div class="paragraph"><p>W takim przypadku, aktywny footprint z obwodu drukowanego będzie +automatycznie załadowany w edytorze footprintów, pozwalając na jego +bezpośrednią modyfikację (lub archiwizację).</p></div> +</div> +<div class="sect2"> +<h3 id="_interfejs_uzytkownika_edytora_footprintow">12.3. Interfejs użytkownika edytora footprintów</h3> +<div class="paragraph"><p>Wywołanie Edytora Footprintów spowoduje otwarcie następującego okna:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_main_window.png" alt="images/pl/Modedit_main_window.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_gowny_pasek_narzedziowy">12.4. Główny pasek narzędziowy</h3> +<div class="imageblock"> +<div class="content"> +<img src="images/Modedit_top_toolbar.png" alt="images/Modedit_top_toolbar.png"> +</div> +</div> +<div class="paragraph"><p>Korzystając z tego paska narzędzi dostępne są następujące polecenia:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:20%;"> +<col style="width:80%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/library.png" alt="images/icons/library.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wybór aktywnej biblioteki.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/save_library.png" alt="images/icons/save_library.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Zapis bieżącego footprintu w aktywnej bibliotece z zapisem na dysk.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/new_library.png" alt="images/icons/new_library.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tworzenie nowej biblioteki oraz zapisanie w niej bieżącego footprintu.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/modview_icon.png" alt="images/icons/modview_icon.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Otwiera okno przeglądarki bibliotek.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/delete.png" alt="images/icons/delete.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Dostęp do okna dialogowego pozwalającego usuwanie footprintów z aktywnej biblioteki.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/new_footprint.png" alt="images/icons/new_footprint.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tworzenie nowego footprintu.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/module_wizard.png" alt="images/icons/module_wizard.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Tworzenie nowego footprintu z pomocą dostępnych kreatorów.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/load_module_lib.png" alt="images/icons/load_module_lib.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Załadowanie footprintu z aktywnej biblioteki.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/load_module_board.png" alt="images/icons/load_module_board.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Załadowanie (Import) footprintu z obwodu drukowanego.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/update_module_board.png" alt="images/icons/update_module_board.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Aktualizacja bieżącego footprintu na obwodzie drukowanym. +Jeśli footprint został wcześniej zaimportowany z bieżącej płytki, +zastąpi on odpowiedni footprint na płytce (uwzględniając pozycję +oraz orientację footprintu).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/insert_module_board.png" alt="images/icons/insert_module_board.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Eksport bieżącego footprintu do obwodu drukowanego. +Zostanie on skopiowany na płytkę i umieszczony na pozycji bazowej +pola roboczego.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/import_module.png" alt="images/icons/import_module.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Import footprintu z pliku stworzonego przez polecenie "Eksport".</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/export_module.png" alt="images/icons/export_module.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Eksport footprintu. Te polecenie jest prawie identyczne jak polecenie +przeznaczone do tworzenia bibliotek, jedyna różnica to taka, że eksport +tworzy bibliotekę w katalogu użytkownika, podczas gdy polecenie +tworzenia nowej biblioteki tworzy ją w standardowym katalogu +z bibliotekami (zwykle <span class="monospaced">kicad/modules</span>).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/undo.png" alt="images/icons/undo.png"> +</span> <span class="image"> +<img src="images/icons/redo.png" alt="images/icons/redo.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Cofnięcie lub przywrócenie dokonanych zmian.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/module_options.png" alt="images/icons/module_options.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Edycja właściwości footprintu.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/print_button.png" alt="images/icons/print_button.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wywołuje okno dialogowe wydruku.</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> +<span class="image"> +<img src="images/icons/zoom_out.png" alt="images/icons/zoom_out.png"> +</span> +<span class="image"> +<img src="images/icons/zoom_redraw.png" alt="images/icons/zoom_redraw.png"> +</span> +<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">Standardowe polecenia związane ze zmianą powiększenia obszaru roboczego.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/options_pad.png" alt="images/icons/options_pad.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wywołuje edytor pól lutowniczych.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/module_check.png" alt="images/icons/module_check.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Sprawdzenie poprawności footprintu.</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_tworzenie_nowej_biblioteki">12.5. Tworzenie nowej biblioteki</h3> +<div class="paragraph"><p>Aby utworzyć nową bibliotekę można użyć jednego z dwóch narzędzi: <strong>Nowa +biblioteka</strong> <span class="image"> +<img src="images/icons/new_library.png" alt="Ikona Zapisz w nowej bibliotece"> +</span>, w przypadku którego plik biblioteki jest domyślnie tworzony w +katalogu z bibliotekami; <strong>Eksport</strong> +<span class="image"> +<img src="images/icons/export_module.png" alt="Ikona Eksport"> +</span>, w przypadku którego +plik biblioteki jest domyślnie tworzony w katalogu roboczym projektu.</p></div> +<div class="paragraph"><p>Okno dialogowe z wyborem nazwy pliku pozwala na określenie nazwy biblioteki +oraz zmiany folderu. W obu przypadkach, biblioteka będzie zawierać edytowany +footprint.</p></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Ostrzeżenie</div> +</td> +<td class="content">Jeśli istnieje już jakaś biblioteka z taką samą nazwą, zostanie ona +nadpisana bez ostrzeżenia.</td> +</tr></table> +</div> +</div> +<div class="sect2"> +<h3 id="_zapisanie_footprintu_w_aktywnej_bibliotece">12.6. Zapisanie footprintu w aktywnej bibliotece</h3> +<div class="paragraph"><p>Operacja zapisu footprintu (modyfikująca plik aktywnej biblioteki) jest +przeprowadzana za pomocą polecenia +<span class="image"> +<img src="images/icons/save_library.png" alt="images/icons/save_library.png"> +</span>. Jeśli footprint o tej samej nazwie +już istnieje, zostanie on zastąpiony. Ponieważ tworzone obwody drukowane +będą zależeć od dokładności footprintów w bibliotece, warto przed zapisaniem +footprintu dwukrotnie sprawdzić nowy footprint przed jego zapisaniem.</p></div> +<div class="paragraph"><p>Zalecane jest również, dokonanie edycji pól z nazwą footprintu, będących +jego identyfikatorem w bibliotece.</p></div> +</div> +<div class="sect2"> +<h3 id="_przenoszenie_footprintow_pomiedzy_bibliotekami">12.7. Przenoszenie footprintów pomiędzy bibliotekami</h3> +<div class="ulist"><ul> +<li> +<p> +Wybrać bibliotekę źródłową <span class="image"> +<img src="images/icons/library.png" alt="images/icons/library.png"> +</span>. +</p> +</li> +<li> +<p> +Załadować wybrany footprint poprzez + <span class="image"> +<img src="images/icons/load_module_lib.png" alt="images/icons/load_module_lib.png"> +</span>. +</p> +</li> +<li> +<p> +Wybrać bibliotekę docelową <span class="image"> +<img src="images/icons/library.png" alt="images/icons/library.png"> +</span>. +</p> +</li> +<li> +<p> +Zapisać footprint poprzez <span class="image"> +<img src="images/icons/save_library.png" alt="images/icons/save_library.png"> +</span> +</p> +</li> +</ul></div> +<div class="paragraph"><p>Przy przenoszeniu footprintów źródłowy footprint nie zostaje usunięty, zatem +może zaistnieć potrzeba jego usunięcia.</p></div> +<div class="ulist"><ul> +<li> +<p> +Wybrać ponownie bibliotekę źródłową <span class="image"> +<img src="images/icons/library.png" alt="images/icons/library.png"> +</span> +</p> +</li> +<li> +<p> +Usunąć poprzednią postać footprintu przez <span class="image"> +<img src="images/icons/delete.png" alt="images/icons/delete.png"> +</span> +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_zapisywanie_footprintow_z_obowdu_drukowanego_w_aktywnej_bibliotece">12.8. Zapisywanie footprintów z obowdu drukowanego w aktywnej bibliotece</h3> +<div class="paragraph"><p>Możliwe jest skopiowanie wszystkich footprintów danego projektu płytki do +aktywnej biblioteki. Footprinty te zachowają swoje bieżące nazwy w +bibliotece. Polecenie to ma dwa zastosowania:</p></div> +<div class="ulist"><ul> +<li> +<p> +Do tworzenia archiwum lub kompletnej biblioteki z footprintami dla obwodu + drukowanego, w przypadku utraty biblioteki. +</p> +</li> +<li> +<p> +Ułatwia, co ważniejsze, utrzymanie biblioteki włączając w to produkcję + dokumentacji bibliotek, jak wyjaśniono poniżej. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_dokumentacja_dla_bibliotek_footprintow">12.9. Dokumentacja dla bibliotek footprintów</h3> +<div class="paragraph"><p>Jest mocno rekomendowane by dokumentować footprinty jakie zostały +utworzone. Pozwala to na późniejsze łatwiejsze i bezbłędne wyszukiwanie.</p></div> +<div class="paragraph"><p>Na przykład, kto byłby w stanie zapamiętać wszystkie warianty wyprowadzeń +obudowy TO-92? Okno dialogowe z właściwościami footprintu oferuje +rozwiązanie tego problemu.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_module_properties.png" alt="images/pl/Modedit_module_properties.png"> +</div> +</div> +<div class="paragraph"><p>To okno dialogowe przyjmuje:</p></div> +<div class="ulist"><ul> +<li> +<p> +Jednoliniowego tekstu z komentarzem/opisem footprintu. +</p> +</li> +<li> +<p> +Słowa kluczowe. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Opis footprintu jest wyświetlany przez CvPcb na dolnym pasku oraz w Pcbnew w +oknie z wyborem footprintu na dolnym panelu.</p></div> +<div class="paragraph"><p>Słowa kluczowe pozwalają na szczegółowe wyszukiwanie footprintów pasujących +do określonych słów.</p></div> +<div class="paragraph"><p>Podczas bezpośredniego wczytywania footprintów w Pcbnew (ikona +<span class="image"> +<img src="images/icons/module.png" alt="images/icons/module.png"> +</span> na prawym pasku narzędzi) można użyć słów +kluczowych w otwierającym się wtedy oknie dialogowym. Wpisując na przykład +tekst <span class="monospaced">=CONN</span> spowoduje, że na liście pojawią się footprinty, których słowa +kluczowe zawierają słowo <span class="monospaced">CONN</span>.</p></div> +</div> +<div class="sect2"> +<h3 id="_dokumentowanie_bibliotek_praktyki_rekomendowane">12.10. Dokumentowanie bibliotek - praktyki rekomendowane</h3> +<div class="paragraph"><p>Zaleca się tworzenie bibliotek pośrednio, tworząc jeden lub więcej +pomocniczych obwodów, które stanowić będą "źródła" (części) dla biblioteki w +następujący sposób: Stworzyć arkusz płytki w formacie A4, w celu jej +późniejszego łatwego wydruku (w skali 1:1).</p></div> +<div class="paragraph"><p>Stworzenie footprintów, które biblioteka będzie zawierać na tej płytce. Sama +biblioteka zostania utworzona poprzez polecenie z menu głównego Pcbnew +<strong>Plik</strong> → <strong>Archiwizuj obudowy</strong> → <strong>Utwórz archiwum obudów</strong>.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_archive_footprints_menu.png" alt="images/pl/Pcbnew_archive_footprints_menu.png"> +</div> +</div> +<div class="paragraph"><p>"Prawdziwym" źródłem biblioteki będzie zatem dodatkowa płytka, a całość idei +polega na tym, by jakiekolwiek późniejsze zmiany footprintów wykonywać na +tej płytce. Oczywiście, może być też kilka obwodów zapisanych w tej samej +bibliotece.</p></div> +<div class="paragraph"><p>Generalnie dobrym pomysłem jest, aby utworzyć sobie różne biblioteki dla +różnych komponentów (złącza, elementy dyskretne,…), ponieważ Pcbnew jest w +stanie przeszukiwać wiele bibliotek podczas ładowania footprintów.</p></div> +<div class="paragraph"><p>Poniżej znajduje się przykład źródłowej biblioteki:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_example_library.png" alt="images/Pcbnew_example_library.png"> +</div> +</div> +<div class="paragraph"><p>Technika ta ma kilka zalet:</p></div> +<div class="ulist"><ul> +<li> +<p> +Układ może być wydrukowany w skali 1:1 i służyć jako papierowa dokumentacja + do biblioteki bez zbędnego wysiłku przy jej tworzeniu. +</p> +</li> +<li> +<p> +Przyszłe zmiany w Pcbnew mogą wymagać ponownego utworzenia bibliotek, coś co + można zrobić bardzo szybko, jeśli jako “źródła” były używane obwody + drukowane tego typu. Jest to o tyle ważne, że format pliku z obwodem + drukowanym jest gwarantowany tak by zapewnić wsteczną kompatybilność, co + wcale nie musi być praktykowane w przypadku formatu pliku biblioteki. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_zarzadzanie_bibliotekami_footprintow">12.11. Zarządzanie bibliotekami footprintów.</h3> +<div class="paragraph"><p>Lista bibliotek footprintów w Pcbnew może zostać zmieniona za pomocą +"Menedżera Bibliotek Footprintów". Pozwala on na manualne dodawanie i +usuwanie bibliotek, a także pozwala na uruchomienie "Kreatora Tabel +Biblitotek" za pomocą przycisku "Dodaj z pomocą kreatora".</p></div> +<div class="paragraph"><p>Kreator ten może zostać też uruchomiony bezpośrednio z menu "Ustawienia", i +może automatycznie dodawać biblioteki (wykrywając ich typ) z plików lub spod +adresu w repozytoriach GitHub. Adres oficjalnego repozytorium programu +KiCad: <a href="https://github.com/KiCad">https://github.com/KiCad</a></p></div> +<div class="paragraph"><p>Więcej informacji o tabelach bibliotek, Menadżerze bibliotek oraz Kreatorze +tabel bibliotek można znaleźć w dokumentacji do programu CvPcb w sekcji +<em>Tabele bibliotek footprintów</em>.</p></div> +</div> +<div class="sect2"> +<h3 id="_zarzadzanie_modelami_3d_footprintow">12.12. Zarządzanie modelami 3D footprintów.</h3> +<div class="paragraph"><p>Modele 3D mogą być pobrane z zewnętrznego repozytorium poprzez narzędzie +"Kreator pobierania plików modeli 3D". Może ono zostać uruchomione z menu +"Ustawienia → Pobieranie bibliotek modeli 3D".</p></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_edytor_footprintow_tworzenie_i_edycja_footprintow">13. Edytor Footprintów - Tworzenie i edycja footprintów</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_wprowadzenie_do_edytora_foorprintow">13.1. Wprowadzenie do Edytora foorprintów</h3> +<div class="paragraph"><p>Edytor ten jest używany do edycji i tworzenia footprintów. W skład jego +możliwości wchodzi:</p></div> +<div class="ulist"><ul> +<li> +<p> +Dodawanie oraz usuwanie pól lutowniczych. +</p> +</li> +<li> +<p> +Zmiana właściwości pól lutowniczych (kształt, warstwa) dla pojedynczych pól + lutowniczych lub globalnie dla wszystkich pól lutowniczych footprintu. +</p> +</li> +<li> +<p> +Edycja postaci graficznej (linie, tekst). +</p> +</li> +<li> +<p> +Edycja pól informacyjnych (wartość, odniesienie, itp.). +</p> +</li> +<li> +<p> +Edycja dołączonej dokumentacji (opis, słowa kluczowe). +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_podstawowe_elementy_footprintow">13.2. Podstawowe elementy footprintów</h3> +<div class="paragraph"><p>Footprint to nie tylko fizyczna reprezentacja elementu umieszczonego później +na płytce, lecz także i łącznik powiązany ze schematem. Każdy footprint +zawiera zwykle trzy różne, jednakże ważne elementy:</p></div> +<div class="ulist"><ul> +<li> +<p> +Pola lutownicze. +</p> +</li> +<li> +<p> +Kontury graficzne oraz powiązany z nimi tekst. +</p> +</li> +<li> +<p> +Pola tekstowe. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Dodatkowo, w przypadku używania funkcji automatycznego rozmieszczania +footprintów czy generowania plików położeń footprintów, wzrasta liczba +innych parametrów, które muszą zostać poprawnie określone (np. Pick&Place).</p></div> +<div class="sect3"> +<h4 id="_pola_lutownicze_pady">13.2.1. Pola lutownicze (Pady)</h4> +<div class="paragraph"><p>Dwa rodzaje właściwości pól lutowniczych są najważniejsze:</p></div> +<div class="ulist"><ul> +<li> +<p> +Geometria padu (kształt, obecność na warstwach, rozmiar wiercenia). +</p> +</li> +<li> +<p> +Numer padu, który jest złożony z maksymalnie czterech znaków. Wynika, z + tego, że nie tylko następujące numery pól lutowniczych są poprawne : <span class="monospaced">1</span>, + <span class="monospaced">9999</span>, lecz także <span class="monospaced">AA56</span> czy <span class="monospaced">ANOD</span>. Numer padu musi być identyczny z + odpowiadającym mu numerem pinu w symbolu na schemacie, ponieważ na podstawie + tej informacji Pcbnew łączy piny i pola lutownicze w module. +</p> +</li> +</ul></div> +</div> +<div class="sect3"> +<h4 id="_kontury_graficzne">13.2.2. Kontury graficzne</h4> +<div class="paragraph"><p>Graficzna reprezentacja konturów jest używana do rysowania fizycznego rzutu +jaki daje kształt realnego elementu. Do rysowania konturów dostępnych jest +kilka narzędzi graficznych: linie, okręgi, łuki i tekst. Kontury nie mają +jednak znaczenia elektrycznego - są po prostu pomocne w rozmieszczaniu +footprintów, tak aby nie nachodziły one na siebie.</p></div> +</div> +<div class="sect3"> +<h4 id="_pola_tekstowe">13.2.3. Pola tekstowe</h4> +<div class="paragraph"><p>Pola tekstowe to elementy tekstowe powiązane z footprintem. Dwa z nich są +obowiązkowe i zawsze są obecne: <em>Oznaczenie</em> i <em>Wartość</em>. Te dwa pola są +automatycznie odczytywane i aktualizowane przez Pcbnew gdy odczytywana jest +lista sieci podczas ładowania footprintów na płytkę. Pole <em>Oznaczenie</em> +otrzymuje odpowiednie odniesienie ze schematu (<span class="monospaced">U1</span>, <span class="monospaced">IC3</span>,…). Pole +<em>Wartość</em> otrzymuje zaś odpowiednią wartość przypisaną do symbolu na +schemacie (<span class="monospaced">47K</span>, <span class="monospaced">74LS02</span>,…). Mogą zostać dodane także inne pola; ale +będą się zachowywać one wtedy jak tekst graficzny.</p></div> +</div> +</div> +<div class="sect2"> +<h3 id="_uruchamianie_edytora_oraz_wybor_footprintu_w_celu_edycji">13.3. Uruchamianie edytora oraz wybór footprintu w celu edycji</h3> +<div class="paragraph"><p>Edytor Footprintów może zostać uruchomiony dwojako:</p></div> +<div class="ulist"><ul> +<li> +<p> +Bezpośrednio, za pomocą ikony <span class="image"> +<img src="images/icons/module_editor.png" alt="images/icons/module_editor.png"> +</span> na + głównym pasku narzędzi Pcbnew. Pozwala to na tworzenie i modyfikację + footprintu w bibliotece. +</p> +</li> +<li> +<p> +Klikając podwójnie na module na płytce i z okna dialogowego <em>Właściwości + footprintu</em> wybierając przycisk <em>Edytor footprintów</em>. Jeśli zostanie użyta + ta możliwość, footprint z płytki zostanie załadowany do edytora co umożliwi + jego bezpośrednią modyfikację (lub też zapis do biblioteki). +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_paski_narzedziowe_edytora_footprintow">13.4. Paski narzędziowe edytora footprintów</h3> +<div class="paragraph"><p>Wywołanie edytora spowoduje otwarcie nowego okna, którego wygląd przedstawia +następujący rysunek:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_main_window.png" alt="images/pl/Modedit_main_window.png"> +</div> +</div> +<div class="sect3"> +<h4 id="_prawy_pasek_narzedziowy_edycja_elementow_skadowych">13.4.1. Prawy pasek narzędziowy - edycja elementów składowych</h4> +<div class="paragraph"><p>Ten pasek narzędzi zawiera narzędzia do tworzenia elementów składowych +footprintów:</p></div> +<div class="ulist"><ul> +<li> +<p> +Wstawianie pól lutowniczych. +</p> +</li> +<li> +<p> +Dodawanie elementów graficznych (obrysy, tekst). +</p> +</li> +<li> +<p> +Ustawianie punktu zaczepienia footprintu. +</p> +</li> +<li> +<p> +Usuwanie elementów składowych footprintu. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Poszczególne narzędzia służą do:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:20%;"> +<col style="width:80%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/cursor.png" alt="images/icons/cursor.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Wyłączenie narzędzia.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/pad.png" alt="images/icons/pad.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Dodawania pól lutowniczych.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_polygon.png" alt="images/icons/add_polygon.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rysowania linii łamanych.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_circle.png" alt="images/icons/add_circle.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rysowania pełnych okręgów.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_arc.png" alt="images/icons/add_arc.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Rysowania wycinków okręgu.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/add_text.png" alt="images/icons/add_text.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Dodawania tekstu swobodnego (pola tekstowe <strong>nie są</strong> zarządzane tym narzędziem).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/anchor.png" alt="images/icons/anchor.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Position the module anchor.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/delete.png" alt="images/icons/delete.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Pozycjonowania punktu zaczepienia footprintu.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/grid_select_axis.png" alt="images/icons/grid_select_axis.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Ustawianie punktu zerowego siatki (przesunięcie siatki). Przydatne przy umieszczaniu pól lutowniczych. +Punkt zerowy siatki może być przesunięty na wybraną pozycję (na przykład w miejscu pierwszego pada), +a następnie można dostosować rozmiar siatki do rozstawu pól lutowniczych. W ten sposób umieszczanie +pól lutowniczych będzie znacznie ułatwione.</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect3"> +<h4 id="_lewy_pasek_narzedziowy_opcje_wyswietlania">13.4.2. Lewy pasek narzędziowy - opcje wyświetlania</h4> +<div class="paragraph"><p>Te opcje służą do zarządzania opcjami wyświetlania:</p></div> +<table class="tableblock frame-all grid-all" +style=" +width:100%; +"> +<col style="width:20%;"> +<col style="width:80%;"> +<tbody> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/grid.png" alt="images/icons/grid.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza/Wyłącza wyświetlanie siatki.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/polar_coord.png" alt="images/icons/polar_coord.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza/Wyłącza wyświetlanie współrzędnych względnych jako polarne.</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> <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">Przełącza pomiędzy używanymi jednostkami miar.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/cursor_shape.png" alt="images/icons/cursor_shape.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Przełącza rodzaj kursora (mały lub pełnoekranowy).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/pad_sketch.png" alt="images/icons/pad_sketch.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza wyświetlanie pól lutowniczych jako niewypełniony zarys.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/text_sketch.png" alt="images/icons/text_sketch.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza wyświetlanie tekstów jako niewypełniony zarys.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/show_mod_edge.png" alt="images/icons/show_mod_edge.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Włącza wyświetlanie konturów jako niewypełniony zarys.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="image"> +<img src="images/icons/contrast_mode.png" alt="images/icons/contrast_mode.png"> +</span></p></td> +<td class="tableblock halign-left valign-top" ><p class="tableblock">Przełącza widok w tryb wysokiego kontrastu.</p></td> +</tr> +</tbody> +</table> +</div> +</div> +<div class="sect2"> +<h3 id="_menu_podreczne">13.5. Menu podręczne</h3> +<div class="paragraph"><p>Prawy klawisz myszy wywołuje podręczne menu, którego zawartość zależna jest +od aktualnie wskazywanego elementu przez kursor:</p></div> +<div class="paragraph"><p>Menu podręczne z możliwością edycji parametrów footprintu:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_context_menu_module_parameters.png" alt="images/pl/Modedit_context_menu_module_parameters.png"> +</div> +</div> +<div class="paragraph"><p>Menu podręczne z możliwością edycji pól lutowniczych.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_context_menu_pads.png" alt="images/pl/Modedit_context_menu_pads.png"> +</div> +</div> +<div class="paragraph"><p>Menu podręczne z możliwością edycji elementów graficznych.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_context_menu_graphics.png" alt="images/pl/Modedit_context_menu_graphics.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_okno_wasciwosci_footprintu">13.6. Okno właściwości footprintu</h3> +<div class="paragraph"><p>To okno dialogowe może zostać uruchomione, gdy kursor znajdzie się nad +footprintem i zostanie wykorzystany prawy klawisz myszy do wywołania +polecenia <em>Edycja footprintu</em>.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Modedit_module_properties_dialog.png" alt="images/Modedit_module_properties_dialog.png"> +</div> +</div> +<div class="paragraph"><p>Opcje zawarte tutaj mogą zostać użyte do zdefiniowania głównych parametrów +footprintu.</p></div> +</div> +<div class="sect2"> +<h3 id="_tworzenie_nowych_footprintow">13.7. Tworzenie nowych footprintów</h3> +<div class="paragraph"><p>Narzędzie ukrywające się pod ikoną <span class="image"> +<img src="images/icons/new_footprint.png" alt="images/icons/new_footprint.png"> +</span> +pozwala na utworzenie nowego footprintu. Po wybraniu tego narzędzia, +użytkownik zostanie poproszony o podanie nazwy identyfikującej nowy +footprint w bibliotece.</p></div> +<div class="paragraph"><p>Nazwa ta będzie służyć także jako oznaczenie footprintu i zostanie +zastąpiona później na obwodzie drukowanym przez oznaczenie z listy sieci +(U1, IC3…).</p></div> +<div class="paragraph"><p>Aby nowy footprint był kompletny, będzie potrzebne również dodanie także +następujących elementów składowych footprintu:</p></div> +<div class="ulist"><ul> +<li> +<p> +Obrys footprintu (i tekst jeśli potrzeba). +</p> +</li> +<li> +<p> +Pola lutownicze. +</p> +</li> +<li> +<p> +Pole tekstowe <em>Wartość</em> (zawierające tekst, który będzie zastąpiony przez + prawdziwą wartość przypisaną z listy sieci). +</p> +</li> +</ul></div> +<div class="paragraph"><p>Metoda alternatywna:</p></div> +<div class="paragraph"><p>Gdy nowy footprint jest podobny do innego footprintu jaki istnieje w +bibliotece albo na płytce, można użyć szybszej metody tworzenia nowego +footprintu:</p></div> +<div class="ulist"><ul> +<li> +<p> +Załadować podobny footprint (korzystając z narzędzi + <span class="image"> +<img src="images/icons/load_module_lib.png" alt="images/icons/load_module_lib.png"> +</span>, + <span class="image"> +<img src="images/icons/load_module_board.png" alt="images/icons/load_module_board.png"> +</span>, lub + <span class="image"> +<img src="images/icons/import_module.png" alt="images/icons/import_module.png"> +</span>). +</p> +</li> +<li> +<p> +Zmodyfikować pole z nazwą identyfikacyjną, wpisując nową nazwę. +</p> +</li> +<li> +<p> +Dokonać edycji oraz zapisać nowy footprint. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_dodawanie_i_edycja_pol_lutowniczych">13.8. Dodawanie i edycja pól lutowniczych</h3> +<div class="paragraph"><p>Po stworzeniu zalążka footprintu, można będzie dodawać, usuwać lub +modyfikować pola lutownicze. Modyfikacja pól lutowniczych może obejmować +tylko aktualnie wybrany pole lutownicze, lub też obejmować wszystkie pola +lutownicze footprintu.</p></div> +<div class="sect3"> +<h4 id="_dodawanie_pola_lutowniczego">13.8.1. Dodawanie pola lutowniczego</h4> +<div class="paragraph"><p>Dodawanie pól lutowniczych jest aktywowane przez wybranie narzędzie +<span class="image"> +<img src="images/icons/pad.png" alt="Ikona Wstaw pole lutownicze"> +</span> na prawym pasku +narzędzi. Pola lutownicze można umieszczać w polu roboczym klikając w +miejscu gdzie taki pole lutownicze ma się znaleźć. Ich właściwości można +zdefiniować wcześniej za pomocą menu Właściwości pól lutowniczych.</p></div> +<div class="paragraph"><p>Należy pamiętać o wprowadzeniu numeru padu.</p></div> +</div> +<div class="sect3"> +<h4 id="_ustawianie_wasciwosci_pol_lutowniczych">13.8.2. Ustawianie właściwości pól lutowniczych</h4> +<div class="paragraph"><p>Ustawianie właściwości pól lutowniczych może odbywać się na trzy sposoby:</p></div> +<div class="ulist"><ul> +<li> +<p> +Można ustalić parametry pól lutowniczych wcześniej, wybierając narzędzie + <span class="image"> +<img src="images/icons/options_pad.png" alt="Ikona Właściwości pola lutowniczego"> +</span> z + głównego paska narzędzi edytora. +</p> +</li> +<li> +<p> +Klikając na istniejącym padzie, wybierając polecenie “Edytuj pole”. Można + wtedy zmodyfikować ustawienia tego jednego pola lutowniczego. +</p> +</li> +<li> +<p> +Klikając na istniejącym padzie, wybierając polecenie “Eksportuj ustawienia + pola lutowniczego”. W tym jednak przypadku, właściwości geometryczne + wybranego padu staną się domyślnymi właściwościami pól lutowniczych. +</p> +</li> +</ul></div> +<div class="paragraph"><p>W przypadku dwóch pierwszych sposobów edycji, wyświetlone zostanie +następujące okno dialogowe:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_pad_properties_dialog.png" alt="images/pl/Modedit_pad_properties_dialog.png"> +</div> +</div> +<div class="paragraph"><p>Należy zwrócić szczególną uwagę przy prawidłowym ustawieniu warstw do +których należeć będzie pole lutownicze. Choć warstwy miedzi są dość proste +do zdefiniowania, to zarządzanie warstwami technicznymi (maski lutowniczej, +pasty lutowniczej, itp…) jest równie ważne przy produkcji obwodów +elektronicznych i ich dokumentowaniu.</p></div> +<div class="paragraph"><p>Wybór jednej z opcji dostępnej w grupie <em>Typ pola</em> powoduje automatyczny +wybór warstw, która na ogół jest wystarczająca.</p></div> +<div class="sect4"> +<h5 id="_prostokatne_pola_lutownicze">Prostokątne pola lutownicze</h5> +<div class="paragraph"><p>Footprinty SMD typu VQFP/PQFP, które mają prostokątne pola lutownicze ze +wszystkich czterech stron, tj. zarówno w poziomie i pionie, zaleca się +używać tylko jednego kształtu (np. poziomy prostokąt) i umieszczać go pod +różnymi kierunkami (0 stopni dla poziomych i 90 stopni dla +pionowych). Globalne zmiany rozmiaru pól lutowniczych mogą być wtedy +wykonane za pomocą jednej operacji.</p></div> +</div> +<div class="sect4"> +<h5 id="_stosowanie_obrotu_pol">Stosowanie obrotu pól</h5> +<div class="paragraph"><p>Obracanie o -90 lub -180 stopni jest wymagane tylko dla pól lutowniczych +trapezoidalnych używanych w footprintach mikrofalowych.</p></div> +</div> +<div class="sect4"> +<h5 id="_uwaga_trzecia_pola_lutownicze_z_opcja_em_non_plated_em">Uwaga trzecia - Pola lutownicze z opcją <em>Non Plated</em></h5> +<div class="paragraph"><p>Pola lutownicze mogą zostać zdefiniowane jako <em>Non Plated Through Hole</em> +(pola lutownicze <em>NPTH</em>).</p></div> +<div class="paragraph"><p>Te pola lutownicze muszą zostać zdefiniowane na jednym lub wszystkich +warstwach miedzi (oczywiście, otwór w padzie będzie występował na wszystkich +warstwach miedzi).</p></div> +<div class="paragraph"><p>Wymóg ten pozwala na zdefiniowanie parametrów prześwitu (na przykład jako +prześwit dla śrub montażowych).</p></div> +<div class="paragraph"><p>Gdy otwór w padzie jest tego samego rozmiaru jak rozmiar padu w polach o +kształcie zaokrąglonym lub owalnym, to takie pole lutownicze NIE jest +rysowane na warstwach miedzi w plikach GERBER.</p></div> +<div class="paragraph"><p>Te pola lutownicze mają swoje przeznaczenie mechaniczne, jednak nie jest +dopuszczalne stosowanie nazw własnych lub nazw sieci dla takich pól +lutowniczych. Łączenie ich z sieciami jest niemożliwe.</p></div> +</div> +<div class="sect4"> +<h5 id="_uwaga_czwarta_pola_lutownicze_na_warstwach_technicznych">Uwaga czwarta - Pola lutownicze na warstwach technicznych</h5> +<div class="paragraph"><p>Te pola lutownicze zwykle nie są użyteczne. Opcja ta może być stosowana przy +tworzeniu markerów pozycjonujących (przy montażu automatycznym) lub masek na +warstwach technicznych.</p></div> +</div> +<div class="sect4"> +<h5 id="_parametr_przesuniecie_x_y">Parametr: Przesunięcie X (Y)</h5> +<div class="paragraph"><p>Pole lutownicze o numerze 3 posiada parametr Przesunięcie Y ustawione na +15mils.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Modedit_pad_offset_example.png" alt="images/Modedit_pad_offset_example.png"> +</div> +</div> +</div> +<div class="sect4"> +<h5 id="_parametr_nachylenie_pola_pola_trapezoidalne">Parametr: Nachylenie pola (pola trapezoidalne)</h5> +<div class="paragraph"><p>Pole lutownicze numer 1 posiada parametr Nachylenie ustawiony na 10mils.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Modedit_pad_delta_example.png" alt="images/Modedit_pad_delta_example.png"> +</div> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_ustawianie_przeswitu_masek_pasty_i_lutowniczej_dla_pol_lutowniczych">13.8.3. Ustawianie prześwitu masek pasty i lutowniczej dla pól lutowniczych</h4> +<div class="paragraph"><p>Wartości prześwitu mogą być ustawione na trzech poziomach:</p></div> +<div class="ulist"><ul> +<li> +<p> +Poziom globalny. +</p> +</li> +<li> +<p> +Na poziomie footprintów. +</p> +</li> +<li> +<p> +Na poziomie pól lutowniczych. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Pcbnew w takim przypadku korzysta z priorytetów ustawień i wartość +ostateczna jest brana z:</p></div> +<div class="ulist"><ul> +<li> +<p> +Wartości ustalonej dla pól lutowniczych. Jeśli jest zerowa to: +</p> +</li> +<li> +<p> +Z wartości ustalonej dla footprintu. Jeśli jest zerowa to: +</p> +</li> +<li> +<p> +Z wartości ustalonej globalnie. +</p> +</li> +</ul></div> +<div class="sect4"> +<h5 id="_uwagi">Uwagi</h5> +<div class="paragraph"><p>Wartość dla maski lutowniczej jest dodatnia, ponieważ maska lutownicza jest +zwykle większa niż pole lutownicze. Wartość dla maski pasty lutowniczej jest +ujemna ponieważ maska pasty lutowniczej jest zwykle mniejsza niż pole +lutownicze.</p></div> +</div> +<div class="sect4"> +<h5 id="_parametry_maski_pasty_lutowniczej">Parametry maski pasty lutowniczej</h5> +<div class="paragraph"><p>Są dwa parametry:</p></div> +<div class="ulist"><ul> +<li> +<p> +Wartość ustalona. +</p> +</li> +<li> +<p> +Procent rozmiaru pola lutowniczego. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Wartość realna jest sumą tych dwóch wartości.</p></div> +<div class="paragraph"><p>Ustawienia na poziomie footprintów</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_footprint_level_pad_settings.png" alt="images/pl/Modedit_footprint_level_pad_settings.png"> +</div> +</div> +<div class="paragraph"><p>Ustawienia na poziomie pól lutowniczych</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_pad_level_pad_settings.png" alt="images/pl/Modedit_pad_level_pad_settings.png"> +</div> +</div> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_wasciwosci_pol_tekstowych">13.9. Właściwości pól tekstowych</h3> +<div class="paragraph"><p>Każdy footprint posiada minimum dwa pola tekstowe: Oznaczenie i Wartość.</p></div> +<div class="paragraph"><p>Ich parametry (atrybuty, rozmiar, szerokość) muszą zostać +zaktualizowane. Dostęp do właściwości pól tekstowych zapewnia menu +podręczne, wywoływane przez podwójne kliknięcie prawym klawiszem na treści +pola, albo poprzez okno z właściwościami footprintu.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_footprint_text_properties.png" alt="images/pl/Modedit_footprint_text_properties.png"> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_automatyczne_rozmieszczanie_footprintow_2">13.10. Automatyczne rozmieszczanie footprintów</h3> +<div class="paragraph"><p>Jeśli użytkownik zechce wykorzystać w pełni możliwości funkcji +automatycznego rozmieszczania footprintów, konieczne jest określenie +dozwolonej orientacji footprintu (w oknie dialogowym Właściwości +footprintu).</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_module_autoplace_settings.png" alt="images/pl/Modedit_module_autoplace_settings.png"> +</div> +</div> +<div class="paragraph"><p>Zazwyczaj, obrót o 180 stopni jest dozwolony dla rezystorów, +niespolaryzowanych kondensatorów i innych elementów symetrycznych.</p></div> +<div class="paragraph"><p>Dla niektórych footprintów (na przykład dla małych tranzystorów) jest często +dozwolony obrót o +/-90 lub 180 stopni. Domyślnie, nowy footprint będzie +miał zezwolenie do obrotu ustawione na zero. Można to zmienić stosując +następującą zasadę:</p></div> +<div class="paragraph"><p>Wartość 0 powoduje że obrót jest niemożliwy, wartość 10 pozwala na pełny +obrót, a wszystkie pośrednie wartości, stanowią blokady obrotu. Na przykład, +rezystor może mieć zezwolenie na poziomie 10 do obrotu o 180 stopni +(nieograniczone) i zgodę na poziomie 5 do obrotu o +/- 90 stopni (dozwolone, +ale niezalecane).</p></div> +</div> +<div class="sect2"> +<h3 id="_atrybuty">13.11. Atrybuty</h3> +<div class="paragraph"><p>Sekcja atrybutów jest następująca:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_module_attributes.png" alt="images/pl/Modedit_module_attributes.png"> +</div> +</div> +<div class="ulist"><ul> +<li> +<p> +<strong>Normalny</strong> to standardowy atrybut dla elementów przewlekanych. +</p> +</li> +<li> +<p> +<strong>Normalny+Wstawianie</strong> oznacza, że ten element musi zostać umieszczony w + pliku położeń footprintów (dla automatów montażowych). Ten atrybut jest + zwykle używany przy elementach przeznaczonych do montażu powierzchniowego + (SMD). +</p> +</li> +<li> +<p> +<strong>Wirtualny</strong> oznacza, że ten element jest bezpośrednio tworzony na + płytce. Przykładem może być złącze krawędziowe lub też cewki płaskie + tworzone bezpośrednio ze ścieżek (spotykane czasem w footprintach + mikrofalowych). +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_dokumentowanie_bibliotek_footprintow">13.12. Dokumentowanie bibliotek footprintów</h3> +<div class="paragraph"><p>Zaleca się dokumentować footprinty, które zostały utworzone, w celu +umożliwienia szybkiego i bezbłędnego ich wyszukiwania. Na przykład, ile osób +jest w stanie zapamiętać wszystkie warianty wyprowadzeń obudowy TO92?</p></div> +<div class="paragraph"><p>Okno dialogowe "Właściwości footprintu" oferuje proste rozwiązanie tego +problemu.</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_module_properties_documentation_fields.png" alt="images/pl/Modedit_module_properties_documentation_fields.png"> +</div> +</div> +<div class="paragraph"><p>Pozwala ono na wprowadzenie:</p></div> +<div class="ulist"><ul> +<li> +<p> +Jednoliniowego tekstu z opisem footprintu; +</p> +</li> +<li> +<p> +Słowa kluczowe. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Opis footprintu jest wyświetlany przez CvPcb na dolnym pasku oraz w Pcbnew w +oknie z wyborem footprintu na dolnym panelu. Słowa kluczowe pozwalają na +szczegółowe wyszukiwanie footprintów pasujących do określonych słów.</p></div> +<div class="paragraph"><p>Podczas bezpośredniego wczytywania footprintów w Pcbnew (ikona na prawym +pasku narzędzi) można użyć słów kluczowych w otwierającym się wtedy oknie +dialogowym. Wpisując na przykład tekst <span class="monospaced">=TO220</span> spowoduje, że na liście +pojawią się footprinty, których słowa kluczowe zawierają słowo <span class="monospaced">TO220</span>.</p></div> +</div> +<div class="sect2"> +<h3 id="_wizualizacja_w_przestrzeni_3d">13.13. Wizualizacja w przestrzeni 3D</h3> +<div class="paragraph"><p>Footprintowi można przypisać plik (lub pliki) zawierające reprezentację 3D +odpowiadającą realnemu komponentowi. W celu włączenia takiego pliku do +footprintu, wybierz zakładkę "Ustawienia 3D" we właściwościach +footprintu. Panel zarządzający ustawieniami 3D wygląda w ten sposób:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_module_3d_options.png" alt="images/pl/Modedit_module_3d_options.png"> +</div> +</div> +<div class="paragraph"><p>Aby przydzielić footprintowi jego reprezentację 3D należy określić:</p></div> +<div class="ulist"><ul> +<li> +<p> +Plik zawierający model 3D (stworzony przez narzędzie do modelowania 3D + Wings3d, w formacie VRML, za pomocą polecenia eksportu do VRML). +</p> +</li> +<li> +<p> +Domyślną ścieżką dla modeli 3D jest <span class="monospaced">kicad/modules/package3d</span> zawartą w + zmiennej systemowej <span class="monospaced">KISYS3DMOD</span>. W tym przykładzie, plik nazywa się + <span class="monospaced">discret/to_220horiz.wrl</span>, używający domyślnej ścieżki początkowej). +</p> +</li> +<li> +<p> +Skalę modelu w trzech osiach : X, Y oraz Z. +</p> +</li> +<li> +<p> +Przesunięcie modelu względem punktu zaczepienia footprintu (zwykle wartość + jest równa zero). +</p> +</li> +<li> +<p> +Początkowy obrót modelu 3D w każdej osi (zwykle wartości jest równa zero). +</p> +</li> +</ul></div> +<div class="paragraph"><p>Ustawienie skali modelu pozwala na:</p></div> +<div class="ulist"><ul> +<li> +<p> +Użycie tych samych plików z modelem 3D dla footprintów, które posiadają + podobne kształty ale różnią się rozmiarem (np. Rezystory, kondensatory, + elementy SMD…) +</p> +</li> +<li> +<p> +Dla małych (lub bardzo dużych) obudów, lepszym rozwiązaniem jest użycie + siatki Wings3D: Skala 1:1 to 0.1cala w Pcbnew i równa się 1 jednostce siatki + w Wings3D. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Jeśli plik(i) z modelem zostaną określone, możliwe stanie się przeglądanie +komponentów w przestrzeni 3D:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Modedit_footprint_3d_preview.png" alt="images/pl/Modedit_footprint_3d_preview.png"> +</div> +</div> +<div class="paragraph"><p>Model 3D automatycznie pojawi się także podczas wizualizacji PCB w trybie +3D.</p></div> +</div> +<div class="sect2"> +<h3 id="_zapis_footprintu_w_aktywnej_bibliotece">13.14. Zapis footprintu w aktywnej bibliotece</h3> +<div class="paragraph"><p>Operacja zapisu footprintu (modyfikująca plik aktywnej biblioteki) jest +przeprowadzana za pomocą polecenia <em>Zapisz</em> +<span class="image"> +<img src="images/icons/save_library.png" alt="images/icons/save_library.png"> +</span>.</p></div> +<div class="paragraph"><p>Jeśli footprint o tej samej nazwie już istnieje, zostanie on +zastąpiony. Ponieważ tworzone obwody drukowane będą zależeć od dokładności +footprintów w bibliotece, warto przed zapisaniem footprintu dwukrotnie +sprawdzić nowy footprint przed jego zapisem.</p></div> +<div class="paragraph"><p>Zalecane jest również, dokonanie edycji pól z nazwą footprintu, będących +jego identyfikatorem w bibliotece.</p></div> +</div> +<div class="sect2"> +<h3 id="_zapis_footprintu_na_pytce">13.15. Zapis footprintu na płytce</h3> +<div class="paragraph"><p>Jeśli edytowany footprint pochodził z bieżącej płytki, należy go uaktualnić +za pomocą polecenia <em>Uaktualnij footprint</em> +<span class="image"> +<img src="images/icons/update_module_board.png" alt="Ikona Aktualizuj footprint na płytce"> +</span> znajdującym się na górnym pasku narzędzi.</p></div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_zaawansowane_narzedzia_do_rozmieszczania_elementow">14. Zaawansowane narzędzia do rozmieszczania elementów</h2> +<div class="sectionbody"> +<div class="paragraph"><p>Oprócz podstawowych narzędzi do rozmieszczania elementów, Pcbnew (jak i +Edytor Footprintów) posiada kilka zaawansowanych narzędzi, które mogą pomóc +przy tworzeniu układu płytki.</p></div> +<div class="sect2"> +<h3 id="_powielanie_elementow">14.1. Powielanie elementów</h3> +<div class="paragraph"><p>Powielanie elementów to metoda polegająca na klonowaniu elementu i wykonaniu +dla niego tej samej akcji. Proces ten jest zasadniczo podobny do prostej +metody kopiuj-wklej, ale pozwala na łatwiejsze rozmieszczanie komponentów na +PCB i umożliwia dokładniejsze, choć nadal ręczne ich ułożenie za pomocą +narzędzia <strong>Przesuń dokładnie</strong> (patrz niżej).</p></div> +<div class="paragraph"><p>Powielanie jest wykonywane gdy użyje się skrótu klawiszowego (domyślnie jest +to <strong>Ctrl-D</strong>) lub z pomocą poleceń w menu kontekstowym. W zwykłym trybie +wyświetlania dostępne są następujące polecenia, w zależności od wybranego +elementu:</p></div> +<div class="paragraph"><p><span class="image"> +<img src="images/icons/duplicate_pad.png" alt="images/icons/duplicate_pad.png"> +</span> +<span class="image"> +<img src="images/icons/duplicate_line.png" alt="images/icons/duplicate_line.png"> +</span> +<span class="image"> +<img src="images/icons/duplicate_text.png" alt="images/icons/duplicate_text.png"> +</span> +<span class="image"> +<img src="images/icons/duplicate_module.png" alt="images/icons/duplicate_module.png"> +</span> +<span class="image"> +<img src="images/icons/duplicate_target.png" alt="images/icons/duplicate_target.png"> +</span> +<span class="image"> +<img src="images/icons/duplicate_zone.png" alt="images/icons/duplicate_zone.png"> +</span></p></div> +</div> +<div class="sect2"> +<h3 id="_przesuwanie_dokadne">14.2. Przesuwanie dokładne</h3> +<div class="paragraph"><p>Narzędzie "Przesuń dokładnie" pozwala przenieść element (lub grupę +elementów) o podany wektor, który może być wprowadzony za pomocą +współrzędnych kartezjańskich lub polarnych i może być wprowadzony w +jakichkolwiek obsługiwanych jednostkach. Takie podejście jest bardzo +przydatne, w przeciwnym wypadku kłopotliwe byłoby przełączanie się pomiędzy +jednostkami lub gdy funkcja wymagałaby rozmieszczania według z góry +ustalonej siatki.</p></div> +<div class="paragraph"><p>Aby skorzystać z tego narzędzia, należy wybrać elementy, które mają zostać +przemieszczone a następnie użyć klawisza skrótu (domyślnie <em>Ctrl-M</em>) lub +odpowiednich pozycji z menu kontekstowego, by wywołać poniższe okno +dialogowe. Okno dialogowe można też wywołać przyciskiem szybkiego dostępu, +które przesuwa lub powiela elementy, przy których można łatwo wprowadzić +powtarzające się przesunięcie przy komponentach wielokrotnych.</p></div> +<div class="paragraph"><p>Przesuwanie z możliwością wprowadzania współrzędnych kartezjańskich</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_move_exact_cartesian.png" alt="images/pl/Pcbnew_move_exact_cartesian.png"> +</div> +</div> +<div class="paragraph"><p>Przesuwanie z możliwością wprowadzania współrzędnych polarnych</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_move_exact_polar.png" alt="images/pl/Pcbnew_move_exact_polar.png"> +</div> +</div> +<div class="paragraph"><p>Zmiana pomiędzy systemem kartezjańskim a polarnym odbywa się przez +zaznaczenie pola opcji. Niezależnie jak obecnie są one wprowadzone, zostaną +one automatycznie przeliczone w innym systemie.</p></div> +<div class="paragraph"><p>Następnie należy wprowadzić wektor przesunięcia. Można użyć jednostek +wskazanych przez opisy pól (na powyższej ilustracji jest to “mm”) lub +określić własne jednostki (np. “1 in” dla cali, “2 rad” dla 2 radianów).</p></div> +<div class="paragraph"><p>Wciskając <strong>OK</strong> przesunięcie zostanie zaaplikowane dla obecnego wyboru, zaś +przycisk <strong>Anuluj</strong> spowoduje zaniechanie akcji i elementy nie zostaną +przesunięte. Jeśli wciśnięto <strong>OK</strong> wartości przesunięć zostaną zapamiętane i +przy powtórzeniu operacji przesuwania następne elementy zostaną przesunięte +o ten sam wektor.</p></div> +</div> +<div class="sect2"> +<h3 id="_tworzenie_szyku">14.3. Tworzenie szyku</h3> +<div class="paragraph"><p>Zarówno Pcbnew jak i Edytor footprintów posiadają specjalne narzędzie +asystujące przy tworzeniu szyku elementów, mogące zostać wykorzystane do +prostego, i dokładnego planowania powtarzalnych elementów w obwodach +drukowanych oraz footprintach.</p></div> +<div class="sect3"> +<h4 id="_aktywacja_narzedzia_do_utworzenia_szyku">14.3.1. Aktywacja narzędzia do utworzenia szyku</h4> +<div class="paragraph"><p>Narzędzie do tworzenia szyku operuje na elementach znajdujących się w +miejscu kursora, lub, w przypadku trybu GAL, na zaznaczeniu. Dostęp do niego +jest możliwy poprzez menu podręczne w przypadku zaznaczenia lub przez skrót +klawiszowy (domyślnie <strong>Ctrl-N</strong>). W widoku normalnym, menu podręczne pozwala +na tworzenie szyku dla następujących elementów:</p></div> +<div class="paragraph"><p><span class="image"> +<img src="images/icons/array_pad.png" alt="images/icons/array_pad.png"> +</span> <span class="image"> +<img src="images/icons/array_line.png" alt="images/icons/array_line.png"> +</span> +<span class="image"> +<img src="images/icons/array_text.png" alt="images/icons/array_text.png"> +</span> <span class="image"> +<img src="images/icons/array_module.png" alt="images/icons/array_module.png"> +</span> +<span class="image"> +<img src="images/icons/array_target.png" alt="images/icons/array_target.png"> +</span> <span class="image"> +<img src="images/icons/array_zone.png" alt="images/icons/array_zone.png"> +</span></p></div> +<div class="paragraph"><p>Narzędzie do tworzenia szyku ma swoje okno dialogowe, z zakładkami gdzie +można wybrać odpowiedni szyk dla danego zadania. Obecnie są wspierane tylko +dwie opcje szyku: szyk kwadratowy oraz szyk opisany po okręgu.</p></div> +<div class="paragraph"><p>Oba typy szyku mogą zostać w pełni skonfigurowane poprzez własne +zakładki. Opcje geometrii (sposób w jaki szyk będzie tworzony) znajduje się +po lewej stronie; opcje numeracji zaś (pozwalające ustalić bieg numeracji w +szyku) znajduje się po prawej stronie.</p></div> +</div> +<div class="sect3"> +<h4 id="_szyk_kwadratowy">14.3.2. Szyk kwadratowy</h4> +<div class="paragraph"><p>Szyk kwadratowy stanowi tablicę, w której poszczególne elementy leżą na +2-wymiarowej siatce. Ten rodzaj tablicy może również generować układ liniowy +jeśli określono wyłącznie liczbę wierszy lub kolumn.</p></div> +<div class="paragraph"><p>Ustawienia dla szyku kwadratowego są następujące:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_array_dialog_grid.png" alt="images/pl/Pcbnew_array_dialog_grid.png"> +</div> +</div> +<div class="sect4"> +<h5 id="_opcje_geometrii">Opcje geometrii</h5> +<div class="paragraph"><p>Opcje związane z geometrią szyku są następujące:</p></div> +<div class="ulist"><ul> +<li> +<p> +<strong>Licznik poziomo</strong>: liczba kolumn w szyku. +</p> +</li> +<li> +<p> +<strong>Licznik pionowo</strong>: liczba rzędów w szyku. +</p> +</li> +<li> +<p> +<strong>Rozstaw poziomo</strong>: odległość pomiędzy poszczególnymi elementami w linii poziomej. + Jeśli jest ujemny to szyk jest układany od prawej do lewej. +</p> +</li> +<li> +<p> +<strong>Rozstaw pionowo</strong>: odległość pomiędzy poszczególnymi elementami w linii pionowej. + Jeśli jest ujemny to szyk jest układany od dołu do góry. +</p> +</li> +<li> +<p> +<strong>Przesunięcie poziomo</strong>: rozpoczyna każdy rząd z takim przesunięciem względem poprzedniego +</p> +</li> +<li> +<p> +<strong>Przesunięcie pionowo</strong>: rozpoczyna każdą kolumnę z takim przesunięciem względem poprzedniego elementu. +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_array_grid_offsets.png" alt="images/Pcbnew_array_grid_offsets.png"> +</div> +<div class="title">Rysunek 1. Szyk 3x3 z przesunięciem x oraz y</div> +</div> +<div class="ulist"><ul> +<li> +<p> +<strong>Przeplot</strong>: dodaj przesunięcie do każdej “n”-tej kolumny lub rzędu, + z postępem co “1/n”-tą, odnosząc się do pełnego wymiaru: +</p> +</li> +</ul></div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_array_grid_stagger_rows_2.png" alt="images/Pcbnew_array_grid_stagger_rows_2.png"> +</div> +<div class="title">Rysunek 2. Szyk 3x3 z przeplotem w rzędzie wynoszącym 2</div> +</div> +<div class="imageblock"> +<div class="content"> +<img src="images/Pcbnew_array_grid_stagger_cols_3.png" alt="images/Pcbnew_array_grid_stagger_cols_3.png"> +</div> +<div class="title">Rysunek 3. Szyk 4x3 z przeplotem w kolumnie wynoszącym 3</div> +</div> +</div> +<div class="sect4"> +<h5 id="_opcje_numeracji">Opcje numeracji</h5> +<div class="ulist"><ul> +<li> +<p> +<strong>Kierunek numeracji szyku</strong>: Określa, czy numeracja ma iść wzdłuż rzędów, a następnie + przenosić się do następnego wiersza, czy iść wzdłuż kolumny, a następnie przenosić się + w dół do następnej kolumny. Należy zauważyć, że kierunek numeracji jest określony przez + znak w polu <strong>Rozstaw</strong>: ujemny odstęp spowoduje numerowanie od prawej do lewej, + albo z dołu do góry. +</p> +</li> +<li> +<p> +<strong>Odwrotna numeracja przy zmianie rzędu/kolumny</strong>: Jeśli opcja ta jest zaznaczona, + kierunek numeracji (na przykład lewo-na-prawo lub prawo-na-lewo) zmienia się + przy zmianie rzędu lub kolumny. Opcja ta jest przydatna w przypadku projektowania + obudów typu DIP, gdzie numeracja zwiększa się po jednej stronie, a zmniejsza po przeciwnej. +</p> +</li> +<li> +<p> +<strong>Restart numeracji</strong>: gdy tworzony jest szyk z elementów ponumerowanych, + numeracja jest resetowana, w przeciwnym wypadku o ile to możliwe jest + kontynuowana wobec ostatniego elementu. +</p> +</li> +<li> +<p> +<strong>Schemat numeracji</strong> +</p> +<div class="ulist"><ul> +<li> +<p> +<strong>Ciągła</strong>: numeracja jest kontynuowana pomiędzy poszczególnymi rzędami/kolumnami +</p> +<div class="ulist"><ul> +<li> +<p> +jeśli ostatnim elementem w pierwszym rzędzie był element z numerem <em>7</em>, wtedy +pierwszy element w następnym rzędzie będzie miał numer <em>8</em>. +</p> +</li> +</ul></div> +</li> +<li> +<p> +<strong>Według osi szyku</strong>: numeracja używa obu osi, gdzie numer jest składany z indeksu +w poszczególnych osiach. Który indeks będzie pierwszy (rząd lub kolumna) jest określane +na podstawie kierunku numeracji. +</p> +</li> +</ul></div> +</li> +<li> +<p> +<strong>Schemat numeracji</strong>: określa jakiego "alfabetu" należy użyć przy numerowaniu w danej osi. Dostępne opcje to: +</p> +<div class="ulist"><ul> +<li> +<p> +<strong>Numeryczny</strong> dla normalnych liczb całkowitych +</p> +</li> +<li> +<p> +<strong>Heksadecymalny</strong> dla liczb o podstawie 16 +</p> +</li> +<li> +<p> +<strong>Alfabetycznie, oprócz IOSQXZ</strong>, domyślny schemat numeracji dla elementów elektronicznych, +rekomendowany przez ASME Y14.35M-1997 sekcja 5.2 (poprzednio MIL-STD-100 sekcja 406.5) +by wykluczyć podobieństwo do zwykłych cyfr, +</p> +</li> +<li> +<p> +<strong>Alfabetyczny, pełne 26 znaków</strong> od A do Z. +</p> +</li> +</ul></div> +</li> +</ul></div> +</div> +</div> +<div class="sect3"> +<h4 id="_szyk_opisany_po_okregu">14.3.3. Szyk opisany po okręgu</h4> +<div class="paragraph"><p>Szyk opisany po okręgu rozmieszcza elementy wokół tworząc koło. Promień +okręgu jest domyślnie określony przez położenie wybranego elementu (lub +względem centrum wybranej grupy) a punkt centralny poprzez wprowadzone +wartości. Poniżej znajduje się okno dialogowe tego narzędzia:</p></div> +<div class="imageblock"> +<div class="content"> +<img src="images/pl/Pcbnew_array_dialog_circular.png" alt="images/pl/Pcbnew_array_dialog_circular.png"> +</div> +</div> +<div class="sect4"> +<h5 id="_opcje_geometrii_2">Opcje geometrii</h5> +<div class="ulist"><ul> +<li> +<p> +<strong>Środek X</strong>, <strong>Środek Y</strong>: Punkt centralny okręgu. Promień zostanie + rozpychanie i omijanie sąsiednich elementów na płytce, które kolidują ze ścieżką jaka aktualnie jest prowadzona. +</p> +</li> +<li> +<p> +<strong>Kąt:</strong> Różnica położenia pomiędzy dwoma sąsiednimi elementami w szyku. + By podzielić okrąg na tyle części ile wskazuje pole Ilość, należy wpisać zero. +</p> +</li> +<li> +<p> +<strong>Ilość:</strong> Liczba elementów w szyku (razem z elementem oryginalnym). +</p> +</li> +<li> +<p> +<strong>Obrót:</strong> Obrót elementu wobec własnej osi. W przeciwnym wypadku + elementy zostaną wyłącznie przesunięte zachowując swój własny obrót + (na przykład, prostokątne pole pozostanie zawsze w tej samej orientacji + jeśli ta wartość nie zostanie ustawiona). +</p> +</li> +</ul></div> +</div> +<div class="sect4"> +<h5 id="_opcje_numeracji_2">Opcje numeracji</h5> +<div class="paragraph"><p>Szyk opisany po okręgu posiada tylko jeden wymiar i jest prostszy w +zastosowaniu niż szyk kwadratowy. Znaczenie poszczególnych opcji jest to +samo dla obu typów szyku. Elementy są numerowane zgodnie z ruchem wskazówek +zegara - dla numeracji w przeciwnym kierunku należy wpisać wartość ujemną +kąta.</p></div> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_skrypty_w_programie_kicad">15. Skrypty w programie KiCad</h2> +<div class="sectionbody"> +<div class="paragraph"><p>Skrypty pozwalają na zautomatyzowanie niektórych zadań wykonywanych w +programie KiCad używając do tego celu języka +<a href="https://www.python.org/">Python</a>.</p></div> +<div class="paragraph"><p>By dowiedzieć się więcej o zastosowanych funkcjach można przejrzeć +dokumentację <strong>doxygen</strong> dostępną pod adresem +<a href="http://ci.kicad-pcb.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/index.html">Python +Scripting Reference</a>.</p></div> +<div class="paragraph"><p>Można również uzyskać pomoc wpisując polecenie <span class="monospaced">pydoc pcbnew</span> w oknie +terminala.</p></div> +<div class="paragraph"><p>Używając skryptów można stworzyć:</p></div> +<div class="ulist"><ul> +<li> +<p> +<strong>Wtyczki</strong>: ten typ skryptów jest ładowany podczas uruchamiania programu KiCad. Przykłady: +</p> +<div class="ulist"><ul> +<li> +<p> +Kreatory Footprintów: pozwalające w prosty sposób tworzyć footprinty za pomocą określenia tylko kilku parametrów. Ten typ wtyczek został opisany w rozdziale <a href="#Footprint_Wizards">Kreatory Footprintów</a>. +</p> +</li> +<li> +<p> +<strong>Obsługa plików</strong> <em>(w planach)</em>: pozwalające na dołączenie specjalnego kodu do eksportu/importu innych typów plików +</p> +</li> +<li> +<p> +<strong>Polecenia</strong> <em>(w planach)</em>: pozwalające na przyporządkowanie określonych zdarzeń do zadań skryptowych, rejestrowania nowych poleceń w menu lub na paskach narzędziowych. +</p> +</li> +</ul></div> +</li> +<li> +<p> +<strong>Skrypty z linii poleceń</strong>: skrypty które można użyć w linii poleceń, ładujące obwody drukowane lub biblioteki, modyfikujące je oraz generujące nowe pliki lub nowe obwody (np. panelizacja płytek). +</p> +</li> +</ul></div> +<div class="paragraph"><p>Należy nadmienić, że jedyną aplikacją programu KiCad, która wspiera język +skryptowy Python jest obecnie Pcbnew. Planowane jest jednak wprowadzenie +języka skryptowego także do Eeschema.</p></div> +<div class="sect2"> +<h3 id="_obiekty_w_programie_kicad">15.1. Obiekty w programie KiCad</h3> +<div class="paragraph"><p>API skryptów odzwierciedla strukturę wewnętrznych obiektów wewnątrz programu +KiCad/Pcbnew. BOARD to obiekt nadrzędny, który posiada zestaw kolejnych +obiektów podrzędnych: MODULE, TRACK/VIA, TEXTE_PCB, DIMENSION, DRAWSEGMENT +oraz właściwości. Każdy obiekt podrzędny posiada kolejne obiekty. Na +przykład MODULE posiada D_PAD, EDGE, itp.</p></div> +<div class="ulist"><ul> +<li> +<p> +Zobacz sekcję o obiekcie BOARD. +</p> +</li> +</ul></div> +</div> +<div class="sect2"> +<h3 id="_opis_podstawowego_api">15.2. Opis podstawowego API</h3> +<div class="paragraph"><p>Wszystkie elementy API języka Python w Pcbnew są dostępne poprzez moduł +"pcbnew". Metoda <span class="monospaced">GetBoard()</span> zwraca bieżącą płytkę otwartą w edytorze, +przydatną dla poleceń wpisywanych przez zintegrowaną powłokę skryptów +wewnątrz Pcbnew lub dla działania wtyczek.</p></div> +</div> +<div class="sect2"> +<h3 id="_adowanie_i_zapisywanie_pytki">15.3. Ładowanie i zapisywanie płytki</h3> +<div class="ulist"><ul> +<li> +<p> +<strong>LoadBoard(filename):</strong> + ładuje płytkę z podanego pliku i zwraca obiekt BOARD, z użyciem formatu pliku, który odpowiada rozszerzeniu pliku. +</p> +</li> +<li> +<p> +<strong>SaveBoard(filename,board):</strong> + zapisuje obiekt BOARD do pliku, z użyciem formatu pliku, który odpowiada rozszerzeniu pliku. +</p> +</li> +<li> +<p> +<strong>board.Save(filename):</strong> + to samo co wyżej, ale jest to metoda z obiektu BOARD. +</p> +</li> +</ul></div> +<div class="listingblock"> +<div class="title">Przykład wczytywania płytki, ukrywania wartości, pokazania wszystkich odnośników</div> +<div class="content"><!-- Generator: GNU source-highlight 3.1.7 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-style: italic"><span style="color: #9A1900">#!/usr/bin/env python2.7</span></span> +<span style="font-weight: bold"><span style="color: #000080">import</span></span> sys +<span style="font-weight: bold"><span style="color: #000080">from</span></span> pcbnew <span style="font-weight: bold"><span style="color: #000080">import</span></span> <span style="color: #990000">*</span> + +filename<span style="color: #990000">=</span>sys<span style="color: #990000">.</span>argv<span style="color: #990000">[</span><span style="color: #993399">1</span><span style="color: #990000">]</span> + +pcb <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">LoadBoard</span></span><span style="color: #990000">(</span>filename<span style="color: #990000">)</span> +<span style="font-weight: bold"><span style="color: #0000FF">for</span></span> module <span style="font-weight: bold"><span style="color: #0000FF">in</span></span> pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetModules</span></span><span style="color: #990000">():</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"* Module: %s"</span><span style="color: #990000">%</span>module<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetReference</span></span><span style="color: #990000">()</span> + module<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Value</span></span><span style="color: #990000">().</span><span style="font-weight: bold"><span style="color: #000000">SetVisible</span></span><span style="color: #990000">(</span>False<span style="color: #990000">)</span> <span style="font-style: italic"><span style="color: #9A1900"># set Value as Hidden</span></span> + module<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Reference</span></span><span style="color: #990000">().</span><span style="font-weight: bold"><span style="color: #000000">SetVisible</span></span><span style="color: #990000">(</span>True<span style="color: #990000">)</span> <span style="font-style: italic"><span style="color: #9A1900"># set Reference as Visible</span></span> + +pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Save</span></span><span style="color: #990000">(</span><span style="color: #FF0000">"mod_"</span><span style="color: #990000">+</span>filename<span style="color: #990000">)</span></tt></pre></div></div> +</div> +<div class="sect2"> +<h3 id="_listownie_i_wczytywanie_bibliotek">15.4. Listownie i wczytywanie bibliotek</h3> +<div class="listingblock"> +<div class="title">Wyliczanie bibliotek, wyliczanie footprintów, wyliczanie pól lutowniczych</div> +<div class="content"><!-- Generator: GNU source-highlight 3.1.7 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-style: italic"><span style="color: #9A1900">#!/usr/bin/python</span></span> + +<span style="font-weight: bold"><span style="color: #000080">from</span></span> pcbnew <span style="font-weight: bold"><span style="color: #000080">import</span></span> <span style="color: #990000">*</span> + +libpath <span style="color: #990000">=</span> <span style="color: #FF0000">"/usr/share/kicad/modules/Sockets.pretty"</span> +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">">> enumerate footprints, pads of"</span><span style="color: #990000">,</span>libpath + +<span style="font-style: italic"><span style="color: #9A1900"># Load the suitable plugin to read/write the .pretty library</span></span> +<span style="font-style: italic"><span style="color: #9A1900"># (containing the .kicad_mod footprint files)</span></span> +src_type <span style="color: #990000">=</span> IO_MGR<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GuessPluginTypeFromLibPath</span></span><span style="color: #990000">(</span> libpath <span style="color: #990000">);</span> +<span style="font-style: italic"><span style="color: #9A1900"># Rem: we can force the plugin type by using IO_MGR.PluginFind( IO_MGR.KICAD )</span></span> +plugin <span style="color: #990000">=</span> IO_MGR<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">PluginFind</span></span><span style="color: #990000">(</span> src_type <span style="color: #990000">)</span> + +<span style="font-style: italic"><span style="color: #9A1900"># Print plugin type name: (Expecting "KiCad" for a .pretty library)</span></span> +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Selected plugin type: %s"</span> <span style="color: #990000">%</span> plugin<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">PluginName</span></span><span style="color: #990000">()</span> <span style="color: #990000">)</span> + +list_of_footprints <span style="color: #990000">=</span> plugin<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">FootprintEnumerate</span></span><span style="color: #990000">(</span>libpath<span style="color: #990000">)</span> + +<span style="font-weight: bold"><span style="color: #0000FF">for</span></span> name <span style="font-weight: bold"><span style="color: #0000FF">in</span></span> list_of_footprints<span style="color: #990000">:</span> + fp <span style="color: #990000">=</span> plugin<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">FootprintLoad</span></span><span style="color: #990000">(</span>libpath<span style="color: #990000">,</span>name<span style="color: #990000">)</span> + <span style="font-style: italic"><span style="color: #9A1900"># print the short name of the footprint</span></span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> name <span style="font-style: italic"><span style="color: #9A1900"># this is the name inside the loaded library</span></span> + <span style="font-style: italic"><span style="color: #9A1900"># followed by ref field, value field, and decription string:</span></span> + <span style="font-style: italic"><span style="color: #9A1900"># Remember ref and value texts are dummy texts, replaced by the schematic values</span></span> + <span style="font-style: italic"><span style="color: #9A1900"># when reading a netlist.</span></span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">" ->"</span><span style="color: #990000">,</span> fp<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetReference</span></span><span style="color: #990000">(),</span> fp<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetValue</span></span><span style="color: #990000">(),</span> fp<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetDescription</span></span><span style="color: #990000">()</span> + + <span style="font-style: italic"><span style="color: #9A1900"># print pad info: GetPos0() is the pad position relative to the footrint position</span></span> + <span style="font-weight: bold"><span style="color: #0000FF">for</span></span> pad <span style="font-weight: bold"><span style="color: #0000FF">in</span></span> fp<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Pads</span></span><span style="color: #990000">():</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">" pad [%s]"</span> <span style="color: #990000">%</span> pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetPadName</span></span><span style="color: #990000">(),</span> <span style="color: #FF0000">"at"</span><span style="color: #990000">,\</span> + <span style="color: #FF0000">"pos0"</span><span style="color: #990000">,</span> <span style="font-weight: bold"><span style="color: #000000">ToMM</span></span><span style="color: #990000">(</span>pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetPos0</span></span><span style="color: #990000">().</span>x<span style="color: #990000">),</span> <span style="font-weight: bold"><span style="color: #000000">ToMM</span></span><span style="color: #990000">(</span>pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetPos0</span></span><span style="color: #990000">().</span>y<span style="color: #990000">),</span><span style="color: #FF0000">"mm"</span><span style="color: #990000">,\</span> + <span style="color: #FF0000">"shape offset"</span><span style="color: #990000">,</span> <span style="font-weight: bold"><span style="color: #000000">ToMM</span></span><span style="color: #990000">(</span>pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetOffset</span></span><span style="color: #990000">().</span>x<span style="color: #990000">),</span> <span style="font-weight: bold"><span style="color: #000000">ToMM</span></span><span style="color: #990000">(</span>pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetOffset</span></span><span style="color: #990000">().</span>y<span style="color: #990000">),</span> <span style="color: #FF0000">"mm"</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">""</span></tt></pre></div></div> +</div> +<div class="sect2"> +<h3 id="_board">15.5. BOARD</h3> +<div class="paragraph"><p>BOARD jest podstawowym obiektem w Pcbnew, stanowi on odzwierciedlenie tego +co znajduje się w polu edycyjnym.</p></div> +<div class="paragraph"><p>BOARD zawiera zestaw obiektów podrzędnych do których można odwoływać się za +pomocą następujących metod, które zwracają iterowalne listy mogące być +iterowane poprzez konstrukcje <span class="monospaced">for obj in list</span>:</p></div> +<div class="ulist"><ul> +<li> +<p> +<strong>board.GetModules():</strong> Metoda zwraca listę obiektów MODULE, wszystkie footprinty dostępne na płytce będą tu wyszczególnione. +</p> +</li> +<li> +<p> +<strong>board.GetDrawings():</strong> Zwraca listę BOARD_ITEMS które należą do rysunków na płytce. +</p> +</li> +<li> +<p> +<strong>board.GetTracks():</strong> Metoda ta zwraca listę obiektów TRACK oraz VIA wewnątrz obiektu BOARD. +</p> +</li> +<li> +<p> +<strong>board.GetFullRatnest():</strong> Zwraca listę połączeń ratsnets (połączeń nie wytrasowanych). +</p> +</li> +<li> +<p> +<strong>board.GetNetClasses():</strong> Zwraca listę klas połączeń. +</p> +</li> +<li> +<p> +<strong>board.GetCurrentNetClassName():</strong> Zwraca bieżącą klasę połączeń. +</p> +</li> +<li> +<p> +<strong>board.GetViasDimensionsList():</strong> Zwraca listę dostępnych rozmiarów przelotek na płytce. +</p> +</li> +<li> +<p> +<strong>board.GetTrackWidthList():</strong> Zwraca listę dostępnych szerokości ścieżek na płytce. +</p> +</li> +</ul></div> +<div class="listingblock"> +<div class="title">Przykład inspekcji obwodu drukowanego</div> +<div class="content"><!-- Generator: GNU source-highlight 3.1.7 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-style: italic"><span style="color: #9A1900">#!/usr/bin/env python</span></span> +<span style="font-weight: bold"><span style="color: #000080">import</span></span> sys +<span style="font-weight: bold"><span style="color: #000080">from</span></span> pcbnew <span style="font-weight: bold"><span style="color: #000080">import</span></span> <span style="color: #990000">*</span> + +filename<span style="color: #990000">=</span>sys<span style="color: #990000">.</span>argv<span style="color: #990000">[</span><span style="color: #993399">1</span><span style="color: #990000">]</span> + +pcb <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">LoadBoard</span></span><span style="color: #990000">(</span>filename<span style="color: #990000">)</span> + +ToUnits <span style="color: #990000">=</span> ToMM +FromUnits <span style="color: #990000">=</span> FromMM +<span style="font-style: italic"><span style="color: #9A1900">#ToUnits=ToMils</span></span> +<span style="font-style: italic"><span style="color: #9A1900">#FromUnits=FromMils</span></span> + +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"LISTING VIAS:"</span> + +<span style="font-weight: bold"><span style="color: #0000FF">for</span></span> item <span style="font-weight: bold"><span style="color: #0000FF">in</span></span> pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetTracks</span></span><span style="color: #990000">():</span> + <span style="font-weight: bold"><span style="color: #0000FF">if</span></span> <span style="font-weight: bold"><span style="color: #000000">type</span></span><span style="color: #990000">(</span>item<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">is</span></span> VIA<span style="color: #990000">:</span> + + pos <span style="color: #990000">=</span> item<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetPosition</span></span><span style="color: #990000">()</span> + drill <span style="color: #990000">=</span> item<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetDrillValue</span></span><span style="color: #990000">()</span> + width <span style="color: #990000">=</span> item<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetWidth</span></span><span style="color: #990000">()</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">" * Via: %s - %f/%f "</span><span style="color: #990000">%(</span><span style="font-weight: bold"><span style="color: #000000">ToUnits</span></span><span style="color: #990000">(</span>pos<span style="color: #990000">),</span><span style="font-weight: bold"><span style="color: #000000">ToUnits</span></span><span style="color: #990000">(</span>drill<span style="color: #990000">),</span><span style="font-weight: bold"><span style="color: #000000">ToUnits</span></span><span style="color: #990000">(</span>width<span style="color: #990000">))</span> + + <span style="font-weight: bold"><span style="color: #0000FF">elif</span></span> <span style="font-weight: bold"><span style="color: #000000">type</span></span><span style="color: #990000">(</span>item<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">is</span></span> TRACK<span style="color: #990000">:</span> + + start <span style="color: #990000">=</span> item<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetStart</span></span><span style="color: #990000">()</span> + end <span style="color: #990000">=</span> item<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetEnd</span></span><span style="color: #990000">()</span> + width <span style="color: #990000">=</span> item<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetWidth</span></span><span style="color: #990000">()</span> + + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">" * Track: %s to %s, width %f"</span> <span style="color: #990000">%</span> <span style="color: #990000">(</span><span style="font-weight: bold"><span style="color: #000000">ToUnits</span></span><span style="color: #990000">(</span>start<span style="color: #990000">),</span><span style="font-weight: bold"><span style="color: #000000">ToUnits</span></span><span style="color: #990000">(</span>end<span style="color: #990000">),</span><span style="font-weight: bold"><span style="color: #000000">ToUnits</span></span><span style="color: #990000">(</span>width<span style="color: #990000">))</span> + + <span style="font-weight: bold"><span style="color: #0000FF">else</span></span><span style="color: #990000">:</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"Unknown type %s"</span> <span style="color: #990000">%</span> <span style="font-weight: bold"><span style="color: #000000">type</span></span><span style="color: #990000">(</span>item<span style="color: #990000">)</span> + +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">""</span> +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"LIST DRAWINGS:"</span> + +<span style="font-weight: bold"><span style="color: #0000FF">for</span></span> item <span style="font-weight: bold"><span style="color: #0000FF">in</span></span> pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetDrawings</span></span><span style="color: #990000">():</span> + <span style="font-weight: bold"><span style="color: #0000FF">if</span></span> <span style="font-weight: bold"><span style="color: #000000">type</span></span><span style="color: #990000">(</span>item<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">is</span></span> TEXTE_PCB<span style="color: #990000">:</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"* Text: '%s' at %s"</span><span style="color: #990000">%(</span>item<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetText</span></span><span style="color: #990000">(),</span> item<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetPosition</span></span><span style="color: #990000">())</span> + <span style="font-weight: bold"><span style="color: #0000FF">elif</span></span> <span style="font-weight: bold"><span style="color: #000000">type</span></span><span style="color: #990000">(</span>item<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">is</span></span> DRAWSEGMENT<span style="color: #990000">:</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"* Drawing: %s"</span><span style="color: #990000">%</span>item<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetShapeStr</span></span><span style="color: #990000">()</span> <span style="font-style: italic"><span style="color: #9A1900"># dir(item)</span></span> + <span style="font-weight: bold"><span style="color: #0000FF">else</span></span><span style="color: #990000">:</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="font-weight: bold"><span style="color: #000000">type</span></span><span style="color: #990000">(</span>item<span style="color: #990000">)</span> + +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">""</span> +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"LIST MODULES:"</span> + +<span style="font-weight: bold"><span style="color: #0000FF">for</span></span> module <span style="font-weight: bold"><span style="color: #0000FF">in</span></span> pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetModules</span></span><span style="color: #990000">():</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"* Module: %s at %s"</span><span style="color: #990000">%(</span>module<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetReference</span></span><span style="color: #990000">(),</span><span style="font-weight: bold"><span style="color: #000000">ToUnits</span></span><span style="color: #990000">(</span>module<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetPosition</span></span><span style="color: #990000">()))</span> + +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">""</span> +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"Ratsnest cnt:"</span><span style="color: #990000">,</span><span style="font-weight: bold"><span style="color: #000000">len</span></span><span style="color: #990000">(</span>pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetFullRatsnest</span></span><span style="color: #990000">())</span> +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"track w cnt:"</span><span style="color: #990000">,</span><span style="font-weight: bold"><span style="color: #000000">len</span></span><span style="color: #990000">(</span>pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetTrackWidthList</span></span><span style="color: #990000">())</span> +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"via s cnt:"</span><span style="color: #990000">,</span><span style="font-weight: bold"><span style="color: #000000">len</span></span><span style="color: #990000">(</span>pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetViasDimensionsList</span></span><span style="color: #990000">())</span> + +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">""</span> +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"LIST ZONES:"</span><span style="color: #990000">,</span> pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetAreaCount</span></span><span style="color: #990000">()</span> + +<span style="font-weight: bold"><span style="color: #0000FF">for</span></span> idx <span style="font-weight: bold"><span style="color: #0000FF">in</span></span> <span style="font-weight: bold"><span style="color: #000000">range</span></span><span style="color: #990000">(</span><span style="color: #993399">0</span><span style="color: #990000">,</span> pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetAreaCount</span></span><span style="color: #990000">()):</span> + zone<span style="color: #990000">=</span>pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetArea</span></span><span style="color: #990000">(</span>idx<span style="color: #990000">)</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"zone:"</span><span style="color: #990000">,</span> idx<span style="color: #990000">,</span> <span style="color: #FF0000">"priority:"</span><span style="color: #990000">,</span> zone<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetPriority</span></span><span style="color: #990000">(),</span> <span style="color: #FF0000">"netname"</span><span style="color: #990000">,</span> zone<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetNetname</span></span><span style="color: #990000">()</span> + +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">""</span> +<span style="font-weight: bold"><span style="color: #0000FF">print</span></span> <span style="color: #FF0000">"NetClasses:"</span><span style="color: #990000">,</span> pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetNetClasses</span></span><span style="color: #990000">().</span><span style="font-weight: bold"><span style="color: #000000">GetCount</span></span><span style="color: #990000">(),</span></tt></pre></div></div> +</div> +<div class="sect2"> +<h3 id="_przykady_2">15.6. Przykłady</h3> +<div class="sect3"> +<h4 id="_zmiana_przeswitu_pasty_w_pinach_komponentow">15.6.1. Zmiana prześwitu pasty w pinach komponentów</h4> +<div class="listingblock"> +<div class="title">Chcielibyśmy zmienić piny 1 do 14, 15 pin jest polem termicznym, który musi pozostać niezmieniony.</div> +<div class="content"><!-- Generator: GNU source-highlight 3.1.7 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-style: italic"><span style="color: #9A1900">#!/usr/bin/env python2.7</span></span> +<span style="font-weight: bold"><span style="color: #000080">import</span></span> sys +<span style="font-weight: bold"><span style="color: #000080">from</span></span> pcbnew <span style="font-weight: bold"><span style="color: #000080">import</span></span> <span style="color: #990000">*</span> + +filename<span style="color: #990000">=</span>sys<span style="color: #990000">.</span>argv<span style="color: #990000">[</span><span style="color: #993399">1</span><span style="color: #990000">]</span> +pcb <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">LoadBoard</span></span><span style="color: #990000">(</span>filename<span style="color: #990000">)</span> + +<span style="font-style: italic"><span style="color: #9A1900"># Find module U304</span></span> +u304 <span style="color: #990000">=</span> pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">FindModuleByReference</span></span><span style="color: #990000">(</span><span style="color: #FF0000">'U304'</span><span style="color: #990000">)</span> +pads <span style="color: #990000">=</span> u304<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Pads</span></span><span style="color: #990000">()</span> + +<span style="font-style: italic"><span style="color: #9A1900"># Iterate over pads, printing solder paste margin</span></span> +<span style="font-weight: bold"><span style="color: #0000FF">for</span></span> p <span style="font-weight: bold"><span style="color: #0000FF">in</span></span> pads<span style="color: #990000">:</span> + <span style="font-weight: bold"><span style="color: #0000FF">print</span></span> p<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetPadName</span></span><span style="color: #990000">(),</span> <span style="font-weight: bold"><span style="color: #000000">ToMM</span></span><span style="color: #990000">(</span>p<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetLocalSolderPasteMargin</span></span><span style="color: #990000">())</span> + id <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">int</span></span><span style="color: #990000">(</span>p<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetPadName</span></span><span style="color: #990000">())</span> + <span style="font-style: italic"><span style="color: #9A1900"># Set margin to 0 for all but pad (pin) 15</span></span> + <span style="font-weight: bold"><span style="color: #0000FF">if</span></span> id<span style="color: #990000"><</span><span style="color: #993399">15</span><span style="color: #990000">:</span> p<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">SetLocalSolderPasteMargin</span></span><span style="color: #990000">(</span><span style="color: #993399">0</span><span style="color: #990000">)</span> + +pcb<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Save</span></span><span style="color: #990000">(</span><span style="color: #FF0000">"mod_"</span><span style="color: #990000">+</span>filename<span style="color: #990000">)</span></tt></pre></div></div> +</div> +</div> +<div class="sect2"> +<h3 id="Footprint_Wizards">15.7. Kreatory footprintów</h3> +<div class="paragraph"><p>Kreatory footprintów to zestaw skryptów Python, które można uruchomić z +Edytora Footprintów. Jeśli wywołamy okno dialogowe z kreatorami, można +będzie wybrać jeden z nich i za pomocą dostępnych pól z parametrami określić +kształt footprintu przedstawiany po prawej stronie.</p></div> +<div class="paragraph"><p>Jeśli wtyczki nie są zawarte w używanym pakiecie programu KiCad, można +znaleźć ich najnowsze wersje w źródłach programu KiCad na platformie +<a href="https://git.launchpad.net/kicad/tree/pcbnew/python/plugins">Launchpad</a>.</p></div> +<div class="paragraph"><p>Powinny być one zapisane w folderze <span class="monospaced">C:\Program +Files\KiCad\share\kicad\scripting\plugins</span>.</p></div> +<div class="paragraph"><p>W systemach Linux można również przechowywać skrypty w +<span class="monospaced">$HOME/.kicad_plugins</span>.</p></div> +<div class="listingblock"> +<div class="title">Budowanie footprintów przez proste wypełnienie pól z parametrami.</div> +<div class="content"><!-- Generator: GNU source-highlight 3.1.7 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000080">from</span></span> __future__ <span style="font-weight: bold"><span style="color: #000080">import</span></span> division +<span style="font-weight: bold"><span style="color: #000080">import</span></span> pcbnew + +<span style="font-weight: bold"><span style="color: #000080">import</span></span> HelpfulFootprintWizardPlugin as HFPW + + +<span style="font-weight: bold"><span style="color: #0000FF">class</span></span> <span style="font-weight: bold"><span style="color: #000000">FPC_FootprintWizard</span></span><span style="color: #990000">(</span>HFPW<span style="color: #990000">.</span>HelpfulFootprintWizardPlugin<span style="color: #990000">):</span> + + <span style="font-weight: bold"><span style="color: #0000FF">def</span></span> <span style="font-weight: bold"><span style="color: #000000">GetName</span></span><span style="color: #990000">(</span>self<span style="color: #990000">):</span> + <span style="font-weight: bold"><span style="color: #0000FF">return</span></span> <span style="color: #FF0000">"FPC (SMT connector)"</span> + + <span style="font-weight: bold"><span style="color: #0000FF">def</span></span> <span style="font-weight: bold"><span style="color: #000000">GetDescription</span></span><span style="color: #990000">(</span>self<span style="color: #990000">):</span> + <span style="font-weight: bold"><span style="color: #0000FF">return</span></span> <span style="color: #FF0000">"FPC (SMT connector) Footprint Wizard"</span> + + <span style="font-weight: bold"><span style="color: #0000FF">def</span></span> <span style="font-weight: bold"><span style="color: #000000">GetValue</span></span><span style="color: #990000">(</span>self<span style="color: #990000">):</span> + pins <span style="color: #990000">=</span> self<span style="color: #990000">.</span>parameters<span style="color: #990000">[</span><span style="color: #FF0000">"Pads"</span><span style="color: #990000">][</span><span style="color: #FF0000">"*n"</span><span style="color: #990000">]</span> + <span style="font-weight: bold"><span style="color: #0000FF">return</span></span> <span style="color: #FF0000">"FPC_%d"</span> <span style="color: #990000">%</span> pins + + <span style="font-weight: bold"><span style="color: #0000FF">def</span></span> <span style="font-weight: bold"><span style="color: #000000">GenerateParameterList</span></span><span style="color: #990000">(</span>self<span style="color: #990000">):</span> + self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">AddParam</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Pads"</span><span style="color: #990000">,</span> <span style="color: #FF0000">"n"</span><span style="color: #990000">,</span> self<span style="color: #990000">.</span>uNatural<span style="color: #990000">,</span> <span style="color: #993399">40</span> <span style="color: #990000">)</span> + self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">AddParam</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Pads"</span><span style="color: #990000">,</span> <span style="color: #FF0000">"pitch"</span><span style="color: #990000">,</span> self<span style="color: #990000">.</span>uMM<span style="color: #990000">,</span> <span style="color: #993399">0.5</span> <span style="color: #990000">)</span> + self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">AddParam</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Pads"</span><span style="color: #990000">,</span> <span style="color: #FF0000">"width"</span><span style="color: #990000">,</span> self<span style="color: #990000">.</span>uMM<span style="color: #990000">,</span> <span style="color: #993399">0.25</span> <span style="color: #990000">)</span> + self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">AddParam</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Pads"</span><span style="color: #990000">,</span> <span style="color: #FF0000">"height"</span><span style="color: #990000">,</span> self<span style="color: #990000">.</span>uMM<span style="color: #990000">,</span> <span style="color: #993399">1.6</span><span style="color: #990000">)</span> + self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">AddParam</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Shield"</span><span style="color: #990000">,</span> <span style="color: #FF0000">"shield_to_pad"</span><span style="color: #990000">,</span> self<span style="color: #990000">.</span>uMM<span style="color: #990000">,</span> <span style="color: #993399">1.6</span> <span style="color: #990000">)</span> + self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">AddParam</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Shield"</span><span style="color: #990000">,</span> <span style="color: #FF0000">"from_top"</span><span style="color: #990000">,</span> self<span style="color: #990000">.</span>uMM<span style="color: #990000">,</span> <span style="color: #993399">1.3</span> <span style="color: #990000">)</span> + self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">AddParam</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Shield"</span><span style="color: #990000">,</span> <span style="color: #FF0000">"width"</span><span style="color: #990000">,</span> self<span style="color: #990000">.</span>uMM<span style="color: #990000">,</span> <span style="color: #993399">1.5</span> <span style="color: #990000">)</span> + self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">AddParam</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Shield"</span><span style="color: #990000">,</span> <span style="color: #FF0000">"height"</span><span style="color: #990000">,</span> self<span style="color: #990000">.</span>uMM<span style="color: #990000">,</span> <span style="color: #993399">2</span> <span style="color: #990000">)</span> + + + <span style="font-style: italic"><span style="color: #9A1900"># build a rectangular pad</span></span> + <span style="font-weight: bold"><span style="color: #0000FF">def</span></span> <span style="font-weight: bold"><span style="color: #000000">smdRectPad</span></span><span style="color: #990000">(</span>self<span style="color: #990000">,</span>module<span style="color: #990000">,</span>size<span style="color: #990000">,</span>pos<span style="color: #990000">,</span>name<span style="color: #990000">):</span> + pad <span style="color: #990000">=</span> pcbnew<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">D_PAD</span></span><span style="color: #990000">(</span>module<span style="color: #990000">)</span> + pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">SetSize</span></span><span style="color: #990000">(</span>size<span style="color: #990000">)</span> + pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">SetShape</span></span><span style="color: #990000">(</span>pcbnew<span style="color: #990000">.</span>PAD_SHAPE_RECT<span style="color: #990000">)</span> + pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">SetAttribute</span></span><span style="color: #990000">(</span>pcbnew<span style="color: #990000">.</span>PAD_ATTRIB_SMD<span style="color: #990000">)</span> + pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">SetLayerSet</span></span><span style="color: #990000">(</span> pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">SMDMask</span></span><span style="color: #990000">()</span> <span style="color: #990000">)</span> + pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">SetPos0</span></span><span style="color: #990000">(</span>pos<span style="color: #990000">)</span> + pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">SetPosition</span></span><span style="color: #990000">(</span>pos<span style="color: #990000">)</span> + pad<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">SetPadName</span></span><span style="color: #990000">(</span>name<span style="color: #990000">)</span> + <span style="font-weight: bold"><span style="color: #0000FF">return</span></span> pad + + <span style="font-weight: bold"><span style="color: #0000FF">def</span></span> <span style="font-weight: bold"><span style="color: #000000">CheckParameters</span></span><span style="color: #990000">(</span>self<span style="color: #990000">):</span> + p <span style="color: #990000">=</span> self<span style="color: #990000">.</span>parameters + self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">CheckParamInt</span></span><span style="color: #990000">(</span> <span style="color: #FF0000">"Pads"</span><span style="color: #990000">,</span> <span style="color: #FF0000">"*n"</span> <span style="color: #990000">)</span> <span style="font-style: italic"><span style="color: #9A1900"># not internal units preceded by "*"</span></span> + + + <span style="font-weight: bold"><span style="color: #0000FF">def</span></span> <span style="font-weight: bold"><span style="color: #000000">BuildThisFootprint</span></span><span style="color: #990000">(</span>self<span style="color: #990000">):</span> + p <span style="color: #990000">=</span> self<span style="color: #990000">.</span>parameters + pad_count <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">int</span></span><span style="color: #990000">(</span>p<span style="color: #990000">[</span><span style="color: #FF0000">"Pads"</span><span style="color: #990000">][</span><span style="color: #FF0000">"*n"</span><span style="color: #990000">])</span> + pad_width <span style="color: #990000">=</span> p<span style="color: #990000">[</span><span style="color: #FF0000">"Pads"</span><span style="color: #990000">][</span><span style="color: #FF0000">"width"</span><span style="color: #990000">]</span> + pad_height <span style="color: #990000">=</span> p<span style="color: #990000">[</span><span style="color: #FF0000">"Pads"</span><span style="color: #990000">][</span><span style="color: #FF0000">"height"</span><span style="color: #990000">]</span> + pad_pitch <span style="color: #990000">=</span> p<span style="color: #990000">[</span><span style="color: #FF0000">"Pads"</span><span style="color: #990000">][</span><span style="color: #FF0000">"pitch"</span><span style="color: #990000">]</span> + shl_width <span style="color: #990000">=</span> p<span style="color: #990000">[</span><span style="color: #FF0000">"Shield"</span><span style="color: #990000">][</span><span style="color: #FF0000">"width"</span><span style="color: #990000">]</span> + shl_height <span style="color: #990000">=</span> p<span style="color: #990000">[</span><span style="color: #FF0000">"Shield"</span><span style="color: #990000">][</span><span style="color: #FF0000">"height"</span><span style="color: #990000">]</span> + shl_to_pad <span style="color: #990000">=</span> p<span style="color: #990000">[</span><span style="color: #FF0000">"Shield"</span><span style="color: #990000">][</span><span style="color: #FF0000">"shield_to_pad"</span><span style="color: #990000">]</span> + shl_from_top <span style="color: #990000">=</span> p<span style="color: #990000">[</span><span style="color: #FF0000">"Shield"</span><span style="color: #990000">][</span><span style="color: #FF0000">"from_top"</span><span style="color: #990000">]</span> + + offsetX <span style="color: #990000">=</span> pad_pitch <span style="color: #990000">*</span> <span style="color: #990000">(</span> pad_count<span style="color: #990000">-</span><span style="color: #993399">1</span> <span style="color: #990000">)</span> <span style="color: #990000">/</span> <span style="color: #993399">2</span> + size_pad <span style="color: #990000">=</span> pcbnew<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">wxSize</span></span><span style="color: #990000">(</span> pad_width<span style="color: #990000">,</span> pad_height <span style="color: #990000">)</span> + size_shld <span style="color: #990000">=</span> pcbnew<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">wxSize</span></span><span style="color: #990000">(</span>shl_width<span style="color: #990000">,</span> shl_height<span style="color: #990000">)</span> + size_text <span style="color: #990000">=</span> self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetTextSize</span></span><span style="color: #990000">()</span> <span style="font-style: italic"><span style="color: #9A1900"># IPC nominal</span></span> + + <span style="font-style: italic"><span style="color: #9A1900"># Gives a position and size to ref and value texts:</span></span> + textposy <span style="color: #990000">=</span> pad_height<span style="color: #990000">/</span><span style="color: #993399">2</span> <span style="color: #990000">+</span> pcbnew<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">FromMM</span></span><span style="color: #990000">(</span><span style="color: #993399">1</span><span style="color: #990000">)</span> <span style="color: #990000">+</span> self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetTextThickness</span></span><span style="color: #990000">()</span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Reference</span></span><span style="color: #990000">(</span> <span style="color: #993399">0</span><span style="color: #990000">,</span> textposy<span style="color: #990000">,</span> size_text <span style="color: #990000">)</span> + + textposy <span style="color: #990000">=</span> textposy <span style="color: #990000">+</span> size_text <span style="color: #990000">+</span> self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetTextThickness</span></span><span style="color: #990000">()</span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Value</span></span><span style="color: #990000">(</span> <span style="color: #993399">0</span><span style="color: #990000">,</span> textposy<span style="color: #990000">,</span> size_text <span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># create a pad array and add it to the module</span></span> + <span style="font-weight: bold"><span style="color: #0000FF">for</span></span> n <span style="font-weight: bold"><span style="color: #0000FF">in</span></span> <span style="font-weight: bold"><span style="color: #000000">range</span></span> <span style="color: #990000">(</span> <span style="color: #993399">0</span><span style="color: #990000">,</span> pad_count <span style="color: #990000">):</span> + xpos <span style="color: #990000">=</span> pad_pitch<span style="color: #990000">*</span>n <span style="color: #990000">-</span> offsetX + pad <span style="color: #990000">=</span> self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">smdRectPad</span></span><span style="color: #990000">(</span>self<span style="color: #990000">.</span>module<span style="color: #990000">,</span>size_pad<span style="color: #990000">,</span> pcbnew<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">wxPoint</span></span><span style="color: #990000">(</span>xpos<span style="color: #990000">,</span><span style="color: #993399">0</span><span style="color: #990000">),</span><span style="font-weight: bold"><span style="color: #000000">str</span></span><span style="color: #990000">(</span>n<span style="color: #990000">+</span><span style="color: #993399">1</span><span style="color: #990000">))</span> + self<span style="color: #990000">.</span>module<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Add</span></span><span style="color: #990000">(</span>pad<span style="color: #990000">)</span> + + + <span style="font-style: italic"><span style="color: #9A1900"># Mechanical shield pads: left pad and right pad</span></span> + xpos <span style="color: #990000">=</span> <span style="color: #990000">-</span>shl_to_pad<span style="color: #990000">-</span>offsetX + pad_s0_pos <span style="color: #990000">=</span> pcbnew<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">wxPoint</span></span><span style="color: #990000">(</span>xpos<span style="color: #990000">,</span>shl_from_top<span style="color: #990000">)</span> + pad_s0 <span style="color: #990000">=</span> self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">smdRectPad</span></span><span style="color: #990000">(</span>self<span style="color: #990000">.</span>module<span style="color: #990000">,</span> size_shld<span style="color: #990000">,</span> pad_s0_pos<span style="color: #990000">,</span> <span style="color: #FF0000">"0"</span><span style="color: #990000">)</span> + xpos <span style="color: #990000">=</span> <span style="color: #990000">(</span>pad_count<span style="color: #990000">-</span><span style="color: #993399">1</span><span style="color: #990000">)</span> <span style="color: #990000">*</span> pad_pitch<span style="color: #990000">+</span>shl_to_pad <span style="color: #990000">-</span> offsetX + pad_s1_pos <span style="color: #990000">=</span> pcbnew<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">wxPoint</span></span><span style="color: #990000">(</span>xpos<span style="color: #990000">,</span>shl_from_top<span style="color: #990000">)</span> + pad_s1 <span style="color: #990000">=</span> self<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">smdRectPad</span></span><span style="color: #990000">(</span>self<span style="color: #990000">.</span>module<span style="color: #990000">,</span> size_shld<span style="color: #990000">,</span> pad_s1_pos<span style="color: #990000">,</span> <span style="color: #FF0000">"0"</span><span style="color: #990000">)</span> + + self<span style="color: #990000">.</span>module<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Add</span></span><span style="color: #990000">(</span>pad_s0<span style="color: #990000">)</span> + self<span style="color: #990000">.</span>module<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Add</span></span><span style="color: #990000">(</span>pad_s1<span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># add footprint outline</span></span> + linewidth <span style="color: #990000">=</span> self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">GetLineTickness</span></span><span style="color: #990000">()</span> + margin <span style="color: #990000">=</span> linewidth + + <span style="font-style: italic"><span style="color: #9A1900"># upper line</span></span> + posy <span style="color: #990000">=</span> <span style="color: #990000">-</span>pad_height<span style="color: #990000">/</span><span style="color: #993399">2</span> <span style="color: #990000">-</span> linewidth<span style="color: #990000">/</span><span style="color: #993399">2</span> <span style="color: #990000">-</span> margin + xstart <span style="color: #990000">=</span> <span style="color: #990000">-</span> pad_pitch<span style="color: #990000">*</span><span style="color: #993399">0.5</span><span style="color: #990000">-</span>offsetX + xend <span style="color: #990000">=</span> pad_pitch <span style="color: #990000">*</span> pad_count <span style="color: #990000">+</span> xstart<span style="color: #990000">;</span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(</span> xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> xend<span style="color: #990000">,</span> posy <span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># lower line</span></span> + posy <span style="color: #990000">=</span> pad_height<span style="color: #990000">/</span><span style="color: #993399">2</span> <span style="color: #990000">+</span> linewidth<span style="color: #990000">/</span><span style="color: #993399">2</span> <span style="color: #990000">+</span> margin + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> xend<span style="color: #990000">,</span> posy<span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># around left mechanical pad (the outline around right pad is mirrored/y axix)</span></span> + yend <span style="color: #990000">=</span> pad_s0_pos<span style="color: #990000">.</span>y <span style="color: #990000">+</span> shl_height<span style="color: #990000">/</span><span style="color: #993399">2</span> <span style="color: #990000">+</span> margin + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> xstart<span style="color: #990000">,</span> yend<span style="color: #990000">)</span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(-</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> <span style="color: #990000">-</span>xstart<span style="color: #990000">,</span> yend<span style="color: #990000">)</span> + + posy <span style="color: #990000">=</span> yend + xend <span style="color: #990000">=</span> pad_s0_pos<span style="color: #990000">.</span>x <span style="color: #990000">-</span> <span style="color: #990000">(</span>shl_width<span style="color: #990000">/</span><span style="color: #993399">2</span> <span style="color: #990000">+</span> linewidth <span style="color: #990000">+</span> margin<span style="color: #990000">*</span><span style="color: #993399">2</span><span style="color: #990000">)</span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> xend<span style="color: #990000">,</span> posy<span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># right pad side</span></span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(-</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> <span style="color: #990000">-</span>xend<span style="color: #990000">,</span> yend<span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># vertical segment at left of the pad</span></span> + xstart <span style="color: #990000">=</span> xend + yend <span style="color: #990000">=</span> posy <span style="color: #990000">-</span> <span style="color: #990000">(</span>shl_height <span style="color: #990000">+</span> linewidth <span style="color: #990000">+</span> margin<span style="color: #990000">*</span><span style="color: #993399">2</span><span style="color: #990000">)</span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> xend<span style="color: #990000">,</span> yend<span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># right pad side</span></span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(-</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> <span style="color: #990000">-</span>xend<span style="color: #990000">,</span> yend<span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># horizontal segment above the pad</span></span> + xstart <span style="color: #990000">=</span> xend + xend <span style="color: #990000">=</span> <span style="color: #990000">-</span> pad_pitch<span style="color: #990000">*</span><span style="color: #993399">0.5</span><span style="color: #990000">-</span>offsetX + posy <span style="color: #990000">=</span> yend + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> xend<span style="color: #990000">,</span> yend<span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># right pad side</span></span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(-</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,-</span>xend<span style="color: #990000">,</span> yend<span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># vertical segment above the pad</span></span> + xstart <span style="color: #990000">=</span> xend + yend <span style="color: #990000">=</span> <span style="color: #990000">-</span>pad_height<span style="color: #990000">/</span><span style="color: #993399">2</span> <span style="color: #990000">-</span> linewidth<span style="color: #990000">/</span><span style="color: #993399">2</span> <span style="color: #990000">-</span> margin + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> xend<span style="color: #990000">,</span> yend<span style="color: #990000">)</span> + + <span style="font-style: italic"><span style="color: #9A1900"># right pad side</span></span> + self<span style="color: #990000">.</span>draw<span style="color: #990000">.</span><span style="font-weight: bold"><span style="color: #000000">Line</span></span><span style="color: #990000">(-</span>xstart<span style="color: #990000">,</span> posy<span style="color: #990000">,</span> <span style="color: #990000">-</span>xend<span style="color: #990000">,</span> yend<span style="color: #990000">)</span> + + +<span style="font-weight: bold"><span style="color: #000000">FPC_FootprintWizard</span></span><span style="color: #990000">().</span><span style="font-weight: bold"><span style="color: #000000">register</span></span><span style="color: #990000">()</span></tt></pre></div></div> +</div> +</div> +</div> +</div> +<div id="footnotes"><hr></div> +<div id="footer"> +<div id="footer-text"> +Ostatnio zmodyfikowany 2017-08-24 22:18:45 BST +</div> +</div> +</body> +</html> |