kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #40702
Re: Removing segment hard-coding
-
To:
Seth Hillbrand <seth@xxxxxxxxxxxxx>
-
From:
Wayne Stambaugh <stambaughw@xxxxxxxxx>
-
Date:
Thu, 16 May 2019 14:32:34 -0400
-
Autocrypt:
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==
-
Cc:
KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
In-reply-to:
<5e871e409f9af71927824f2f5e849beb@hillbrand.org>
-
Openpgp:
preference=signencrypt
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
Seth,
On 5/16/19 1:29 PM, Seth Hillbrand wrote:
> Am 2019-05-16 08:44, schrieb Seth Hillbrand:
>> Am 2019-05-16 08:31, schrieb Wayne Stambaugh:
>>> Seth,
>>>
>>> I took a look at this and it looks fine to me. Refresh my memory, is
>>> this change to reduce the number of arc segments to help address the
>>> performance issues on complex boards or is this change for some other
>>> reason?
>>
>> Correct, this reduces the complexity of boards by reducing the number
>> of segments needed to approximate small radius curves.
>>
>
>
> Hi All-
>
> The next step in this is to remove the segment count setting from the
> file format. I have a baseline patch for this pushed to my segments
> branch at [1]. As this is a file format change, it makes sense to think
> about whether we want to add a an option for the board maximum error at
> the same time.
>
> Currently, we use 0.005mm as the maximum error for most items. This
> includes approximating arcs, inflating/deflating for clearances and
> converting items to polygons for plotting. It may make sense to make
> this value a setting that is stored. There are a few options I see:
>
> 1) Put the value in the board file directly. This might make sense
> because it is used to figure out the copper fills that are stored in the
> file. But the value itself doesn't directly alter the physical aspect
> of the board.
>
> 2) Put the value in the board settings. This would be alongside things
> like layer visibility and plot settings.
>
> 3) Put the value in the user settings. This would be alongside things
> like anti-alias settings.
>
> If we go with option (3), we could have a separate value that controls
> the plot output settings stored like (2) so that two users working on
> the same board would get the same output.
>
>
>
> Thoughts?
> -Seth
>
> [1] https://code.launchpad.net/~sethh/kicad/+git/kicad/+ref/segments
If this setting has any affect on the board output (gerbers) then it
belongs in 1.
Otherwise, I don't have a preference. You could argue option 2 since
this setting seems like it would be board complexity dependent rather
than application dependent. I other words, you might want to allow more
error for rendering on a complex board and less error for a simple
board. You could just as easily argue that it's your system that is
slow and it should be an application setting (3).
Wayne
Follow ups
References