kicad-developers team mailing list archive
Mailing list archive
Re: [RFC] Comments for a Layer Stack Manager in Pcbnew
Wayne Stambaugh <stambaughw@xxxxxxxxx>
Wed, 21 Aug 2019 09:46:01 -0400
addr=stambaughw@xxxxxxxxx; prefer-encrypt=mutual; keydata= mQGiBEM0hxQRBAC2fNh3YOVLu1d5GZ0SbrTNldGiGnCJPLqzEnqFX9v6jmf33TMt6EmSLkl6 Wtfkoj0nVwKxcYmJkA8DX0QAokBkwNIzhSsBzQvthBLIk/5LnPVVKrEXOcL4mUyH1doKlkaE slgJozNa6Av+oavcvD02o1zJOloBbaHlNlyRt7fKswCgtIFlVjWggVH/15KfWk+Qo5JVPbME AIUBAQyL2OAx0n60AWec2WHnO9buHuG0ibtICgUMkE+2MRmYyKwYRdyVwGoIUemFuOyHp0AJ InX4T+vy2E7vkwODqjtMLfIoRkokW74Fi4nrvjlhOAw/vdq/twLbAmR9MOfPTpR4y7kQy1O2 /n+RkkRvh26vTzfbQmrH7cBJhk6aA/9Uwvu3E4zNJgHVZeS0HyWtmR1eOPPRbnkPgJTToX5O KMKzTJI/FX6kT7cFoCamitHrW3BJP4Dx+cMMsa47EGxqVTdbVJ4LjogsXTXxb+0Fn1u4zBdx x3Cer6O7+hqWy7zvpzeC6nSREjqDKa5CgHtv/GLm5uFPOmsjAsnHj2tlBrQmV2F5bmUgU3Rh bWJhdWdoIDxzdGFtYmF1Z2h3QGdtYWlsLmNvbT6IeAQTEQIAOBYhBOffs6CbblRzBkv33BtR cWlZ+CReBQJbFBS2AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEBtRcWlZ+CReMI8A nRbrLkzp7+c2f0vX7sfg4ICX8LAKAJ9uClo4uJajmZa5zZrL2nKdZlUwIrkCDQRDNIcxEAgA gCru+3/aOC6RCjpvYC72wY+d5SmHphC6yeiV2/mOumyt5MLo/Ps2GznZr11JspqFk5K/Zpvp MMLqqjDZ39+50a2iKRQFJ6NlK+hJWMmj6eJygQrCwYo3Gjc6CqfrqUv+8VSnf/i5sIZmtOVA 4ZjML18MuBvMSsNdVLFJd5HNnYb1iOECpvqdPVh/21LLCEw7MUUGGnHBhCrmk2aJe5hFmcSN g4ldBcXrgMQBwf7aMVoobXBMFDb/IENByXn0llB7Gr2IFMRmNS9/p8s/II1Yl2bTqyX4FSz8 cfn7C9KEz7faZ7wzAcpwHFC/zs3JoAjJ0IEKdNUpIwAlKMzT3CzctwADBQf/cxpG28MKyrqk nNmq/8LQLy+x6FSYXBLjxQz9BiBNYeesDZQ6J5UbL1mjpJzMa5tLZypPYo4bbGyR22hrbyDF K7m6AcVaMIJKl98g4ukMutFfAJyRDaREH5Zl/X1P4u1Z/yaAIy9mKaNbaK1/5djNJ5wCTFen TUgAp9xdc30kGkFDdLJFp5uxDY4P0vaZiZdjUCvDM3Zjv5IzpNOfxVqTUBQNUP/BnnKhkk0p DTD6s3X8S+D0rOtEBQ8K0cwERI/E8EFa8nj0TNw4e2MYGR8wg+SxqJ7z5f0zPY0bO6G9DDFB wYCqzzPWGqdAh9vA5971TAbPERtdFybhkurozp2SfYhJBBgRAgAJBQJDNIcxAhsMAAoJEBtR cWlZ+CResHUAniULLCWiT26ieRTl7N2vS6vBo/DuAJ4m7Ss/gyiW6ybTn1ctDXAUgm2QVQ==
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
On 8/17/19 2:39 PM, jp charras wrote:
> Le 13/08/2019 à 18:52, Wayne Stambaugh a écrit :
>> I took a look at your patch and I have a few comments.
>> Shouldn't the stack up dialog just be another panel the the board setup
>> dialog? I would think this information is part of the board setup but I
>> could be wrong.
>> If the stack up information is part of the board setup then it should be
>> in the "setup" section of the file format as well instead of a separate
>> Change the "board_stackup" token to "stackup". Board is implied.
>> I'm not sure "dielectric_constrains" is necessarily clear. Maybe
>> "control_dielectric" would be more clear although I'm open to suggestion.
>> The dialog layout definitely needs improved. The board thickness
>> control has the units appended in the edit control along with the units
>> displayed using static text. The layer color swatches are not aligned
>> with the rest of the layer row controls. The color comboboxes are
>> cutoff on GTK. The capitalization is incorrect for the check box and
>> sizer strings.
>> All in all, it's a good first step. I'm sure this will be improved over
>> time to cover other board stack up parameters.
> Wayne and Seth, thanks for your input.
> I attached a new version of the Layer Stack Manager that fixes some issues.
I could not apply the attached patch. Please rebase against the latest
master when you get a chance so I can test it.
I did not see the updated file format revision in your patch but maybe I
> A few comments on the dialog (also for @Seth):
> I have fixed some issues (the issue with wxBitmapComboBox is a wxGTK
> bug: I added a workaround)
> Currently the Layer Stack Manager uses its own dialog.
> However the main code uses a wxPanel, so it can be easily moved in the
> Preferences or the Board setup dialogs.
> But I am not convinced the Preferences or the Board setup is the right
> place for this stack manager:
> 1- the Layer Setup in board setup is already a list with many info.
> Adding more widgets on each line will create usability issues.
I wasn't suggesting that we merge the layer setup panel and layer stack
dialog. I agree that it would probably to too confusing. I was merely
suggesting that the board stack manager be a separate panel in the board
setup dialog which would not change the complexity of either the layer
or the stack configuration views.
> 2- these (layer setup and stack manager) panels are already not easy to
> use when setting the copper layer count to 32.
> 3- the layer setup manages info for the board editor.
> the stack manager manages info only for the CAM tools (currently, the
> .gbrjob file) and none of the settings in this stack manager are used
> by the board editor (but some will be used by the 3D viewer).
> I do not see a good reason to merge the layer setup the stack manager.
> Moreover, in the future, the layer setup should manage more info (when
> the possibility to add custom layers is added)
True, but there are design parameters where the layer stack information
could be used such as in the router to prevent layer to layer minimum
insulation violations or signal integrity simulations. While the stack
information may be primarily for CAM tools in it's current form, there
is valuable information that could be used for things like the routing,
thermal simulation, RF simulation, etc. so that is why I think it should
be added to the board setup dialog even if initially it's only used for
CAM output. I also think users will be more likely to expected it to be
in the same place as the rest of the board configuration but I could be
> 4- Once the stack manager is added to Pcbnew, the board thickness
> setting will be removed from the Layer setup panel.
This is one more reason that the layer stack configuration should be in
the board setup dialog. It's replacing the current fixed board
> 5- A good place for this stack manager could be inside a CAM tool that
> allows to create all files (Gerber, drill files and gbrjob file) in one
> command, with the same settings.
> The the current stack manager dialog should be seen only as a temporary
How would a CAM tool be separate from the board setup? As long as the
information was CAM only, I could see this making sense. What I want to
avoid is having duplicate information in the setup and stack
configurations. It seems to me like there is some overlap here so we
should make sure there is clear differentiation between the two before
we implement this.
> What about merging the code to master, and using advanced config to
> enable it, although it is not really finished?
I'm not opposed to this once we have all of the issues addressed.
>> On 8/10/19 7:18 AM, jp charras wrote:
>>> Since a long time, I started (slowly...) a layer stack manager.
>>> The purpose is to allow users to define (for board fabrication) some
>>> important parameters like:
>>> - tech, copper and dielectric thickness
>>> - color of some tech layers
>>> - dielectric material
>>> - board constraints.
>>> All of these parameters are in the .gbrjob file generated when plotting
>>> gbr files.
>>> Note also these parameters are not used in the board editor, only used
>>> to fabricate the board.
>>> the dialog is available from the "Tools" menu.
>>> The ultimate purpose is to have something like a CAM tool to manage info
>>> about the board fabrication and to create files needed to fabricate the
>>> board all in once.
>>> This is mandatory to ensure all files (gbr files, gbrjob files,
>>> placement files and some others) are created at the same time, and use
>>> the same settings.
>>> The first step is this layer Stack Manager.
>>> Please test and comment.
>>> Note also the dialog is not very good, but it is good enough (i hope) to
>>> test the feature.
>>> The main result of these settings is in the .gbrjob file.
>>> 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
>> 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
> 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