← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Fix for bug/1754049

 

Now that a fix for the lost data has been merged, we should defer the fix for how to handle deleting objects from removed layers until v6. In the mean time, we should clearly define the behavior before we write any code to prevent any wasted developer time.

Cheers,

Wayne

On 03/22/2018 03:09 PM, hauptmech wrote:
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



Follow ups

References