opiopan / pcb-tools-extension Goto Github PK
View Code? Open in Web Editor NEWPython library to panelize gerber files
License: Apache License 2.0
Python library to panelize gerber files
License: Apache License 2.0
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
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.
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
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.
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/
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*%
Rotating arc in single quadrant mode (G74) may fail.
Thanks for the useful tool.
BTW, I found an corner case where it produces the wrong gerber.
bug.dxf.gz
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.