CADSTAR PCB: Clear arcs from polys before boolean ops (e.g. zone fills)
This commit is contained in:
parent
288a94f5aa
commit
16b61e47cd
|
@ -2001,6 +2001,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers()
|
||||||
ERROR_LOC::ERROR_INSIDE );
|
ERROR_LOC::ERROR_INSIDE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
poly.ClearArcs();
|
||||||
rawPolys.BooleanAdd( poly, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE );
|
rawPolys.BooleanAdd( poly, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2008,6 +2009,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rawPolys = getPolySetFromCadstarShape( csCopper.Shape, -1 );
|
rawPolys = getPolySetFromCadstarShape( csCopper.Shape, -1 );
|
||||||
|
rawPolys.ClearArcs();
|
||||||
rawPolys.Inflate( copperWidth / 2, 32 );
|
rawPolys.Inflate( copperWidth / 2, 32 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2043,7 +2045,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers()
|
||||||
|
|
||||||
|
|
||||||
if( csCopper.Shape.Type == SHAPE_TYPE::OPENSHAPE
|
if( csCopper.Shape.Type == SHAPE_TYPE::OPENSHAPE
|
||||||
|| csCopper.Shape.Type == SHAPE_TYPE::OUTLINE )
|
|| csCopper.Shape.Type == SHAPE_TYPE::OUTLINE )
|
||||||
{
|
{
|
||||||
std::vector<PCB_SHAPE*> outlineShapes = getShapesFromVertices( csCopper.Shape.Vertices );
|
std::vector<PCB_SHAPE*> outlineShapes = getShapesFromVertices( csCopper.Shape.Vertices );
|
||||||
|
|
||||||
|
@ -2909,6 +2911,8 @@ SHAPE_POLY_SET CADSTAR_PCB_ARCHIVE_LOADER::getPolySetFromCadstarShape( const SHA
|
||||||
delete shape;
|
delete shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
polySet.ClearArcs();
|
||||||
|
|
||||||
if( aLineThickness > 0 )
|
if( aLineThickness > 0 )
|
||||||
polySet.Inflate( aLineThickness / 2, 32,
|
polySet.Inflate( aLineThickness / 2, 32,
|
||||||
SHAPE_POLY_SET::CORNER_STRATEGY::ROUND_ALL_CORNERS );
|
SHAPE_POLY_SET::CORNER_STRATEGY::ROUND_ALL_CORNERS );
|
||||||
|
|
Loading…
Reference in New Issue