If you're looking for legacy buzzard, it is still live at github.io and the source can be found in the gh-pages
branch of this repo. Below is the documentation for Buzzard.py
. For extensive legacy documentation, see the wiki.
Thanks to Gregory Davill, Buzzard now generates tags in KiCad footprint format via the -o ki
and -o ki5
argument.
- Windows: open folder where you download and extracted Buzzard (Buzzard-master), hold Shift and right-click on that folder and from context menu select "Open PowerShell Window Here". When the window is open, type: "pip install -r requirements.txt" and press Enter.
- There is now a 64-bit Windows executable built with PyInstaller and automatically attached to each stable release. Simply download the
buzzard.zip
file attached to the latest release and usebuzzard.exe
just as you wouldbuzzard.py
. There are modified Eagle ULP scripts in the release archive that point to the executable as well.
- copy makeLabelGUI.ULP to the Eagle example folder (recommended), or somewhere else, so you can call it via command line or you can assign shortcut for it (Option -> Assign). You can also leave it at same folder as buzzard.py .
- call or open ULP script (id there is not config file, pop up window will show up) and in Settings set path to buzzard.py script and select folder and file name for generating labels. Optional: You can also add address to your managed library, if you have some. You can obtain it by right-click on it and select "Copy URN".
- select options which you want to save between sessions, write your label and click OK
- script does not work if you will have "@" in your file path
- saving to managed library does not work properly (I need to solve this)
- you can not generate label with spaces!
usage: buzzard.py [-h] [-f FONTNAME] [-s SCALEFACTOR] [-l EAGLELAYERNUMBER]
[-v] [-o {b,ls,lib,ki,ki5}] [-n SIGNALNAME] [-u SUBSAMPLING]
[-t TRACEWIDTH] [-a {tl,cl,bl,tc,cc,bc,tr,cr,br}]
labelText
positional arguments:
labelText Text to write on the label
optional arguments:
-h, --help show this help message and exit
-f FONTNAME Typeface to use when rendering the label
-s SCALEFACTOR Text Height in inches (same as EAGLE text size value)
-l EAGLELAYERNUMBER Layer in EAGLE to create label into (default is tPlace
layer 21)
-v Verbose mode (helpful for debugging)
-o {b,ls,lib,ki,ki5} Output Mode ('b'=board script, 'ls'=EAGLE library script,
'lib'=EAGLE library file, 'ki'=KiCad footprint 'ki5'=KiCad v5 footprint)
-n SIGNALNAME Signal name for polygon. Required if layer is not 21
(default is 'GND')
-u SUBSAMPLING Subsampling Rate (larger values provide smoother curves
with more points)
-t TRACEWIDTH Trace width in mm
-a {tl,cl,bl,tc,cc,bc,tr,cr,br}
Footprint anchor position (default:cl)
-w {w,a} Output writing mode (default:w)
-d DESTINATION Output destination filename (extension depends on -o
flag)
-c If specified labelText is used as a path to collection
script (a text list of labels and options to create)
-stdout If specified output is written to stdout
Label text should be enclosed in doublequotes in order to pass certain characters via the commandline. Note: If you're using Windows PowerShell you may need to escape certain characters using the "`" (backward apostrophe/grave)
By default, Buzzard.py will output plain text labels. If you want to make a flag label, you can surround your text with the following
special characters: ()[]/\><
For example:
(capsule)
/forward-slash/
\back-slash\
>flagtail-pointer>
[square]
These tag shape indicators can be mixed and matched as well, i.e. (half-capsule]
When using the -o lib
output format, multiple comma-separated tags can be generated. If you need multiple tags with individual
formatting, try collections mode!
Buzzard.py supports using "!" to overline tags in the same way that EAGLE does. For the most predictable results, overlined text should be surrounded by exclamation marks, i.e. in EAGLE, "!INT" will produce overlined text, but it is best practice to write "!INT!" instead.
If you want to use the literal "!" character in your tag, it should be escaped with a leading backslash, i.e. "\!"
If you want to use the literal "\" character in your tag, it should be escaped with a leading backslash, i.e. "\\" A backslash in the first position of a tag string will always be interpreted as a tag shape indicator.
Buzzard.py will attempt to use any TrueType font in the /typeface
directory, but because buzzard cannot read the GPOS tables,
it requires character offsets to be explicitly defined in an eponymous python module. Modules currently exist only for the included
typefaces "Roboto" and "FredokaOne". If a module doesn't exist, but the font is present, buzzard will attempt to generate the tag
without position information.
This argument controls the output size of the tag. Units are height of text in inches. The default is 0.04".
This argument controls which EAGLE layer the tag is written to. Default value is 21 (tPlace)
If something gets borked, try running again with -v
to see what's happening under the hood
This argument controls which format the tag output is generated for
By default, buzzard.py will generate a file called output.scr
which can be run in the EAGLE board editor.
Library script mode will generate a file called output.scr
which can be run in the EAGLE library footprint editor.
Library package mode will generate a file called output.lbr
which is an EAGLE library file containing the specified tag/tags
KiCad footprint mode will generate a file called 'output.kicad_mod' which is a KiCad footprint file containing the specified tag
This argument defines the EAGLE signal name of the output, which is only required for metal layers. It is GND
by default.
This argument essentially defines the resolution of the output. A smaller number will produce smoother curves but larger files. Note: Smaller scale factors require smaller subsampling factors
Tracewidth of output in mm
In library package output mode, the position of the anchor point can be specified using the -a
argument. The default value is cl
The following values are permissible:
tl - top left
cl - center left
bl - bottom left
tc - top center
cc - center center
bc - bottom center
tr - top right
cr - center right
br - bottom right
By default, buzzard.py with overwrite the output file. Running with the -w a
option, however, will run buzzard.py in "append mode,"
adding the specified tag to the existing output file.
Using the -d
flag will allow you to specify the name of the output file. The file extension will automatically be selected based on
the output format.
Passing the -c
flag will run buzzard.py in collection mode. Instead of passing a comma-separated collection of strings, you may pass
the path to a text file containing the strings that you wish to generate. In collection mode, each tag can be generated with its own
properties. An example collection.txt may be found in the ./tests/ directory
If this argument is specified, the output will be written to stdout instead of a file. This is handy for piping to clipboard, etc.