Giter Site home page Giter Site logo

pcb-tools-extension's People

Contributors

marinmikael avatar opiopan 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

Watchers

 avatar  avatar  avatar  avatar  avatar

pcb-tools-extension's Issues

error while reading dxf file

I have an error while trying to read dxf file without $INSUNITS defined in file header:
error
It seems the method should be changed so it is immune to not finding $INSUNITS in file header (it is not a required parameter).

rout_statements used before init

The attached file throws an error that rout_statements is used before init at line 117 in excellon.py

Adding an initialiser:
rout_statements = []
after rout_nodes = []

appears to fix things OK.

Thanks for an awesome set of tools!
Gerber_Drill_NPTH.zip

Lines intersecting

Getting the line intersecting error on closed polyline entities.

This might be a difficult one to figure out.

It seems to happen mostly from things that I create in AutoCAD 2010 LT. I am wondering if the dxf can confuse the logic.

I do not see this behavior from the things I make using ezdxf or BricsCAD. More testing is needed though.

unsupported drill file type

This is my drill file from Ultiboard 12:
lor.TXT

It cannot export different one, it's part of rs-274x export.
But this lib fails to read it:

import gerberex
ctx = gerberex.DrillComposition()
drill1 = gerberex.read('lor.TXT')
ctx.merge(drill1)

Traceback (most recent call last):
  File "C:\py38_64\lib\site-packages\gerberex\composition.py", line 128, in merge
    raise Exception('unsupported file type')
Exception: unsupported file type

pcb_tools_extension-0.9.3-py3-none-any.whl
pcb-tools-0.1.6.tar.gz

Copying Gerber data to reuse it

Hi, this is a very nice module and a great addition to pcb-tools.

At the moment we try to create a panel for several PCBs, which are placed in arrays like 2x5, and it takes quite a lot of time as the Gerber data has to be loaded over and over from the disk for the placement, as offset() moves the whole data. Tried to do deepcopy() but this fails with a message about dict_values.

One workaround i can think of is to offset the data back, but this could probably lead to problems and slight offsets

Is there a way to create a copy of Gerber data and reuse it? Would speed up the process a lot.

Tag releases

Ahoi,
I'm trying to maintain this package in the Arch Linux User Repository. You would make my life easier if you could tag your releases on github. I could then create the package from each release instead of checking out the master. Your older release tags are difficult to parse. It would be much easier to just have v0.9.3 as a tag instead of v_0_9_1.

https://aur.archlinux.org/packages/python-pcb-tools-extension-git/

TypeError, caused by Aperture Macro?

I'm experiencing a type error occurring while trying to parse gerber files which contain aperture macros.

You can find a reference to it here: (under 4.5 Aperture Macro (AM))
ucamco gerber specification

Here is the error that occurs in file \gerberex\am_expression.py", line 54, in to_gerber :

gerber = '%.6g' % self._value
                  │    └ 'Rectangle Pad at angle 45'<gerberex.am_expression.AMConstantExpression object at 0x037F0BC8>
TypeError: must be real number, not str

The whole expression in my gerberfile that should create a rectangle with a side length of 0.05512 mils, placed at an 45 degree angle looks like this:

%AMT83*0 Rectangle Pad at angle 45*21,1,0.05512,0.05512,0,0,45*%

Broken arcs

Thanks for the useful tool.
BTW, I found an corner case where it produces the wrong gerber.
bug.dxf.gz

expected
bug

got

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.