diff --git a/pcbnew/import_gfx/dxf_import_plugin.cpp b/pcbnew/import_gfx/dxf_import_plugin.cpp index a96b51a3c0..8c897ed4f5 100644 --- a/pcbnew/import_gfx/dxf_import_plugin.cpp +++ b/pcbnew/import_gfx/dxf_import_plugin.cpp @@ -601,7 +601,9 @@ void DXF_IMPORT_PLUGIN::addEllipse( const DL_EllipseData& aData ) if( startAngle > endAngle ) endAngle += ANGLE_360; - // TODO: testcases for negative extrusion vector; handle it here + // Angles are relative to major axis + startAngle -= EDA_ANGLE( major ); + endAngle -= EDA_ANGLE( major ); if( aData.ratio == 1.0 ) { @@ -622,6 +624,8 @@ void DXF_IMPORT_PLUGIN::addEllipse( const DL_EllipseData& aData ) } } + // TODO: testcases for negative extrusion vector; handle it here + std::vector> splines; ELLIPSE ellipse( center, major, aData.ratio, startAngle, endAngle );