|
|
|
@ -1087,13 +1087,25 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) |
|
|
|
else |
|
|
|
keepout_type = T_keepout; |
|
|
|
|
|
|
|
// Now, build keepout polygon on each copper layer where the item
|
|
|
|
// keepout is living (keepout zones can live on many copper layers)
|
|
|
|
const int copperCount = aBoard->GetCopperLayerCount(); |
|
|
|
|
|
|
|
for( int layer = 0; layer < copperCount; layer++ ) |
|
|
|
{ |
|
|
|
if( layer == copperCount-1) |
|
|
|
layer = B_Cu; |
|
|
|
|
|
|
|
if( !item->IsOnLayer( PCB_LAYER_ID( layer ) ) ) |
|
|
|
continue; |
|
|
|
|
|
|
|
KEEPOUT* keepout = new KEEPOUT( pcb->structure, keepout_type ); |
|
|
|
pcb->structure->keepouts.push_back( keepout ); |
|
|
|
|
|
|
|
PATH* mainPolygon = new PATH( keepout, T_polygon ); |
|
|
|
keepout->SetShape( mainPolygon ); |
|
|
|
|
|
|
|
mainPolygon->layer_id = layerIds[ kicadLayer2pcb[ item->GetLayer() ] ]; |
|
|
|
mainPolygon->layer_id = layerIds[ kicadLayer2pcb[ layer ] ]; |
|
|
|
|
|
|
|
// Handle the main outlines
|
|
|
|
SHAPE_POLY_SET::ITERATOR iterator; |
|
|
|
@ -1137,6 +1149,7 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//-----<build the images, components, and netlist>-----------------------
|
|
|
|
{ |
|
|
|
|