Mailing list archives : pcb-rnd

ID:3285
From:ge...@igor2.repo.hu
Date:Thu, 22 Aug 2019 09:01:49 +0200 (CEST)
Subject:Re: [pcb-rnd] RFC: new layer groups: assy, fab, courtyard/keepout,
in-reply-to:3282 from ge...@igor2.repo.hu
 
 
On Wed, 21 Aug 2019, gedau@igor2.repo.hu wrote:
 
>4. I've upgraded the default 4 and 2 layer boards to contain the assy 
>layers. I haven't yet added the fab and keepout layer marked as default in 
>the original doc, because those layers would clutter the view on screen 
>and at the moment the code auto-enables all layer after load.
 
I've added a new feature (no file format change): if a group has an 
attribute called init-invis and the value is "on", "true", "yes" or 1, all 
layers in the group are starting out with visibility switched off after a 
load. This is similar how our paste and mask layer groups worked: you can 
turn them on if you want to see or edit them, but they are normally off to 
avoid screen clutter^1. 
 
I've modified the new layer group creation menus to add this attribute to 
most of these groups when they are created. I've also marked the existing 
assy layer groups in the default pcb to be initialli invisible.
 
I've also added the fab layer group to the default pcbs, with init-invis. 
The layer is marked auto, so the original fab rendering code does run - 
for the first time, you can see, on screen, what your export will look 
like and in theory you can also draw on it (haven't tested this one, 
anyone to volunteer?)
 
The only layers not added to the default pcbs are the courtyard keepout 
layers. I could add them the same way today, but I decided to wait until 
we really have the new DRC that can use them.
 
This means, the specification/code/menu/config implementation part of the 
new layer conventions is basically done. We still have two things pending, 
figuring what to recommend for the assy layers and upgrade pcblib to 
reflect those recommendations. But other than that, please test the new 
setup and report any bug.
 
Footnote:
 
^1: in theory we could just save layer visibility in the file. I decided 
not to do it because we've already how bad that can be: a few years ago, 
pre-lihata, the inherited code did save cursor position and zoom/pan 
status in the pcb file. The code was broken, so these settings didn't get 
loaded or applied - but generally everone seemed to be happy with the GUI 
always starting up in some well defined initial state. However, saving 
these things caused a lot of unwanted file changes and diffs, which was 
very annoying when using version control. So learning from that, I decided 
we don't want layer visibility saved, because it would voilate the 
initial-gui-startup idea we already have for other similar things, and 
would cause a lot off file content noise. However, I wanted to have an 
option for changing how the initial gui state goes, and with an attribute 
it was easy to do it in a non-intrusive way.
 
Best regards,
 
Igor2
 
 

Reply subtree:
3285 Re: [pcb-rnd] RFC: new layer groups: assy, fab, courtyard/keepout, from ge...@igor2.repo.hu