Giter Site home page Giter Site logo

buzzard's People

Contributors

dronecz avatar edwin-oetelaar avatar gregdavill avatar npoole avatar nseidle avatar oclyke avatar vedantparanjape avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

buzzard's Issues

Adjustable kerning?

Hi there,

I just discovered this nifty little tool yesterday and have been having loads of fun creating my own libraries of labels with the Python script.

However, I've noticed that the kerning between the letters of labels produced with the Python script and FredokaOne font can often be greater than those produced using the github.io tool. Is there any way to adjust this?

image

Cheers,
Adam

P.S. I think it'd be great to have some real-world examples showing how to execute a command to produce multiple labels. This took a few minutes to figure out as it wasn't immediately clear to me. For example:

python3 buzzard.py -o 'lib' -s 0.08 -f FredokaOne '[GND]','[3V3]','(SCL)','(SDA)','>!CS!<'

request 'requirements.txt'

In the Python branch some users may find they don't have all the required dependencies. Listing these in 'requirements.txt' would make it easier.

Here is a (potentially incomplete) list of requirements that I had to manually install:

  • svgpathtools
  • svgelements
  • freetype-py
  • bezier (error installing on mac)

Missing path seperators when calling Buzzard.py

I cannot figure out how to run this from Fusion 360 on macOS. I can browse for Buzzard.py from settings tab, the path shows up just normal (i.e. "/Users/crazor/repos/Buzzard"), however, all path seperators get stripped and I get an "Error: Command failed." button next to the OK button when I try to create a label. The error message says python "UserscrazorreposBuzzardbuzzard.py" -o lib -f FredokaOne

I tried different ways to specify the path, like escaping the slashes like \/, using\\, // but no dice.

Parsing collections with similar tags yields duplicate error

"(B-]" and "(B+]" both become "#B##" after being sanitized.
Making a note here to either vary the 'safe' characters or tweak Owen's new serializer (both tags, in this case, are getting the same serial number, which gives Eagle a hard time)

Practical improvements

2- In the other options we have <>,/ \ on right and left, pls add also ) ( for right and left

Windows?

Errors, lots of Errors. seems d:\git\buzzard\ turns into d:gitbuzzard and d:\git\buzzard\ works but Error: Command failed. and the error box only shows part of the python "d:\git\buzzard\buzzard.py" -o lib -l 1 -f FredokaOne
Since Eagle only works on Windows why am I getting these errors?

missing shebang for script execution

not a need but would be nice to include a shebang at the top of the script. this would enable calling Buzzard like this:

./buzzard.py

instead of like this (as is currently required):

python buzzard.y

the shebang should take the form:

#!/usr/bin/env python3

according to stack overflow

Doesn't work

Hi,

It seems the provided v1.0.1 release package isn't working as expected.

  1. Even though that's not the case in the github source code, the makeLabelGUI.ulp file in the downloaded package sometimes refers to python buzzard.py and sometimes to buzzard.exe.

  2. The downloaded package doesn't contain the buzzard.py file, only buzzard.exe.

  3. Calling buzzard.exe seems to always fail with AttributeError: function 'FTC_CMapCache_Lookup' not found. See the attached screenshot for an example. image

Regards,

Nicolas

Bridges to Stencil Islands

When using end styles labels with islands have bridges like those seen in stencilmaking.

The bridges seem to appear at inconsistent locations. Probably an artifact of the rendering process that is actually harmless. Though I don't have a solution in mind I think one approach would be to try to identify sections that are disconnected and render them individually (thanks cpt. obvious). Identifying isolated sections sounds tricky though

["oops" is not intended to be a dig - it just has lots of islands]
OOPS

*.pyc files are not .gitignored

i include Buzzard as a submodule in my hardware designs (it is convenient!). however after generating labels i need to discard some changes within the submodule (to keep my commits focused). these are just *.pyc files which are automatically generated. i think we can add them to the .gitignore without issue.

Tag shape labels at start/end can't be escaped

When running makeLabel in EAGLE, the tag shape characters ()[]/\>< can't be escaped with a \ when creating a plain text label.

For example, running the command run makeLabel "[0x12 \(Default\)]" creates a flag label as expected:

image

Whereas running the command run makeLabel "0x12 \(Default\)" does not create a plain text label as expected:

image

request command script option

Love this CLI Buzzard! Now I can finally get rid of having a library file per session on the web GUI.

I'd like to be able to keep a single script that is meant to generate all required buzzard labels. Right now I don't see options that would make this easy... the output gets stored as 'output.lbr' in the repo root and (I presume) it gets overwritten.

Writing a script would be possible, but it might be simpler/easier to build the command list handling right into Buzzard. I propose something like:

python buzzard.py --collection "buzzard_labels_collection.txt" -o lib

buzzard_labels_collection.txt:

"label1" -s 0.06 -a tl
"default label"
"fancy label" -f fredoka -s 0.5

Added perk: changes to buzzard labels used in a design are now easily viewed in source control software!

footprint naming independent of list position

So here's a thought that has been on my mind and I just want to record it (in case I forget or die)

Maintaining Buzzard labels alongside an Eagle design is getting pretty streamlined. You can maintain a collection of labels, generate them into a library, and keep that library as part of the design. There's something that would make this even nicer - if the label names did not change when you insert a label somewhere within the library.

If this were possible then one could use "Library->Update All" to "refresh" the labels all across the board.

Currently this does work as long as you don't change the order of labels in your collection. (Because Eagle uses the name with the appended serial number to identify the part within the library)

It may be possible to use some sort of hash on the text of the label to generate a unique name that can persist. Of course, this is not without challenges:

  • how to handle labels with the same text? (idea: hash the label text as well as all other label-level options, then the 0.08 and 0.04 sized versions of the same text will get their own names)

Out of initial ideas, might come back to this later.

Size of labels are not consistent to the number of chars

Hello,
Thank you for you great work.
I am facing to an issue (for me). If my label have the same number of char, labels have not the same width.
Do you have any idea how to fix that ?
I try both fonts but same behaviour, it seems to be due to different width of each letter ?
Thank you so much for your advice.
image

Some library requirement not yet compatible with 3.9

Not an issue with this library, but I did a fresh install of my OS and decided to update to python 3.9. Many of the library dependencies are not yet updated to support 3.9 including the very first one Bezier. Bezier at least (the only one I checked) does not list compatibility with 3.9 so it's expected behavior. Perhaps a note should be added to the README?

๐Ÿ‘

Same label text overwrites different size labels

To duplicate:

run makelabel "GND"

image

This will generate a label in default size.

run makelabel -s 0.08 "GND"

image

This will generate a larger label. As soon as the larger label is generated, the original label is replaced/increased in size by the current GND text.

Both labels have the Footprint "GND0" from library "output" so I can see why Eagle is getting confused. It would be nice to add a partial hash to the end of each footprint name when it's generated to make it unique from similar text.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.