I noticed that the environment variables config dialog also has html-based help message. So I changed eeschema/dialogs/dialog_bom.cpp in the same manear as it done in common/dialogs/dialog_env_var_config.cpp.
сб, 14 июл. 2018 г. в 10:01, jp charras <[email protected]>: > Le 12/07/2018 à 14:59, Simon Richter a écrit : > > 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 > > It is already in doc: > > http://docs.kicad-pcb.org/stable/en/eeschema.html#creating-customized-netlists-and-bom-files > Of course, this doc could be enhanced (if there is a volunteer to do that) > > I am thinking this kind of doc must be in the dialog, because the command > line needs explanations. > The user cannot know without help how to create/modify this command line. > > In dialog, it can be a basic ASCII text (or using very basic html > controls) (like in some other > dialogs). > > -- > Jean-Pierre CHARRAS > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp >
From dd900dfc3f1081048d544a5cf8997785858f999a Mon Sep 17 00:00:00 2001 From: Baranovskiy Konstantin <[email protected]> Date: Mon, 16 Jul 2018 12:58:49 +0300 Subject: [PATCH] Help message of BOM dialog is translatable now. --- eeschema/CMakeLists.txt | 17 -- eeschema/dialogs/dialog_bom.cpp | 214 ++++++++++++++++++- eeschema/dialogs/dialog_bom_help.html | 286 -------------------------- 3 files changed, 208 insertions(+), 309 deletions(-) delete mode 100644 eeschema/dialogs/dialog_bom_help.html diff --git a/eeschema/CMakeLists.txt b/eeschema/CMakeLists.txt index 819812d07..e1e86ccb5 100644 --- a/eeschema/CMakeLists.txt +++ b/eeschema/CMakeLists.txt @@ -253,23 +253,6 @@ else() set( EESCHEMA_RESOURCES eeschema.rc ) endif() -# Create a C++ compilable string initializer containing html text into a *.h file: -add_custom_command( - OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help_html.h - COMMAND ${CMAKE_COMMAND} - -DinputFile=${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help.html - -DoutputFile=${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help_html.h - -P ${CMAKE_MODULE_PATH}/Html2C.cmake - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help.html - COMMENT "creating ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help_html.h - from ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help.html" - ) - -set_source_files_properties( dialogs/dialog_bom.cpp - PROPERTIES - OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/dialogs/dialog_bom_help_html.h - ) - if( APPLE ) # setup bundle set( EESCHEMA_RESOURCES eeschema.icns eeschema_doc.icns ) diff --git a/eeschema/dialogs/dialog_bom.cpp b/eeschema/dialogs/dialog_bom.cpp index 106f4751b..4855ec940 100644 --- a/eeschema/dialogs/dialog_bom.cpp +++ b/eeschema/dialogs/dialog_bom.cpp @@ -48,10 +48,6 @@ #define BOM_PLUGINS_KEY wxT("bom_plugins") #define BOM_PLUGIN_SELECTED_KEY wxT("bom_plugin_selected") -const char * s_bomHelpInfo = -#include <dialog_bom_help_html.h> -; - #include <dialog_bom_cfg_lexer.h> using namespace T_BOMCFG_T; @@ -658,11 +654,217 @@ void DIALOG_BOM::OnEditPlugin( wxCommandEvent& event ) void DIALOG_BOM::OnHelp( wxCommandEvent& event ) { + wxString msg = _( "<h1>1 - Full documentation:</h1>" ); + msg << wxT( "<p>" ); + msg << _( "The <i><b>Eeschema documentation</b></i> describes this " + "<b>intermediate netlist and gives examples.</b>" ); + msg << wxT( "<br>" ); + msg << _( "See also " ); + msg << wxT( "<i>https://answers.launchpad.net/kicad/+faq/2265</i>" ); + msg << wxT( "</p>" ); + + msg << _( "<h1>2 - The intermediate Netlist File</h1>" ); + msg << wxT( "<p>" ); + msg << _( "BOM files (and netlist files) can be created from an " + "Intermediate netlist file created by Eeschema." ); + msg << wxT( "<br><br>" ); + msg << _( "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." ); + msg << wxT( "<br><br>" ); + msg << _( "Depending on the output (BOM or netlist), different subsets of " + "the complete Intermediate Netlist file will be used in the " + "post-processing." ); + msg << wxT( "</p>" ); + + msg << _( "<h1>3 - Conversion to a new format</h1>" ); + msg << wxT( "<p>" ); + msg << _( "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." ); + msg << wxT( "<br><br>" ); + msg << _( "This post-processing filter can be written using " + "<b>Python</b>, <b>XSLT</b>, or any other tool capable of " + "taking XML as input." ); + msg << wxT( "<br><br>" ); + msg << _( "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." ); + msg << wxT( "<br><br>" ); + msg << _( "A Python script is somewhat more easy to create." ); + msg << wxT( "</p>" ); + + msg << _( "<h1>4 - Initialization of the dialog window</h1>" ); + msg << wxT( "<p>" ); + msg << _( "You should add a new pluging (a script) in plugin list by " + "clicking on the Add Plugin button." ); + msg << wxT( "</p>" ); + + msg << _( "<h2>4.1 - Plugin Configuration Parameters</h2>" ); + msg << wxT( "<p>" ); + msg << _( "The Eeschema plug-in configuration dialog requires the " + "following information:" ); + msg << wxT( "<ul><li>" ); + msg << _( "The title: for instance, the name of the netlist format." ); + msg << wxT( "</li><li>" ); + msg << _( "The command line to launch the converter (usually a script)." ); + msg << wxT( "</li></ul>" ); + msg << wxT( "<br><br>" ); + msg << wxT( "<b><i>" ); + msg << _( "Note (Windows only):" ); + msg << wxT( "</i></b>" ); + msg << wxT( "<br>" ); + msg << wxT( "<i>" ); + msg << _( "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\"." ); + msg << wxT( "</i>" ); + msg << wxT( "<br><br>" ); + msg << _( "Once you click on the generate button the following will happen:" ); + msg << wxT( "<ol><li>" ); + msg << _( "Eeschema creates an intermediate netlist file *.xml, for " + "instance <i>test.xml.</i>" ); + msg << wxT( "</li><li>" ); + msg << _( "Eeschema runs the script from the command line to create the " + "final output file." ); + msg << wxT( "</li></ol>" ); + msg << wxT( "</p>" ); + + msg << _( "<h2>4.2 - Generate netlist files with the command line</h2>" ); + msg << wxT( "<p>" ); + msg << _( "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." ); + msg << wxT( "<br><br><samp>" ); + msg << _( "xsltproc.exe -o < output filename > < style-sheet " + "filename > < input XML file to convert >" ); + msg << wxT( "</samp><br><br>" ); + msg << _( "On Windows the command line is the following." ); + msg << wxT( "<br><br><samp> f:\\kicad\\bin\\xsltproc.exe -o “" + "%O” f:\\kicad\\bin\\plugins\\" + "myconverter.xsl “%I” </samp><br><br>" ); + msg << _( "On Linux the command becomes as following." ); + msg << wxT( "<br><br><samp> xsltproc -o “%O” /usr/local/kicad/" + "bin/plugins/myconverter.xsl “%I” </samp><br><br>" ); + msg << _( "where <i>myconverter.xsl</i> is the style-sheet that you are " + "applying." ); + msg << wxT( "<br><br>" ); + msg << _( "Do not forget the double quotes around the file names, this " + "allows them to have spaces after the substitution by Eeschema." ); + msg << wxT( "<br><br>" ); + msg << _( "If a Python script is used, the command line is something like " + "(depending on the Python script):" ); + msg << wxT( "<br><br><samp> python f:\\kicad\\bin\\plugins\\" + "bom-in-python\\myconverter.py “%I”“" + "%O” </samp><br><br>" ); + msg << _( "or" ); + msg << wxT( "<br><br><samp> python /usr/local/kicad/bin/plugins/" + "bom-in-python/myconverter.py “%I” “" + "%O” </samp><br><br>" ); + msg << _( "The command line format accepts parameters for filenames:" ); + msg << wxT( "<br><br>" ); + msg << _( "The supported formatting parameters are." ); + msg << wxT( "<br>" ); + msg << wxT( "<ul><li>" ); + msg << _( "<b>%B</b> => base filename of selected output file, minus " + "path and extension." ); + msg << wxT( "</li><li>" ); + msg << _( "<b>%P</b> => project directory, without name and without " + "trailing '/'." ); + msg << wxT( "</li><li>" ); + msg << _( "<b>%I</b> => complete filename and path of the temporary " + "input file (the intermediate net file)." ); + msg << wxT( "</li><li>" ); + msg << _( "<b>%O</b> => complete filename and path (but without " + "extension) of the user chosen output file." ); + msg << wxT( "</li></ul>" ); + msg << wxT( "<br><br>" ); + msg << _( "<b>%I</b> will be replaced by the actual intermediate file " + "name (usually the full root sheet filename with extension " + "“.xml”)" ); + msg << wxT( "<br>" ); + msg << _( "<b>%O</b> will be replaced by the actual output file name " + "(the full root sheet filename minus extension)." ); + msg << wxT( "<br>" ); + msg << _( "<b>%B</b> will be replaced by the actual output short file " + "name (the short root sheet filename minus extension)." ); + msg << wxT( "<br>" ); + msg << _( "<b>%P</b> will be replaced by the actual current project path." ); + + msg << _( "<h2>4.3 - Command line format:</h2>" ); + msg << _( "<h3>4.3.1 - Remark:</h3>" ); + msg << _( "Most of time, the created file must have an extension, " + "depending on its type." ); + msg << wxT( "<br><br>" ); + msg << _( "Therefore you have to add to the option <i><b>%O</b></i> the " + "right file extension." ); + msg << wxT( "<br><br>" ); + msg << _( "For instance:" ); + msg << wxT( "<ul><li>" ); + msg << _( "<i><b>%O.csv</b></i> to create a .csv file (comma separated " + "value file)." ); + msg << wxT( "</li><li>" ); + msg << _( "<i><b>%O.html</b></i> to create a .html file." ); + msg << wxT( "</li><li>" ); + msg << _( "<i><b>%O.bom</b></i> to create a .bom file." ); + msg << wxT( "</li></ul>" ); + msg << wxT( "</p>" ); + + msg << _( "<h3>4.3.2 - Example for <i>xsltproc:</i></h3>" ); + msg << wxT( "<p>" ); + msg << _( "The command line format for xsltproc is the following:" ); + msg << wxT( "<br><br><samp>" ); + msg << _( " < path of xsltproc > xsltproc < xsltproc " + "parameters >" ); + msg << wxT( "</samp><br><br>" ); + msg << _( "On Windows:" ); + msg << wxT( "<br><br><samp> f:\\kicad\\bin\\xsltproc.exe -o " + "“%O.bom” f:\\kicad\\bin\\" + "plugins\\netlist_form_pads-pcb.xsl “%I” " + "</samp><br><br>" ); + msg << _( "On Linux:" ); + msg << wxT( "<br><br><samp> xsltproc -o “%O.bom” /usr/local/" + "kicad/bin/plugins/netlist_form_pads-pcb.xsl “%I” " + "</samp><br><br>" ); + msg << _( "The above examples assume xsltproc is installed on your PC " + "under Windows xsl exe files located in " ); + msg << wxT( "kicad\\bin\\<b>plugins\\</b>." ); + msg << wxT( "</p>" ); + + msg << _( "<h3>4.3.3 - Example for <i>python</i> scripts:</h3>" ); + msg << wxT( "<p>" ); + msg << _( "The command line format for python is something like:" ); + msg << wxT( "<br><br><samp>" ); + msg << _( "python < script file name > < input filename > " + "< output filename >" ); + msg << wxT( "</samp><br><br>" ); + msg << _( "On Windows:" ); + msg << wxT( "<br><br><samp> python.exe f:\\kicad\\bin/plugins\\" + "bom-in-python\\my_python_script.py “%I” " + "“%O.html” </samp><br><br>" ); + msg << _( "On Linux:" ); + msg << wxT( "<br><br><samp> python /usr/local/kicad/bin/plugins/" + "bom-in-python/my_python_script.py “%I” " + "“%O.csv” </samp><br><br>" ); + msg << _( "Assuming python is installed on your PC, and python scripts " + "are located in " ); + msg << wxT( "<i><b>kicad\\bin\\plugins\\bom-in-python\\</b></i>." ); + msg << wxT( "</p>" ); + + HTML_MESSAGE_BOX help_Dlg( this, _("Bom Generation Help") ); help_Dlg.SetDialogSizeInDU( 500, 350 ); - wxString msg = FROM_UTF8(s_bomHelpInfo); - help_Dlg.m_htmlWindow->AppendToPage( msg ); + help_Dlg.AddHTML_Text( msg ); help_Dlg.ShowModal(); } diff --git a/eeschema/dialogs/dialog_bom_help.html b/eeschema/dialogs/dialog_bom_help.html deleted file mode 100644 index cd6169a2c..000000000 --- a/eeschema/dialogs/dialog_bom_help.html +++ /dev/null @@ -1,286 +0,0 @@ -<!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.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/> - -</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/> - -</p> -</body> -</html> -- 2.18.0
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

