You can probably ignore the centre holes in apertures. I’ve viewed thousands of gerber files and never seen anyone use that feature. The only time I’ve seen it used was when I created some test data myself to test a gerber rasteriser program.
Just tested my board files that I already submitted to Sparkfun and I received an Aperature too thin error message on both of my copper layers. On the other hand, the files passed the Sparkfun DRC and were sent to production.
An aperture definition can refer to an aperture macro. See the %AM immediately above the ADD10. An aperture macro is made up of an arbitrary number of ‘primitives’.
In this case, the OC8 macro has only one primitive, which is (5) a regular polygon, (1) Laser On (ie: dark, not clear), (8 ) 8 sides, (0,0) centre at 0,0, Diameter $1 which means the first (in this case only) parameter in the aperture definition, and (22.5) rotation of 22.5 degrees.
I don’t know why eagle uses an aperture macro to create an octagon when there’s a standard octagon aperture… Oh well…
ok, not 100% sure how i am going to work on them. I will leave it for after release, i will however get it to ignore marco apertures in the next version.
I have uploaded a new version of the drill file and layer checker:
Drill File Checker Updates:
Metirc / Imperial Should now work
Comments are ignored
Un-used drills are ignored
Layer File Checker Updates:
Comments are ignored
hehe,
ok, i will do metric later on the layer file.
There is one known ‘bug’ in the drill file checker which has exploded into a big one with this release. Here goes:
Drill files like this are OK:
T01C0.012
T02C0.03
T03C0.125
But these are not:
T1F00S00C0.020
T2F00S00C0.035
T3F00S00C0.062
T4F00S00C0.067
Basically at the moment i split from C, so on the top example i get 2 parts in an array of T01 and 0.012, i can then search the rest of the file for T01 (the way the tool T01 is selected for use) and then find out if it is used or not.
BUT with the second example i get T1F00S00 and 0.020, which is fine for size checking, but i need to get the F’s and S’s removed to check for the tool being used (this file will gove no error as all tools are marked ‘unused’)
The new line parse function i am working on will give me an array which i can easily search through for the relevant data.
Steve: are the F/S numbers anything to worry about?
Anyhow, thats all for now. I have a paper round to finish, after that i will kick out a bug fix for the above problem. OR work on my nicad smart charger circuit.
The F and S are feed rate and spindle speed definitions for that tool. They shouldn't be there. No PCB package should put them in a drill file, because they have no way of knowing what the settings should be on the manufacturer's drill machine. They're set to 0 above anyway, so they're useless as well as pointless.
Some CAM software can’t handle them and won’t import a drill file properly if they’re present.
So… Ignore them Or better, strip them out! Actually, I’ll have some software ready soon that will assign them to the bit bucket where they belong
ok macro support has been added, well they are now ignored. I am going to get some code to do a small test on the tool definitions using macros and give a warning if they cause errors. But they wont lead to a error as i tool using a macro could take a value of 4mill ( which would fail the check) and multiply it by 2 and 3 in the macro (to get 8mill and 12mill which should not fail).
You will also notice a cool new look to the drill tool page, i am working on the rest of the pages slowly but surely. Next stage is to get a MYSQL database account up and running so users can register.
and compare to the size of your board hehe, its not full proof and not yet 100% reliable as i dont take into account aperture widths, so it may be 2% - 5% out. depending on PCB size.
But all comments are welcome! (This will be an optional ‘tool’ in the pcb submission process, it should allow a simple checking of what the user calculates the size to be. There will also be a ‘page’ where the width and hight of a board can be input and the area worked out.)
ok lucky, there are 2 or 3 bugs. I now know any line with the letters X or Y in them at any point muck things up, also there is a problem with getting the X/Y co-odinates out.
I will have a go at em on wednesday as i have an exam in the morning.
pittuck:
BUT Eagle outputs and FreePCB ones should work
Hi Martyn,
I submitted a FreePCB file to your checker utility last night. The board is 1" X 2" but the utility said it was 1.4" X 2.4". I believe the problem is that the origin of the board (the lower left corner) was not at 0,0 but instead was at 0.4,0.4. I don’t know if this is something I can change in FreePCB, or if I even have to.
It certainly could be something I’m doing wrong since this is my first board with FreePCB (although I have submitted several other successful boards from a different program).
Not a big deal, just thought you would like to know.
Great job on your scripts, between them and the SFE PCB service it’s a great way to get proto boards made.
It was a simple fix, but there was a bug that meant when i split the collection of X values into an array the first element was 0 (so it would always go to X0 Y0 as origin anyway!)