Hello Folks,
The question recently came up about how pcb-gcode calculates
it's toolpath, and why pads aren't isolated when there seems to
be plenty of room between.
Hopefully, this will help show how this is done. I'll add this
to the manual at some point (or revise what's there).
Eagle has the ability to create "pours", which are usually used
for things like ground planes. It fills in around areas where
there aren't any tracks, and does this obeying a couple of
parameters that are relevant to this discussion, width, and
isolation.
Width is the size of the line used to draw the polygons that
make up the pour. For our purpose, this is the tool size. By
using tool size as the width, the outer edge of the polygon
becomes the tool path. This saves me from having to do tool
offset myself, which is a pain (especially in inner corners),
and the reason I abandoned a BASIC version I was working on in
another CAD program.
Isolation is a minimal amount that the pour (polygons) should
be from all tracks. This is the minimum isolation parameter in
pcb-gcode-setup.
So here's why the pads you think should be isolated aren't
isolated. As shown in the image below, the total width of
everything between the pads is isolation+width+width+isolation.
To give an example, say you have a 0.1mm tool, and have
minimum isolation set to 0.05mm. The total then is
0.05+0.1+0.1+0.05=0.3mm, which may be larger than the space
between the pads you want to isolate. Technically, yes,
everything might fit, but that would require my (or someone)
writing code to do tool offset, and that's not practical for
me at the moment.
How to work around this?
- Change minimum isolation to 0.0, if
your machine is rigid enough.
- Edit the parts in Eagle and make the
pads smaller (I think it's restring?).
- Use a smaller tool.
- Draw the pad outlines on the milling
layer. Set the line width to the width of your tool to see the
actual tool path.
- Fudge a little on the tool size,
realizing your tracks will be slightly smaller.
Maybe you folks have other workarounds?
Hope this helps!
Regards,
JJ