diff --git a/common/import_gfx/dxf_import_plugin.cpp b/common/import_gfx/dxf_import_plugin.cpp index d4c23cfae4..ede1756e34 100644 --- a/common/import_gfx/dxf_import_plugin.cpp +++ b/common/import_gfx/dxf_import_plugin.cpp @@ -645,7 +645,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 ) { @@ -666,6 +668,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 );