← Back to team overview

kicad-developers team mailing list archive

Re: CERN work package 4 (Extend number of layers)

 

On 04.06.2014 19:00, jp charras wrote:
Le 04/06/2014 18:07, Tomasz Wlostowski a écrit :
On 04.06.2014 17:31, jp charras wrote:
The team which works on libraries has its own mailing list:

kicad-lib-committers@xxxxxxxxxxxxxxxxxxx
Thanks :)


We are very happy to hear that compatibility with stable Kicad versions
is gaining importance.

Never easy to manage unknown items.
the PCB parser currently generates a fatal error.

Perhaps it could be enhanced.
OK.

Testing courtyard has nothing to do with zone refilling.

I think you misunderstood my point - I meant that the DRC (in general) should not modify the board. It was a bit off-topic comment, let's address this when the DRC work package is opened.

Testing courtyard needs only to calculate intersection between polygons,
which is easy with the code created for 3D view and zones management,
but it is not a zone refilling.

I'm not sure polygon-only courtyards are enough. What if someone wanted to draw a circular courtyard for a big electrolytic capacitor? The intuitive way would be to simply draw a circle.

pcbnew is full of drawing restrictions (e.g. no arcs/general graphics on copper layers), mainly imposed by the DRC. One of the goals of the DRC WP is to fix this. Another one is to handle cases that the DRC is currently missing (e.g. a label mistakenly placed over tracks, causing a short circuit).

We see any sort of clearance/distance/connectivity checking as a query between arbitrary sets of geometric shapes. The actual clearance calculations are "below" the DRC, the DRC passes the objects to be checked against.



Layer names were some time ago translatable (depending on the version of
Pcbnew).
Therefore, mainly in docs (videos, tutorials...), you can find French
layer names, or Spanish names ...

Currently, copper layers names are editable by user, because when you
have boards with 8 to 16 layers (I made one 16 layer board, but most of
recent boards I made have 8 layers) you need to know the layer 3 if a
GND plane, the layer 6 is used to route analog signals, ...
and the best way is to give them a name.

This is not needed for dedicated technical layers, which have now fixed
names.

What is the interest to rename a solder mask layer?
I never said we want all layer names to be editable. But it's nice to have "Dimensions" or "Front panel" or "Enclosure" layers instead of "Dwgs1.User", "Dwgs2", etc...


Since layer IDs are constant, why use names (that can be modified by the
user) to define the set of layers spanned by an item?

Is there any practical reason for that (other than serving a small
fraction of users who wish to hand-edit the files)?

No, layer IDs are not constant (see CERN work package 4!)

In practice, changing them would break version compatibility... (there are places where layers are encoded with IDs)

when the kicad_pcb file format was designed, Wayne tried to avoid using
IDs in files, because:
- We know the layer number will increase, and therefore the layers IDs
will change.
Still, at the beginning of each .kicad_pcb file there is the list of associations between the layer ID and the user-assignable layer names. Since the names are not always constant, the only constant factor are the IDs. Am I wrong?

- also because an human easily readable file format was expected.

The first draft of the file format was using IDs, and was abandoned (not
good)

- Using layer names also allows a sophisticated notation like *.Cu
*.Mask ..., which cannot be done with layers IDs

[Sorry to sound like an evil corporate manager] How would wildcards in layer sets improve the quality of our PCBs or the productivity of our PCB designers? ;)


Using in a file format data which reflects the internal coding details
of an application is always bad: this is why binary formats are so stupid. I can't agree here. Binary and textual formats have both pros and
cons. Would you store audio or bitmaps in a text file?


(Unfortunately, there are few place were internal coding appears, like
masks in allowed layers, but there are minor parameters)

Ack.

Cheers,
Tom


Follow ups

References