New FAQ and online DRC Scripts

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.

Steve.

ok well its there.

gotta go now, cause my bain is fuzzled.

btw:

http://www.sparkfun.com/~mpittuck/sr0405.jpg

(sorry for using ur bandwidth sparky, as soon as i get my site online i will move the image there!)

U gotta love the number of emails i have accumulated today![/img]

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.

-Bill

ok i just looked and the error is on this line:

%ADD10OC8,0.0600*%

This comes down to

%AD - Aperture Desction

D10 - Tool Number

OC8 - No idea! STEVE!

0.0600 - Tool size (this passes)

*% end of line.

the line OC8 is funny

Could u please post a image of the board? (The PCB Viewer program, i.e. a virtual image)

Yes, I know what it is.

%AMOC8*

5,1,8,0,0,1.08239X$1,22.5*

%

%ADD10OC8,0.0600*%

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…

Steve.

Here you go:

[Link to Zipped Gerber Files

Top side of board: The crosses showing text origin do not appear in the gerber files.

http://home.comcast.net/~wahconah98/work/boardtop.gif

Bottom side of board:

http://home.comcast.net/~wahconah98/wor … bottom.gif

-Bill](http://home.comcast.net/~wahconah98/work/spartan3_header.zip)

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.

Regards,

  • Martyn

T1F00S00C0.020

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 :slight_smile: Or better, strip them out! Actually, I’ll have some software ready soon that will assign them to the bit bucket where they belong :wink:

Steve.

okie, bug squashed.

I will do the metric allowances in the layers next.

Steve: the metric / inch codes are same on the drill and layer files right?

Steve: the metric / inch codes are same on the drill and layer files right?

Not necessarily. I mean, they most probably are the same, but I don't think you should rely on that.

There’s no guarantee that all the gerber files are formatted the same, either.

I think you should take each file as it comes and not make any assumptions.

ASS U ME etc…

Steve.

Hi, just an update,

Metric / Inch should now work on Layers as well as Drill files.

Regards,

  • Martyn

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.

Regards,

  • Martyn

ok everyone new tool to play with :smiley:

can everyone upload a silkscreen file here:

http://www.sparkfun.com/~mpittuck/size.php

and compare to the size of your board :smiley: 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.)

REgards,

  • Martyn

Hi Martyn,

It didn’t work for me. I got:

And the results are:

X0 : Y0 => 0 = 0 inch2

And the results are:

X02.0514 : Y00.8534 => 1.75066476 = 2 inch2

Right on the money!

-Bill

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.

BUT Eagle outputs and FreePCB ones should work :wink:

pittuck:
BUT Eagle outputs and FreePCB ones should work :wink:

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.

Thank you,

Bob

ok fixed :smiley:

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!)

Anyhow, they should work now :smiley:

Thanks Martyn.

I sent my FreePCB file through again and it worked fine.

Bob

ok cool