diff --git a/pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp b/pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp index d6d5101c4e..cb82c118ec 100644 --- a/pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp +++ b/pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp @@ -2001,6 +2001,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers() ERROR_LOC::ERROR_INSIDE ); } + poly.ClearArcs(); rawPolys.BooleanAdd( poly, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE ); } @@ -2008,6 +2009,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers() else { rawPolys = getPolySetFromCadstarShape( csCopper.Shape, -1 ); + rawPolys.ClearArcs(); rawPolys.Inflate( copperWidth / 2, 32 ); } @@ -2043,7 +2045,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers() if( csCopper.Shape.Type == SHAPE_TYPE::OPENSHAPE - || csCopper.Shape.Type == SHAPE_TYPE::OUTLINE ) + || csCopper.Shape.Type == SHAPE_TYPE::OUTLINE ) { std::vector outlineShapes = getShapesFromVertices( csCopper.Shape.Vertices ); @@ -2909,6 +2911,8 @@ SHAPE_POLY_SET CADSTAR_PCB_ARCHIVE_LOADER::getPolySetFromCadstarShape( const SHA delete shape; } + polySet.ClearArcs(); + if( aLineThickness > 0 ) polySet.Inflate( aLineThickness / 2, 32, SHAPE_POLY_SET::CORNER_STRATEGY::ROUND_ALL_CORNERS );