Commit 7d676fbf authored by CHARRAS's avatar CHARRAS
Browse files

support for micro vias. small problem in zone detection solved

parent 1d683046
Loading
Loading
Loading
Loading
+16 −0
Original line number Original line Diff line number Diff line
@@ -5,6 +5,22 @@ Please add newer entries at the top, list the date and your name with
email address.
email address.




2007-Dec-18 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
	rework of drill filles creation (excellon and reports)
	needed to have a clean implantation of buried vias and mainly microvia
	which involve a more complex drill files generation
	This is better to continue work on zones because :
	hight density boards = use of BGA = microvias + good zones handling
	When a board has buried or blind vias (microvia are blind vias),
	pcbnew creates a drill file per layer pair. for a 4 layer board:
	drill file for layer1 to layer 2
	drill file for layer2 to layer 3
	drill file for layer3 to layer 4



2008-Jan-18 UPDATE   Dick Hollenbeck <dick@softplc.com>
2008-Jan-18 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
================================================================================
    how-to-build-kicad.txt: added the Boost C++ Libraries installation info
    how-to-build-kicad.txt: added the Boost C++ Libraries installation info
+3 −1
Original line number Original line Diff line number Diff line
@@ -323,7 +323,9 @@ void SEGVIA::SetLayerPair( int top_layer, int bottom_layer )
void SEGVIA::ReturnLayerPair( int* top_layer, int* bottom_layer ) const
void SEGVIA::ReturnLayerPair( int* top_layer, int* bottom_layer ) const
/*********************************************************************/
/*********************************************************************/


/* Return the 2 layers used by  the via (the via actually uses
/**
 * Function ReturnLayerPair
 * Return the 2 layers used by  the via (the via actually uses
 * all layers between these 2 layers)
 * all layers between these 2 layers)
 *  @param top_layer = pointer to the first layer (can be null)
 *  @param top_layer = pointer to the first layer (can be null)
 *  @param bottom_layer = pointer to the last layer (can be null)
 *  @param bottom_layer = pointer to the last layer (can be null)
+5 −6
Original line number Original line Diff line number Diff line
@@ -149,14 +149,13 @@ private:
    void    InitDisplayParams(void);
    void    InitDisplayParams(void);
    void    SetParams(void);
    void    SetParams(void);
    void    GenDrillFiles( wxCommandEvent& event );
    void    GenDrillFiles( wxCommandEvent& event );
    void    GenDrillMap( std::vector<DRILL_TOOL> & buffer, int format );
    void    GenDrillMap( const wxString aFileName, std::vector<HOLE_INFO> & aHoleListBuffer, std::vector<DRILL_TOOL> & aToolListBuffer, int format );
    void    UpdatePrecisionOptions( wxCommandEvent& event );
    void    UpdatePrecisionOptions( wxCommandEvent& event );
    void    UpdateConfig();
    void    UpdateConfig();
    int     Plot_Drill_PcbMap( std::vector<DRILL_TOOL> & buffer, int format );
	void    Write_Excellon_Header( FILE * aFile);
    void    GenDrillReport( std::vector<DRILL_TOOL> & buffer );
    void    GenDrillReport( const wxString aFileName, std::vector<DRILL_TOOL> & buffer );
    int     Gen_Liste_Forets( std::vector<DRILL_TOOL> & buffer, bool print_header );
    int     Create_Drill_File_EXCELLON( std::vector<HOLE_INFO> & aHoleListBuffer,
    int     Create_Drill_File_EXCELLON( std::vector<DRILL_TOOL> & buffer );
		std::vector<DRILL_TOOL> & aToolListBuffer );
    void    Init_Drill();
	int 	Gen_Liste_Tools( std::vector<DRILL_TOOL> & buffer, bool print_header );
	int 	Gen_Liste_Tools( std::vector<DRILL_TOOL> & buffer, bool print_header );
};
};


+0 −6
Original line number Original line Diff line number Diff line
@@ -297,12 +297,6 @@ void WinEDA_PcbTracksDialog::AcceptPcbOptions(wxCommandEvent& event)
	g_DesignSettings.m_CurrentViaType = VIA_THROUGH;
	g_DesignSettings.m_CurrentViaType = VIA_THROUGH;
    if ( m_OptViaType->GetSelection() > 0 )
    if ( m_OptViaType->GetSelection() > 0 )
		g_DesignSettings.m_CurrentViaType = VIA_BLIND_BURIED;
		g_DesignSettings.m_CurrentViaType = VIA_BLIND_BURIED;
	if ( g_DesignSettings.m_CurrentViaType != VIA_THROUGH )
	{
		if( ! IsOK(this,
			_("You have selected VIA Blind and Buried\nWARNING: this feature is EXPERIMENTAL!!! Accept ?") ) )
			g_DesignSettings.m_CurrentViaType = VIA_THROUGH;
	}


	g_DesignSettings.m_CurrentViaSize =
	g_DesignSettings.m_CurrentViaSize =
		ReturnValueFromTextCtrl(*m_OptViaSize, m_Parent->m_InternalUnits);
		ReturnValueFromTextCtrl(*m_OptViaSize, m_Parent->m_InternalUnits);
Loading