← Back to team overview

kicad-developers team mailing list archive

Re: Module editor branch merged


On 07/17/2014 05:20 PM, Cirilo Bernardo wrote:
> ----- Original Message -----
>> From: Lorenzo Marcantonio <l.marcantonio@xxxxxxxxxxxx>
>> To: Kicad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Cc: 
>> Sent: Thursday, July 17, 2014 4:27 PM
>> Subject: Re: [Kicad-developers] Module editor branch merged
>> On Wed, Jul 16, 2014 at 03:27:44PM -0700, Cirilo Bernardo wrote:
>>>  How do these PCB edge modules interact with the PCB board edges?
>>>  Will they be solids or cutouts? What happens when a module with
>>>  a drawing on the Edges.Cut layer hangs over the edge of a PCB?
>> Just think about merging the edges in the module with these drawn.
>> The resulting behaviour would be the same.
>> What happens when you draw a new edge hanging over the edge of the pcb?
> I suspect we will need a separate cutout layer then. For me modules
> are more useful with cutouts rather than solid outlines. A card edge
> connector for example can have a cutout to ensure that the board edge
> has the correct shape. This way there will be no confusion about whether
> a draw segment is a cutout or a solid. At the moment this is inferred
> by assuming there is a single solid whose outline has a feature with the
> lowest X value; other segments are then checked for contiguity with this
> feature and that forms the solid outline - everything else is a cutout.
> With that logic, a module with a solid outline that hangs off the left
> edge of the board becomes the board outline and the genuine board
> outline becomes a cutout. A module extending over any other edge becomes
> a cutout of the board outline. Or am I confused about how the edges
> are treated?
> - Cirilo

The day we first talked about this was more than a year ago.  On the very same day, 20
minutes later, I spent 20 minutes and added support for it to the specctra export.  The
Collector class was very convenient for that.  I simply gathered up all the
segments/graphics on the Edge.Cuts layer, aggregating them into a Collector, and then
output them as a specctra board perimeter.

My thinking was that it was incumbent on the board perimeter to have gaps in it, which
would be filled in by segments from the module on the edge of the board.  This would be
like for castle-ations.  Or an edge connector with notch(es).

I don't think you have to make this too complicated.  You do not have an ambiguous board
perimeter.  Your actual *board level* Edge.Cuts graphics would be open.  Then entire
polygon would then be closed with the addition of the module which closes the gap.  You'd
have to butt the ends of the graphics.

The Edge.Cuts graphics in the module know what their relationship to the accompanying Cu
should be.

Follow ups