Handle DXF arcs with a flipped coord system.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14905
(cherry picked from commit 75b160e83a
)
This commit is contained in:
parent
7d409b9404
commit
bfdbf969c2
|
@ -543,6 +543,13 @@ void DXF_IMPORT_PLUGIN::addArc( const DL_ArcData& aData )
|
||||||
EDA_ANGLE startangle( aData.angle1, DEGREES_T );
|
EDA_ANGLE startangle( aData.angle1, DEGREES_T );
|
||||||
EDA_ANGLE endangle( aData.angle2, DEGREES_T );
|
EDA_ANGLE endangle( aData.angle2, DEGREES_T );
|
||||||
|
|
||||||
|
if( ( arbAxis.GetScale().x < 0 ) != ( arbAxis.GetScale().y < 0 ) )
|
||||||
|
{
|
||||||
|
startangle = ANGLE_180 - startangle;
|
||||||
|
endangle = ANGLE_180 - endangle;
|
||||||
|
std::swap( startangle, endangle );
|
||||||
|
}
|
||||||
|
|
||||||
// Init arc start point
|
// Init arc start point
|
||||||
VECTOR2D startPoint( aData.radius, 0.0 );
|
VECTOR2D startPoint( aData.radius, 0.0 );
|
||||||
RotatePoint( startPoint, -startangle );
|
RotatePoint( startPoint, -startangle );
|
||||||
|
|
Loading…
Reference in New Issue