diff --git a/pcbnew/board_items_to_polygon_shape_transform.cpp b/pcbnew/board_items_to_polygon_shape_transform.cpp index f626406aef..c48622ce81 100644 --- a/pcbnew/board_items_to_polygon_shape_transform.cpp +++ b/pcbnew/board_items_to_polygon_shape_transform.cpp @@ -554,10 +554,10 @@ void D_PAD::TransformShapeWithClearanceToPolygon( SHAPE_POLY_SET& aCornerBuffer, int ddy = GetShape() == PAD_SHAPE_TRAPEZOID ? m_DeltaSize.y / 2 : 0; wxPoint corners[4]; - corners[0] = wxPoint( -dx + ddy, dy + ddx ); - corners[1] = wxPoint( dx - ddy, dy - ddx ); - corners[2] = wxPoint( dx + ddy, -dy + ddx ); - corners[3] = wxPoint( -dx - ddy, -dy - ddx ); + corners[0] = wxPoint( -dx - ddy, dy + ddx ); + corners[1] = wxPoint( dx + ddy, dy - ddx ); + corners[2] = wxPoint( dx - ddy, -dy + ddx ); + corners[3] = wxPoint( -dx + ddy, -dy - ddx ); SHAPE_POLY_SET outline; outline.NewOutline(); diff --git a/pcbnew/class_pad.cpp b/pcbnew/class_pad.cpp index db27a580fe..a846d01970 100644 --- a/pcbnew/class_pad.cpp +++ b/pcbnew/class_pad.cpp @@ -319,10 +319,10 @@ void D_PAD::BuildEffectiveShapes() const SHAPE_LINE_CHAIN corners; - corners.Append( -half_size.x + trap_delta.y, -half_size.y - trap_delta.x ); - corners.Append( half_size.x - trap_delta.y, -half_size.y + trap_delta.x ); - corners.Append( half_size.x + trap_delta.y, half_size.y - trap_delta.x ); corners.Append( -half_size.x - trap_delta.y, half_size.y + trap_delta.x ); + corners.Append( half_size.x + trap_delta.y, half_size.y - trap_delta.x ); + corners.Append( half_size.x - trap_delta.y, -half_size.y + trap_delta.x ); + corners.Append( -half_size.x + trap_delta.y, -half_size.y - trap_delta.x ); corners.Rotate( -DECIDEG2RAD( m_Orient ) ); corners.Move( shapePos );