210 lines
17 KiB
HTML
210 lines
17 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
|
|
<TITLE>kicad help</TITLE>
|
|
<META NAME="GENERATOR" CONTENT="LibreOffice 4.0.2.2 (Windows)">
|
|
<META NAME="CREATED" CONTENT="0;0">
|
|
<META NAME="CHANGED" CONTENT="20130614;10225357">
|
|
<STYLE TYPE="text/css">
|
|
<!--
|
|
@page { margin: 2cm }
|
|
P { margin-bottom: 0.21cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto }
|
|
P.western { font-family: "Arial", sans-serif; font-size: 10pt; so-language: en-US }
|
|
A:link { color: #004586; text-decoration: none }
|
|
A.western:link { font-family: "Liberation Sans", sans-serif; so-language: zxx; font-style: italic }
|
|
A.sdfootnotesym-western { font-family: "DejaVu Serif", serif }
|
|
-->
|
|
</STYLE>
|
|
</HEAD>
|
|
<BODY LANG="en-AU" LINK="#004586" DIR="LTR">
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto"><A NAME="__RefHeading__2925_482973253"></A>
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>1 - Full
|
|
documentation:</B></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN LANG="en-US"><B>The
|
|
</B></SPAN></FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN LANG="en-US"><I><B>Eeschema
|
|
documentation, chapter 14</B></I></SPAN></FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN LANG="en-US"><B>
|
|
describes this intermediate netlist and gives examples<BR>See also
|
|
</B></SPAN></FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN LANG="en-US"><I><B>https://answers.launchpad.net/kicad/+faq/2265</B></I></SPAN></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><B><I>2 - </I>The
|
|
intermediate Netlist File</B></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>BOM files (and
|
|
netlist files) can be created from an Intermediate netlist file
|
|
created by Eeschema.</FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>This file uses XML
|
|
syntax and is called the intermediate netlist. The intermediate
|
|
netlist includes a large amount of data about your board and because
|
|
of this, it can be used with post-processing to create a BOM or other
|
|
reports.</FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>Depending on the
|
|
output (BOM or netlist), different subsets of the complete
|
|
Intermediate Netlist file will be used in the post-processing.</FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>3 - Conversion to
|
|
a new format</B></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>By applying a
|
|
post-processing filter to the Intermediate netlist file you can
|
|
generate foreign netlist files as well as BOM files. Because this
|
|
conversion is a text to text transformation.</FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>this post-processing
|
|
filter can be written using Python, XSLT, or any other tool capable
|
|
of taking XML as input.</FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">XSLT
|
|
itself is a XML language very suitable for XML transformations. There
|
|
is a free program called </SPAN></SPAN></SPAN><I><SPAN STYLE="font-weight: normal">xsltproc</SPAN></I><SPAN STYLE="font-variant: normal">
|
|
</SPAN><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">that
|
|
you can download and install. The</SPAN></SPAN></SPAN><SPAN STYLE="font-variant: normal">
|
|
</SPAN><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">xsltproc
|
|
program can be used to read the Intermediate XML netlist input file,
|
|
apply</SPAN></SPAN></SPAN><SPAN STYLE="font-variant: normal"> </SPAN><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">a
|
|
style-sheet to transform the input, and save the results in an output
|
|
file. Use of xsltproc requires a style-sheet file using XSLT
|
|
conventions. The full conversion process is handled</SPAN></SPAN></SPAN><SPAN STYLE="font-variant: normal">
|
|
</SPAN><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">by
|
|
Eeschema, after it is configured once to run xsltproc in a specific
|
|
way.</SPAN></SPAN></SPAN></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>4 -
|
|
Initialization of the dialog window</B></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>You should add a new
|
|
pluging (a script) in plugin list by clicking on the Add Plugin
|
|
button.</FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>4.1 - Plugin
|
|
Configuration Parameters</B></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>The Eeschema plug-in
|
|
configuration dialog requires the following information:</FONT></FONT></P>
|
|
<UL>
|
|
<LI><P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>The title: for
|
|
instance, the name of the netlist format.</FONT></FONT></P>
|
|
<LI><P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>The command line to
|
|
launch the converter (usually a script).</FONT></FONT></P>
|
|
</UL>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>Once you click on
|
|
the generate button the following will happen:</FONT></FONT></P>
|
|
<OL>
|
|
<LI><P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>Eeschema creates an
|
|
intermediate netlist file *.xml, for instance <I>test.xml.</I></FONT></FONT></P>
|
|
<LI><P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>Eeschema runs the
|
|
script from the command line to create the final output file.</FONT></FONT></P>
|
|
</OL>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>4.2 - Generate
|
|
netlist files with the command line</B></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>Assuming we are
|
|
using the program <I>xsltproc.exe</I><SPAN STYLE="font-variant: normal">
|
|
</SPAN><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal">to
|
|
apply the sheet style to the intermediate file, </SPAN></SPAN><I>xsltproc.exe</I><SPAN STYLE="font-variant: normal">
|
|
</SPAN><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal">is
|
|
executed with the following command.</SPAN></SPAN></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>xsltproc.exe -o <
|
|
output filename > < style-sheet filename > < input XML
|
|
file to convert ></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><FONT SIZE=2 STYLE="font-size: 11pt">On</FONT>
|
|
<FONT SIZE=2 STYLE="font-size: 11pt">Windows the command line is the
|
|
following.<BR></FONT><FONT SIZE=2 STYLE="font-size: 11pt"><I>f:/kicad/bin/xsltproc.exe
|
|
-o “%O” f:/kicad/bin/plugins/myconverter.xsl “%I”</I></FONT></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><FONT SIZE=2 STYLE="font-size: 11pt">On</FONT>
|
|
<FONT SIZE=2 STYLE="font-size: 11pt">Linux the command becomes as
|
|
following.<BR></FONT><FONT SIZE=2 STYLE="font-size: 11pt"><I>xsltproc
|
|
-o “%O” /usr/local/kicad/bin/plugins/myconverter .xsl
|
|
“%I”</I></FONT></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="font-variant: normal"><FONT SIZE=2 STYLE="font-size: 11pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Where
|
|
</SPAN></SPAN></FONT></SPAN><SPAN STYLE="font-variant: normal"><FONT SIZE=2 STYLE="font-size: 11pt"><I><SPAN STYLE="font-weight: normal">myconverter</SPAN></I></FONT></SPAN><FONT SIZE=2 STYLE="font-size: 11pt"><I><SPAN STYLE="font-weight: normal">.xsl</SPAN></I></FONT><SPAN STYLE="font-variant: normal">
|
|
</SPAN><SPAN STYLE="font-variant: normal"><FONT SIZE=2 STYLE="font-size: 11pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">is
|
|
the style-sheet that you are applying. Do not forget the double
|
|
quotes</SPAN></SPAN></FONT></SPAN><SPAN STYLE="font-variant: normal">
|
|
</SPAN><SPAN STYLE="font-variant: normal"><FONT SIZE=2 STYLE="font-size: 11pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">around
|
|
the file names, this allows them to have spaces after the
|
|
substitution by Eeschema.</SPAN></SPAN></FONT></SPAN></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>The command line
|
|
format accepts parameters for filenames:</FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>The supported
|
|
formatting parameters are.</FONT></FONT></P>
|
|
<UL>
|
|
<LI><P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>%B => base
|
|
filename and path of selected output file, minus path and extension.</FONT></FONT></P>
|
|
<LI><P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>%I => complete
|
|
filename and path of the temporary input file (the intermediate net
|
|
file).</FONT></FONT></P>
|
|
<LI><P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>%O => complete
|
|
filename and path of the user chosen output file.</FONT></FONT></P>
|
|
</UL>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>%I will be replaced
|
|
by the actual intermediate file name<BR><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">%O
|
|
will be replaced by the actual output file name.</SPAN></SPAN></SPAN></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>4.3 - Command
|
|
line format: example for <SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal">xsltproc</SPAN></SPAN></B></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal">The
|
|
command line format for xsltproc is the following:<BR>< path of
|
|
</SPAN></SPAN>xsltproc > <SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal">xsltproc
|
|
< </SPAN></SPAN>xsltproc parameters ></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>On
|
|
Windows:<BR><I><B>f:/kicad/bin/xsltproc.exe -o “%O”
|
|
f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl “%I”</B></I></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><FONT SIZE=2 STYLE="font-size: 11pt">On</FONT>
|
|
<FONT SIZE=2 STYLE="font-size: 11pt">Linux:<BR></FONT><FONT SIZE=2 STYLE="font-size: 11pt"><I><B>xsltproc
|
|
-o “%O”
|
|
/usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl “%I”</B></I></FONT></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><SPAN STYLE="font-variant: normal"><FONT SIZE=2 STYLE="font-size: 11pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">The
|
|
above examples assume</SPAN></SPAN></FONT></SPAN><SPAN STYLE="font-variant: normal">
|
|
</SPAN><SPAN STYLE="font-variant: normal"><FONT SIZE=2 STYLE="font-size: 11pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">xsltproc
|
|
is installed on your PC under Windows and all files located in
|
|
kicad/bin.</SPAN></SPAN></FONT></SPAN></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>4.4 - Command
|
|
line format: example fo<SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal">r
|
|
python scripts</SPAN></SPAN></B></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>The command line
|
|
format for python is something like:<BR><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal">python</SPAN></SPAN><SPAN STYLE="font-variant: normal">
|
|
</SPAN><SPAN STYLE="font-variant: normal"><SPAN STYLE="font-style: normal"><
|
|
script file name </SPAN></SPAN>> < input filename > <
|
|
output filename ></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>On
|
|
Windows:<BR><I><B>python.exe f:/kicad/python/my_python_script.py</B></I>
|
|
“<I><B>%I” “%O”</B></I></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>On Linux:<BR><I><B>python</B></I>
|
|
<I><B>/usr/local/kicad/python/my_python_script.py</B></I> “<I><B>%I”
|
|
“%O”</B></I></FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
|
|
<FONT FACE="Times New Roman, serif"><FONT SIZE=3>Assuming python is
|
|
installed on your PC.</FONT></FONT></P>
|
|
<P LANG="en-US" CLASS="western" STYLE="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto"><A NAME="__RefHeading__1787_435485510"></A>
|
|
<BR>
|
|
</P>
|
|
</BODY>
|
|
</HTML> |