[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Embedded polygon


A clearance of 2731 passes, 2732 crashes. Attached is a more minimalist

What is required to run the OpenGL port?


On 01/18/2011 11:31 AM, Peter Clifton wrote:
On Tue, 2011-01-18 at 11:17 -0500, George M. Gallant, Jr. wrote:

I just redid the git, rebuilt pcb, same results.
I wasn't expecting the result to change (I'm not running git HEAD here,
I'm running my OpenGL port, which has different drawing code for
polygons, and hence doesn't crash).

[ggallant@firefly pcb]$ git rev-parse HEAD

I've identified the problem. Basically, the thermal shape around some of
your through-hole pins is causing it to crash. PCB's themal shape is
producing some horrible illegal geometry for the clearance you have set
around the pins.

As a quick hack to get you up and running again, search for lines with
"thermal([0-9]X)" in the flags. Make an edit similar to the one here:

-	Pin[10000 0 6000 3000 6600 3800 "2" "2" "edge2,thermal(1X)"]
+	Pin[10000 0 6000 2000 6600 3800 "2" "2" "edge2,thermal(1X)"]

                           ^__ clearance I think.

The problem is that the thermal shape becomes broken for certain large
clearance sizes, and that caused PCB to explode.

Make a backup of your original work before attempting this!

Once you've got it loading correctly, you can determine what sort of
clearance you need to give an appropriate looking thermal relief.

Notes for developers (should go into a launchpad bug if I can't fix this

A fix for this belongs:

1. In src/thermal.c (to avoid producing BROKEN polygons)
2. Wherever the clearance modified - to avoid choosing a bad clearance.
3. Possibly some warning function to note the mistake when loading a PCB
with bad clearances.

4. Longer term - do we need to revisit the maths used to create thermal
shapes? How do we fix this without risking breaking old designs?

Attachment: gg2.pcb
Description: application/pcb-layout

geda-user mailing list