← Back to team overview

kicad-developers team mailing list archive

Re: Trapeziodal pads are buggy


Le 07/09/2010 17:58, Dick Hollenbeck a écrit :

On 09/07/2010 10:52 AM, Dick Hollenbeck wrote:
On 09/07/2010 09:17 AM, Dick Hollenbeck wrote:

I'm spending some time this morning looking into this.


Jean Pierre,

When adding the support for trapezoidal pads to specctra_export.cpp, I
noticed there is a bug in dialog_pad_properties.cpp which causes the
m_DeltaSize.y value to be displayed as positive even when the value has
been entered and saved previously as negative.

The same problem does not exist for the x value, which is displayed
properly as negative when it is.

In 4 minutes I could not find the source of the problem.


More info I forgot to mention:

this is the dialog which you call from the main pcbnew app, not from the
module editor.
The sign of the value is displayed properly when the dialog is invoked
from the module editor, but not properly when invoked from the main
program on a specific pad only.


In fact, this is not really a bug, but an inconsistency in pad editor, due to the way Pcbnew handles modules on back side.
When a footprint is flipped, the footprint is mirrored and some Y coordinates are negated.
So m_DeltaSize.y is negated by the mirroring transform and become negative if it was set to a positive value in module editor.
This is also true for m_Offset.y and m_Pos0.y
Sizes are always >0 and therefore are not modified.

The inconsistency is the fact the dialog uses values for m_DeltaSize.y and m_Offset.y
which are modified by the side where the footprint is,  but which are not modifed by its orientation.
(i.e. module orientation does not change the displayed values, but flipping this module change these values)

I am working on a dialog pad editor enhancement to avoid this inconsistency,
and also avoid mistakes in parameters edition.
(I think just modifying the way Delta Y size or Offset Y value is displayed is not enough)

Note also trapezoidal pads are mainly for microwaves applications and others issues (clearance area shape, DRC...) are more a "not finished work" problem than a bug.
DRC using microwaves constraints is a lot more tricky than usual DRC

Jean-Pierre CHARRAS
KiCad Developers team.
KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>

Follow ups