Commit 1c754344 authored by dickelbeck's avatar dickelbeck
Browse files

smt pads can be on ALL layers

parent ae3c3b6c
Loading
Loading
Loading
Loading
+18 −44
Original line number Diff line number Diff line
@@ -287,37 +287,12 @@ PADSTACK* SPECCTRA_DB::makePADSTACK( BOARD* aBoard, D_PAD* aPad )
    int         reportedLayers = 0;              // how many in reported padstack
    const char* layerName[NB_COPPER_LAYERS];

    if( aPad->m_Attribut==PAD_SMD || aPad->m_Attribut==PAD_CONN )
    {
        // PAD_SMD and PAD_CONN are reported on each layer for which
        // they are present.
    uniqifier = '[';

        if( aPad->IsOnLayer( LAYER_CMP_N ) )
        {
            layerName[reportedLayers++] = layerIds[0].c_str();
            uniqifier += 'T';   // T for top, could have used a layer index here alternatively
        }
        if( aPad->IsOnLayer( COPPER_LAYER_N ) )
        {
            int pcbLayerNdx = kicadLayer2pcb[COPPER_LAYER_N];
            layerName[reportedLayers++] = layerIds[ pcbLayerNdx ].c_str();
            uniqifier += 'B';   // B for bottom
        }

        uniqifier += ']';
    }

    else        // through hole pad
    {
        uniqifier = '[';
    bool onAllCopperLayers = ( (aPad->m_Masque_Layer & ALL_CU_LAYERS) == ALL_CU_LAYERS );

        bool onAllCopperLayers = false;
        if( (aPad->m_Masque_Layer & ALL_CU_LAYERS) == ALL_CU_LAYERS )
        {
            onAllCopperLayers = true;
    if( onAllCopperLayers )
        uniqifier += 'A';               // A for all layers
        }

    const int copperCount = aBoard->GetCopperLayerCount();
    for( int layer=0;  layer<copperCount;  ++layer )
@@ -341,7 +316,6 @@ PADSTACK* SPECCTRA_DB::makePADSTACK( BOARD* aBoard, D_PAD* aPad )
    }

    uniqifier += ']';
    }

    POINT   dsnOffset;