As a some start point, I was simplified eeschema/dialogs/dialog_bom_help.html as much as possible (with several fixes).
пт, 13 июл. 2018 г. в 6:40, David Godfrey <i...@sbts.com.au>: > Hi Wayne, > > Out of interest, if formatted translated text is required in this dialogue > would it be easier to change from html to markdown? > > At least markdown is fairly easy for a translator to work with, although > it doesn't provide all of the flexibility of html. > Regards > David Godfrey > SB Tech Services > mb: +61 437 286 200 <+61437286200> > > chat: with *dcg_mx* at > #sbts:matrix.org <http://riot.im/app/#/room/%23sbts:matrix.org> (Computer) > #sbts:matrix.org <http://matrix.to/#/%23sbts:matrix.org> (mobile Device) > > > On 12/07/18 22:15, Wayne Stambaugh wrote: > > On 7/12/2018 8:59 AM, Simon Richter wrote: > > Hi, > > On 11.07.2018 21:51, Wayne Stambaugh wrote: > > > This probably should have been done as a cpp string wrapped with the > translation macro _(). I'm not sure there is anything we can do to make > this translatable. Anyone else have any ideas? > > > We could move the entire text to the user documentation, and make the > dialog point at it. > > If the dialog is unusable without the documentation, then that is a > separate problem, but I doubt it's that bad. > > Simon > > > I completely missed the fact the html file is converted to a C string by > Html2C.cmake. It would be easy enough to modify Html2C.cmake to wrap > the string with the _() macro. The problem I see is the string (see > generated file eeschema/dialogs/dialog_bom_help_html.h) has a lot of > markup which I'm sure will make life miserable for translators. > > We could try Simon's suggestion of moving the html text to the eeschema > user docs and provide a link using the help button. We would have to > add code to point the help url to the translated version if it exists > but that shouldn't be too difficult (famous last words). The contents > of the BOM dialog html file do not appear to exist anywhere in the > eeschema user doc. > > In the future we should refrain from doing this so that all source > strings and documentation can be translated. > > Wayne > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp >
From e787b579b7e197f6391be153ba57a298190b20bd Mon Sep 17 00:00:00 2001 From: Baranovskiy Konstantin <baranovskiykonstan...@gmail.com> Date: Fri, 13 Jul 2018 20:09:01 +0300 Subject: [PATCH] Html source of bom help message is simplified. The file eeschema/dialogs/dialog_bom_help.html was generated from LibreOffice and has the lot of unnecessary tags. --- eeschema/dialogs/dialog_bom_help.html | 555 +++++++++++++------------- 1 file changed, 273 insertions(+), 282 deletions(-) diff --git a/eeschema/dialogs/dialog_bom_help.html b/eeschema/dialogs/dialog_bom_help.html index cd6169a2c..529d93e42 100644 --- a/eeschema/dialogs/dialog_bom_help.html +++ b/eeschema/dialogs/dialog_bom_help.html @@ -1,286 +1,277 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!DOCTYPE html> <html> -<head> - <meta http-equiv="content-type" content="text/html; charset=windows-1252"/> - <title>kicad help</title> - <meta name="generator" content="LibreOffice 4.3.5.2 (Windows)"/> - <meta name="created" content="00:00:00"/> - <meta name="changed" content="2015-05-27T11:29:49.733000000"/> - <meta name="created" content="00:00:00"> - <meta name="changed" content="2015-05-27T10:36:10.287000000"> - <meta name="created" content="00:00:00"> - <meta name="changed" content="2015-05-27T09:45:48.809000000"> - <meta name="created" content="00:00:00"> - <meta name="changed" content="2015-05-27T09:29:26.026000000"> - <meta name="created" content="00:00:00"> - <meta name="changed" content="2014-12-03T20:04:24.723000000"> - <meta name="created" content="00:00:00"> - <meta name="changed" content="2014-12-03T20:04:06.003000000"> - <meta name="created" content="00:00:00"> - <meta name="changed" content="2014-12-03T19:59:24.882000000"> - <style type="text/css"> - @page { margin: 2cm } - p { margin-bottom: 0.21cm; color: #000000; 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 } - h1 { color: #000000 } - h1.western { font-family: "Times New Roman", serif } - h2 { color: #000000 } - h2.western { font-family: "Times New Roman", serif; font-size: 20pt } - h2.cjk { font-family: "SimSun"; font-size: 14pt } - h2.ctl { font-family: "Mangal"; font-size: 14pt } - h3 { background: transparent; color: #000000 } - h3.western { font-family: "Times New Roman", serif; font-size: 16pt; font-style: italic } - h3.cjk { font-family: "SimSun" } - h3.ctl { font-family: "Mangal" } - 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" text="#000000" link="#004586" dir="ltr"> -<h1 class="western"><a name="__RefHeading__2925_482973253"></a>1 - -Full documentation:</h1> -<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0"> -<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-weight: normal">The -</span><i><b>Eeschema documentation</b></i> <span style="font-weight: normal">describes -this </span><b>intermediate netlist and gives examples<br></b><span style="font-weight: normal">See -also </span><i><b>https://answers.launchpad.net/kicad/+faq/2265</b></i></font></font></p> -<h1 class="western"><i>2 - </i>The intermediate Netlist File</h1> -<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" style="font-size: 12pt">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" style="font-size: 12pt">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" style="font-size: 12pt">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> -<h1 class="western">3 - Conversion to a new format</h1> -<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" style="font-size: 12pt">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" style="font-size: 12pt">this -post-processing filter can be written using <b>Python</b>, <b>XSLT</b>, -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" style="font-size: 12pt"><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; font-variant: normal; font-style: normal; font-weight: normal; widows: 0; orphans: 0"> -<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">A -Python script is somewhat more easy to create.</font></font></p> -<h1 class="western">4 - Initialization of the dialog window</h1> -<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" style="font-size: 12pt">You -should add a new pluging (a script) in plugin list by clicking on the -Add Plugin button.</font></font></p> -<h2 class="western">4.1 - Plugin Configuration Parameters</h2> -<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" style="font-size: 12pt">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" style="font-size: 12pt">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" style="font-size: 12pt">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" style="font-size: 12pt"><b><i>Note (Windows only):</i></b></font></font></p> -<p lang="en-US" class="western" style="margin-bottom: 0cm; margin-top: 0cm; margin-left: 1cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto"> -<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i>By default, command line runs with hidden console window and output is redirected to "Plugin info" field. To show the window of the running command, set the checkbox "Show console window".</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" style="font-size: 12pt">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" style="font-size: 12pt">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" style="font-size: 12pt">Eeschema - runs the script from the command line to create the final output - file.</font></font></p> -</ol> -<h2 class="western">4.2 - Generate netlist files with the command -line</h2> -<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" style="font-size: 12pt">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" style="font-size: 12pt">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" style="font-size: 12pt">On -Windows the command line is the following.<br><i>f:/kicad/bin/xsltproc.exe --o “%O” f:/kicad/bin/plugins/myconverter.xsl “%I”</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" style="font-size: 12pt">On -Linux the command becomes as following.<br><i>xsltproc -o “%O” -/usr/local/kicad/bin/plugins/myconverter .xsl “%I”<br>w</i><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">here -</span></span></span><span style="font-variant: normal"><i><span style="font-weight: normal">myconverter</span></i></span><i><span style="font-weight: normal">.xsl</span></i><span style="font-variant: normal"> -</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">is -the style-sheet that you are applying.</span></span></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" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">Do -not forget the double quotes</span></span></span><span style="font-variant: normal"> -</span><span style="font-variant: normal"><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></span></font></font></p> -<p lang="en-US" class="western" style="margin-bottom: 0cm; font-variant: normal; font-style: normal; font-weight: normal; widows: 0; orphans: 0"> -<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">If -a Python script is used, the command line is something like -(depending on the Python script):</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" style="font-size: 12pt"><i>python</i> -<i>f:/kicad/bin/plugins/bom-in-python/myconverter.py</i> -“<i>%I”“%O”<br>or<br>python</i> -<i>/usr/local/kicad/bin/plugins/bom-in-python/myconverter .xsl “%I” -“%O” </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" style="font-size: 12pt">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" style="font-size: 12pt">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" style="font-size: 12pt"><b>%B</b> - => base filename 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"> - <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%P</b> - => project directory, without name and without trailing '/'.</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" style="font-size: 12pt"><b>%I - </b>=> 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" style="font-size: 12pt"><b>%O</b> - => complete filename and path (but without extension) 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" style="font-size: 12pt"><b>%I</b> -will be replaced by the actual intermediate file name<span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">(usually -the full root sheet filename with extension “.xml”)</span></span></span><br><span style="font-variant: normal"><span style="font-style: normal"><b>%O</b></span></span><span style="font-variant: normal"> -</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">will -be replaced by the actual output file name (the full root sheet -filename minus extension).<br></span></span></span><span style="font-variant: normal"><span style="font-style: normal"><b>%B</b></span></span><span style="font-variant: normal"> -</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">will -be replaced by the actual output short file name</span></span></span><span style="font-variant: normal"> -</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">(the -short root sheet filename minus extension).<br></span></span></span><span style="font-variant: normal"><span style="font-style: normal"><b>%P</b></span></span><span style="font-variant: normal"> -</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">will -be replaced by the actual current project path.</span></span></span></font></font></p> -<h2 class="western">4.3 - Command line format:</h2> -<h3 class="western">4.3.1 - Remark:</h3> -<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0"> -<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Most -of time, the created file must have an extension, depending on its -type.<br>Therefore you have to add to the option <i><b>%O</b></i> the -right file extension.</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" style="font-size: 12pt">For -instance:</font></font></p> -<ul> - <li/> -<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0"> - <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i><b>%O.csv</b></i> - to create a .csv file (comma separated value file).</font></font></p> - <li/> -<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0"> - <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i><b>%O.html</b></i> - to create a .html file.</font></font></p> - <li/> -<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0"> - <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i><b>%O.bom</b></i> - to create a .bom file.</font></font></p> -</ul> -<h3 class="western">4.3.2 Example for<i> </i><span style="font-variant: normal"><i>xsltproc:</i></span></h3> -<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" style="font-size: 12pt"><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" style="font-size: 12pt">On -Windows:<br><i><b>f:/kicad/bin/xsltproc.exe -o “%O.bom</b></i>” -<i><b>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" style="font-size: 12pt">On -Linux:<br><i><b>xsltproc -o “%O.bom</b></i>” -<i><b>/usr/local/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" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">The -above examples assume</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 -is installed on your PC under Windows xsl</span></span></span><span style="font-variant: normal"> -</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">exe</span></span></span><span style="font-variant: normal"> -</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">files -located in kicad/bin</span></span></span><span style="font-variant: normal"><i><b>plugins/</b></i></span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">.</span></span></span></font></font></p> -<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0"> -<br/> + <head> + <meta charset="utf-8"/> + <title> +kicad help + </title> + </head> + <body> + <h1> +1 - Full documentation: + </h1> + <p> +The <i><b>Eeschema documentation</b></i> describes this <b>intermediate netlist and gives examples.</b> + <br> +See also <a href="https://answers.launchpad.net/kicad/+faq/2265">https://answers.launchpad.net/kicad/+faq/2265</a> + </p> -</p> -<h3 class="western">4.3.3 <i>Example fo</i><span style="font-variant: normal"><i>r -python scripts:</i></span></h3> -<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" style="font-size: 12pt">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" style="font-size: 12pt">On -Windows:<br><i><b>python.exe f:/kicad/bin/plugins -/bom-in-python/my_python_script.py</b></i> “<i><b>%I” -“%O.html</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" style="font-size: 12pt">On -Linux:<br><i><b>python</b></i> <i><b>/usr/local/kicad/bin/plugins -/bom-in-python/my_python_script.py</b></i> “<i><b>%I” -“%O.csv</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" style="font-size: 12pt">Assuming -python is installed on your PC, and python scripts are located in -<i><b>kicad/bin/plugins /bom-in-python/</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"> -<br/> + <h1> +2 - The intermediate Netlist File + </h1> + <p> +BOM files (and netlist files) can be created from an Intermediate netlist file created by Eeschema. + </p> + <p> +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. + </p> + <p> +Depending on the output (BOM or netlist), different subsets of the complete Intermediate Netlist file will be used in the post-processing. + </p> -</p> -</body> + <h1> +3 - Conversion to a new format + </h1> + <p> +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. + </p> + <p> +This post-processing filter can be written using <b>Python</b>, <b>XSLT</b>, or any other tool capable of taking XML as input. + </p> + <p> +XSLT itself is a XML language very suitable for XML transformations. There is a free program called <i>xsltproc</i> that you can download and install. The xsltproc program can be used to read the Intermediate XML netlist input file, apply 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 by Eeschema, after it is configured once to run xsltproc in a specific way. + </p> + <p> +A Python script is somewhat more easy to create. + </p> + + <h1> +4 - Initialization of the dialog window + </h1> + <p> +You should add a new pluging (a script) in plugin list by clicking on the Add Plugin button. + </p> + + <h2> +4.1 - Plugin Configuration Parameters + </h2> + <p> +The Eeschema plug-in configuration dialog requires the following information: + </p> + <ul> + <li> + <p> +The title: for instance, the name of the netlist format. + </p> + </li> + <li> + <p> +The command line to launch the converter (usually a script). + </p> + </li> + </ul> + <p> + <b><i> +Note (Windows only): + </i></b> + </p> + <p> + <i> +By default, command line runs with hidden console window and output is redirected to "Plugin info" field. To show the window of the running command, set the checkbox "Show console window". + </i> + </p> + <p> +Once you click on the generate button the following will happen: + </p> + <ol> + <li> + <p> +Eeschema creates an intermediate netlist file *.xml, for instance <i>test.xml.</i> + </p> + </li> + <li> + <p> +Eeschema runs the script from the command line to create the final output file. + </p> + </li> + </ol> + + <h2> +4.2 - Generate netlist files with the command line + </h2> + <p> +Assuming we are using the program <i>xsltproc.exe</i> to apply the sheet style to the intermediate file, <i>xsltproc.exe</i> is executed with the following command. + </p> + <p> + <samp> +xsltproc.exe -o < output filename > < style-sheet filename > < input XML file to convert > + </samp> + </p> + <p> +On Windows the command line is the following. + </p> + <p> + <samp> +f:\kicad\bin\xsltproc.exe -o “%O” f:\kicad\bin\plugins\myconverter.xsl “%I” + </samp> + </p> + <p> +On Linux the command becomes as following. + </p> + <p> + <samp> +xsltproc -o “%O” /usr/local/kicad/bin/plugins/myconverter .xsl “%I” + </samp> + </p> + <p> +where <i>myconverter.xsl</i> is the style-sheet that you are applying. + </p> + <p> +Do not forget the double quotes around the file names, this allows them to have spaces after the substitution by Eeschema. + </p> + <p> +If a Python script is used, the command line is something like (depending on the Python script): + </p> + <p> + <samp> +python f:\kicad\bin\plugins\bom-in-python\myconverter.py “%I”“%O” + </samp> + </p> + <p> +or + </p> + <p> + <samp> +python /usr/local/kicad/bin/plugins/bom-in-python/myconverter.py “%I” “%O” + </samp> + </p> + <p> +The command line format accepts parameters for filenames: + </p> + <p> +The supported formatting parameters are. + </p> + <ul> + <li> + <p> +<b>%B</b> => base filename of selected output file, minus path and extension. + </p> + </li> + <li> + <p> +<b>%P</b> => project directory, without name and without trailing '/'. + </p> + </li> + <li> + <p> +<b>%I</b> => complete filename and path of the temporary input file (the intermediate net file). + </p> + </li> + <li> + <p> +<b>%O</b> => complete filename and path (but without extension) of the user chosen output file. + </p> + </li> + </ul> + <p> +<b>%I</b> will be replaced by the actual intermediate file name (usually the full root sheet filename with extension “.xml”) + <br> +<b>%O</b> will be replaced by the actual output file name (the full root sheet filename minus extension). + <br> +<b>%B</b> will be replaced by the actual output short file name (the short root sheet filename minus extension). + <br> +<b>%P</b> will be replaced by the actual current project path. + </p> + + <h2> +4.3 - Command line format: + </h2> + <h3> +4.3.1 - Remark: + </h3> + <p> +Most of time, the created file must have an extension, depending on its type. + <br> +Therefore you have to add to the option <i><b>%O</b></i> the right file extension. + </p> + <p> +For instance: + </p> + <ul> + <li> + <p> +<i><b>%O.csv</b></i> to create a .csv file (comma separated value file). + </p> + </li> + <li> + <p> +<i><b>%O.html</b></i> to create a .html file. + </p> + </li> + <li> + <p> +<i><b>%O.bom</b></i> to create a .bom file. + </p> + </li> + </ul> + <h3> +4.3.2 - Example for <i>xsltproc:</i> + </h3> + <p> +The command line format for xsltproc is the following: + </p> + <p> + <samp> +< path of xsltproc > xsltproc < xsltproc parameters > + </samp> + </p> + <p> +On Windows: + <br> + <samp> +f:\kicad\bin\xsltproc.exe -o “%O.bom” f:\kicad\bin\plugins\netlist_form_pads-pcb.xsl “%I” + </samp> + </p> + <p> +On Linux: + <br> + <samp> +xsltproc -o “%O.bom” /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl “%I” + </samp> + </p> + <p> +The above examples assume xsltproc is installed on your PC under Windows xsl exe files located in kicad\bin\<b>plugins\</b>. + </p> + + <h3> +4.3.3 - Example for <i>python</i> scripts: + </h3> + <p> +The command line format for python is something like: + </p> + <p> + <samp> +python < script file name > < input filename > < output filename > + </samp> + </p> + <p> +On Windows: + </p> + <p> + <samp> +python.exe f:\kicad\bin/plugins\bom-in-python\my_python_script.py “%I” “%O.html” + </samp> + </p> + <p> +On Linux: + </p> + <p> + <samp> +python /usr/local/kicad/bin/plugins/bom-in-python/my_python_script.py “%I” “%O.csv” + </samp> + </p> + <p> +Assuming python is installed on your PC, and python scripts are located in <i><b>kicad\bin\plugins\bom-in-python\</b></i>. + </p> + </body> </html> -- 2.18.0
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp