No comments on the current discussion, it all makes sense. Just want to
point out a couple things in case they were missed.
The layers are being deleted (instead of disabled) to prevent DRC
problems and prevent file cruft, according to comments in the code.
kicad plugin is deleting layers from footprints when it saves a board by
omitting layers not enabled. If you think removing layers from
footprints is a bad idea, you will need to fix that.
From a user point of view I would prefer layer setup to not delete
anything. I can use the global deletion tool to delete ghings if i need.
If there is DRC problems on a disabled layer, an exra note that the
layer is disabled in the drc message would help.
On Fri, 23 Mar 2018, 07:34 jp charras, <jp.charras@xxxxxxxxxx
<mailto:jp.charras@xxxxxxxxxx>> wrote:
Le 22/03/2018 à 18:48, Andrey Kuznetsov a écrit :
> I thought we were talking about deleting layers, not disabling them?
Both.
The dialog disables layers.
How to manage items living on disabled layers (considering they can
live on more than one layer,
like pads and keepout zones)?
Currently, I certainly do not see this problem as fixed.
>
> I agree with Wayne, a footprint is a whole item, deleting part of
it means it is no longer valid,
> and thus must be removed.
>
> What if someone wants to remove the silkscreen layer because they
don't want it for production? I
> guess they can just delete the silk gerber before sending it in.
I can't think of a reason someone
> would want to delete a layer on a final product, without being
able to do it through gerber files.
> Otherwise deleting layers would be done during initial design
stage where someone is trying to
> figure out how many layers to have, but if they delete a top
layer with all the SMDs on it, then
> well, they should be warned about it, and if they choose to
delete it, it's their fault and they
> will have to undo or reimport all the items again.
Plot files has its own layer list.
Anyway, plot file list is not only the layers needed to make a board.
Fabrication files are needed only for assembly.
Gerber files are for making the board.
Other files are for assembly/documentation, and are usually not in
Gerber format.
>
> Disabling a layer should never delete existing objects.
However this topic is about deleting objects living on disabled layers.
>
> On Thu, Mar 22, 2018 at 10:15 AM, jp charras
<jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>
<mailto:jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>>>
> wrote:
>
> Le 21/03/2018 à 17:46, Wayne Stambaugh a écrit :
> > JP,
> >
> > Did you take a look at this patch? I know we have talked
about this in
> > the past and that the fix would not be easy. Until we can
define and
> > implement a complete solution, this could be a short term
fix. When you
> > get a chance, please take a look at it an comment on it.
> >
> > hauptmech,
> >
> > I'm not sure about the idea of breaking a footprint
(module) into layer
> > by layer pieces to match the removed layers. Footprints
are typically
> > thought of as atomic objects. I wonder if it wouldn't be
more prudent
> > to remove the footprint if any of it's layers are removed
from the layer
> > list and warn the user that removing said layer(s) would
result in
> > footprints being removed.
> >
> > Thanks,
> >
> > Wayne
> >
>
> I had a look at this patch.
>
> I do not think removing something to footprints already on
board is a good idea.
>
> I understand other board items can or must be removed when
disabling a layer, but removing something
> to a footprint is breaking this footprint, that become no
more reliable.
>
> What happens if later, a disabled layer like a silkscreen is
re-enabled for some reason?
> Footprints carefully designed are now broken.
>
> Like Seth, I am thinking disabling a layer (disabling is not
deleting) should not modify footprints.
>
> Currently, the Layer Setup dialog can create issues because
it allows disabling layers that are now
> used in DRC (edge cuts, courtyard, and margin that should be
used in V6 to create obstacles).
> Some other layers are mandatory to make a board: solder mask,
solder paste.
> These layers should be *always* enabled.
>
> So a better fix is certainly not to delete something in
footprints, but do not allow disabling these
> mandatory layers, and for others layers, display a warning if
a disabled layer is in use in a
> footprint.
>
> For me, the major bug is in the Layer Setup dialog that
allows disabling any layer.
>
>
> > On 3/20/2018 4:19 AM, Eeli Kaikkonen wrote:
> >> 2018-03-20 0:19 GMT+02:00 Seth Hillbrand
<seth.hillbrand@xxxxxxxxx <mailto:seth.hillbrand@xxxxxxxxx>
<mailto:seth.hillbrand@xxxxxxxxx <mailto:seth.hillbrand@xxxxxxxxx>>
> >> <mailto:seth.hillbrand@xxxxxxxxx
<mailto:seth.hillbrand@xxxxxxxxx> <mailto:seth.hillbrand@xxxxxxxxx
<mailto:seth.hillbrand@xxxxxxxxx>>>>:
> >>
> >>
> >> As it is, the patch resolves an issue and creates another.
> >>
> >>
> >> Actually Seth is wrong here. It doesn't create another
problem. Namely,
> >> as the code without the patch works now, it leaves the
board uneditable
> >> anyways, and without a warning. Just test with a footprint
which has
> >> nothing but ref and value and one paste-only pad. It
doesn't matter
> >> whether the pad is left there or removed after the layer
is deleted. The
> >> footprint can't be selected or edited.
> >>
> >> I would still go with this patch, just add a sentence to
the warning if
> >> pads are deleted. "Additionally this may lead to
footprints which cannot
> >> be edited or deleted" or something like that.
>
> --
> Jean-Pierre CHARRAS--
Jean-Pierre CHARRAS
_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
<mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp