P
Peter
Guest
I have been struggling with a bizzare problem in Protel PCB.
It refuses to accept that some pads (with reliefs to an internal
plane) are actually connected.
This illustrates the issue
http://peter-ftp.co.uk/screenshots/20190922465295908.jpg
A connects to B but does not connect to C. This is obviously nonsense!
Protel requires that for a split plane to be DRC-correct, the split
must be done by placing a POLYGON PLANE onto the plane, without a
fill, so you get just the outline track. So obviously their algorithm
is a bit "simple". Yet, no matter how many times I re-do this process
of placing that polygon, I cannot make it see C as connected to A and
B. In the end I fixed it by connecting B-C with a track... The polygon
principle definitely works in other scenarios.
It raises the specific question of how PCB software handles split
planes. How does it determine which pads (with reliefs to the plane)
are actually connected to each other, if there is a weird geometry in
the split? (the above case has no weird geometry; it is blindingly
obvious that A B and C are connected!)
One obvious way to determine topological connectivity is by dividing
the whole plane into squares and "colouring in" each square around a
particular pad, and working outwards until you reach the external
boundary, and if there is a contiguous line of coloured-in squares
between two pads, then those two pads are connected.
That will break down if the grid used for the squares is bigger than a
narrow channel in a split plane.
I don't know if there are algorithms which can determine connectivity
without doing this i.e. which will pick up a conductive channel of any
width or complexity, no matter how narrow?
It refuses to accept that some pads (with reliefs to an internal
plane) are actually connected.
This illustrates the issue
http://peter-ftp.co.uk/screenshots/20190922465295908.jpg
A connects to B but does not connect to C. This is obviously nonsense!
Protel requires that for a split plane to be DRC-correct, the split
must be done by placing a POLYGON PLANE onto the plane, without a
fill, so you get just the outline track. So obviously their algorithm
is a bit "simple". Yet, no matter how many times I re-do this process
of placing that polygon, I cannot make it see C as connected to A and
B. In the end I fixed it by connecting B-C with a track... The polygon
principle definitely works in other scenarios.
It raises the specific question of how PCB software handles split
planes. How does it determine which pads (with reliefs to the plane)
are actually connected to each other, if there is a weird geometry in
the split? (the above case has no weird geometry; it is blindingly
obvious that A B and C are connected!)
One obvious way to determine topological connectivity is by dividing
the whole plane into squares and "colouring in" each square around a
particular pad, and working outwards until you reach the external
boundary, and if there is a contiguous line of coloured-in squares
between two pads, then those two pads are connected.
That will break down if the grid used for the squares is bigger than a
narrow channel in a split plane.
I don't know if there are algorithms which can determine connectivity
without doing this i.e. which will pick up a conductive channel of any
width or complexity, no matter how narrow?