-
Notifications
You must be signed in to change notification settings - Fork 0
Create Fritzing fzp file connector xml
License
vanepp/FritzingCreateFzpConnectors
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Description:
FritzingCreateFzpConnectors.py is a python script which creates the
connectors section of an fzp file to partially automate modifying fzp files
used by the Fritzing EDA program (fritzing.org). The intent is to make it
easier to add or renumber the connector section of an existing fzp file (it
does not create a complete fzp file, although it could be modified to do so).
One use is to correct a fzp file which has the connectors out of order (not
starting with connector 0) or out of sequence (not starting at connector 0
and increasing by one til the last connector). Another use is to add new
connectors to the end of an existing fzp file. The new connectors have to then
be manually added to the associated svg files, but this makes adding the
necessary xml to the fzp file easier. To accommodate adding connectors to an
existing file, you can optionally add a starting connector number on the
command line.
FritzingCreateFzpConnectors.py Output-file Number-of-connectors
is the minimimal command. It defaults to no breadboard terminalId and starts
at connector0. You can optionally add a starting connector number by adding it
to the end of the command:
FritzingCreateFzpConnectors.py Out 2 2
which will produce a 2 connector file starting at connector2 (so connector2 and
connector3)
getopt type option flags will modify the script behaviour as follows:
-b | --breadboard-terminalId : Emit breadboard TerminalId
By default the script does not emit the breadboard terminalId field because
it is not normally used. If you need the field using the -b flag will
cause the script to emit it.
-o | --overwrite : Overwrite the output file if it exists
By default the script will print
Error: File t already exists.
followed by the usage message if the output file already exists to prevent
overwriting a previous run. The -o flag causes the file to be overwritten
without comment.
-p | --no-pcb-layer : omit pcb layer
In cases where you don't want a pcb view, this flag will supress all of
the pcbview xml in the connnector definition. You should still manually
remove the pcbview definition from before the connectors section in the
fzp file (although not doing so will still work fine but will then output
the silkscreen layer if it is present in the pcb svg which may be
undesireable).
-s | --no-schematic-terminalId : Don't emit schematic terminalId
Although I can't think of a case where I would want to supress the
schematic termanalId, if you should need to do so setting this flag will
supress the terminalId field in the schematic section of the connector.
Some examples of commands followed by their output:
default case:
FritzingCreateFzpConnectors.py t 2
creates a file t which contains:
<connector id="connector0" type="male" name="">
<description></description>
<views>
<breadboardView>
<p svgId="connector0pin" layer="breadboard"/>
</breadboardView>
<schematicView>
<p svgId="connector0pin" layer="schematic" terminalId="connector0terminal"/>
</schematicView>
<pcbView>
<p svgId="connector0pin" layer="copper0"/>
<p svgId="connector0pin" layer="copper1"/>
</pcbView>
</views>
</connector>
<connector id="connector1" type="male" name="">
<description></description>
<views>
<breadboardView>
<p svgId="connector1pin" layer="breadboard"/>
</breadboardView>
<schematicView>
<p svgId="connector1pin" layer="schematic" terminalId="connector1terminal"/>
</schematicView>
<pcbView>
<p svgId="connector1pin" layer="copper0"/>
<p svgId="connector1pin" layer="copper1"/>
</pcbView>
</views>
</connector>
which may then be added or substituted to the connectors section of an existing
fzp file to add or modify connectors. Of note is that the name and description
fields are blank and thus need to be addedi or copied from the current
connector definitions. By default the breadboard terminalId is omitted
(although there is an option for adding it).
Examples of the output from the various options:
Optional starting connector number (connectors start at 2) to add new
connectors to an existing file (or correct the sequence after a certain point
in the file). This would be inserted after connectors 0 and 1:
FritzingCreateFzpConnectors.py t 2 2
creates a file t which contains:
<connector id="connector2" type="male" name="">
<description></description>
<views>
<breadboardView>
<p svgId="connector2pin" layer="breadboard"/>
</breadboardView>
<schematicView>
<p svgId="connector2pin" layer="schematic" terminalId="connector2terminal"/>
</schematicView>
<pcbView>
<p svgId="connector2pin" layer="copper0"/>
<p svgId="connector2pin" layer="copper1"/>
</pcbView>
</views>
</connector>
<connector id="connector3" type="male" name="">
<description></description>
<views>
<breadboardView>
<p svgId="connector3pin" layer="breadboard"/>
</breadboardView>
<schematicView>
<p svgId="connector3pin" layer="schematic" terminalId="connector3terminal"/>
</schematicView>
<pcbView>
<p svgId="connector3pin" layer="copper0"/>
<p svgId="connector3pin" layer="copper1"/>
</pcbView>
</views>
</connector>
Default single connector output for comparison:
FritzingCreateFzpConnectors.py t 1
<connector id="connector0" type="male" name="">
<description></description>
<views>
<breadboardView>
<p svgId="connector0pin" layer="breadboard"/>
</breadboardView>
<schematicView>
<p svgId="connector0pin" layer="schematic" terminalId="connector0terminal"/>
</schematicView>
<pcbView>
<p svgId="connector0pin" layer="copper0"/>
<p svgId="connector0pin" layer="copper1"/>
</pcbView>
</views>
</connector>
Add the breadboard terminalId back in:
FritzingCreateFzpConnectors.py -b t 1
<connector id="connector0" type="male" name="">
<description></description>
<views>
<breadboardView>
<p svgId="connector0pin" layer="breadboard" terminalId="connector0terminal"/>
</breadboardView>
<schematicView>
<p svgId="connector0pin" layer="schematic" terminalId="connector0terminal"/>
</schematicView>
<pcbView>
<p svgId="connector0pin" layer="copper0"/>
<p svgId="connector0pin" layer="copper1"/>
</pcbView>
</views>
</connector>
Remove pcb view (noting that you need to manually remove the pcbview definition
earlier in the fzp file as well):
FritzingCreateFzpConnectors.py -p t 1
<connector id="connector0" type="male" name="">
<description></description>
<views>
<breadboardView>
<p svgId="connector0pin" layer="breadboard"/>
</breadboardView>
<schematicView>
<p svgId="connector0pin" layer="schematic" terminalId="connector0terminal"/>
</schematicView>
</views>
</connector>
Remove schematic terminalId:
FritzingCreateFzpConnectors.py -s t 1
<connector id="connector0" type="male" name="">
<description></description>
<views>
<breadboardView>
<p svgId="connector0pin" layer="breadboard"/>
</breadboardView>
<schematicView>
<p svgId="connector0pin" layer="schematic"/>
</schematicView>
<pcbView>
<p svgId="connector0pin" layer="copper0"/>
<p svgId="connector0pin" layer="copper1"/>
</pcbView>
</views>
</connector>
About
Create Fritzing fzp file connector xml
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published