← Back to team overview

kicad-developers team mailing list archive

Re: New BOARD File Format (*.kicad_pcb)


On 12/14/2012 12:18 PM, Dick Hollenbeck wrote:


Wayne & co.'s fabulous work on the new BOARD file format is now standard.

I have committed the changes necessary to use *.kicad_pcb as default.

This could a fairly disruptive change for some, but you can still load and save legacy
(*.brd) files.  The new format is *.kicad_pcb, called KiCad format.

How do you make the transition?

Well you control that entirely:

1) File Save.  When you "save" a BOARD now, this logic comes into play

         pcbFileName = aFileName;

         if( pcbFileName.GetExt() == LegacyPcbFileExtension )
             pluginType = IO_MGR::LEGACY;
             pluginType = IO_MGR::KICAD;
             pcbFileName.SetExt( KiCadPcbFileExtension );

In otherwords, legacy stays in effect if it was in effect.

2) File Save As.  The default file format is *.kicad_pcb unless you use the dropdown box
near the OK Cancel button to select legacy.

3) When launching pcbnew from kicad project manager, the project manager looks for both
the *.brd and *.kicad_pcb files.

It follows this logic when deciding which one to give to pcbnew:

void KICAD_MANAGER_FRAME::OnRunPcbNew( wxCommandEvent& event )
     wxFileName  legacy_board( m_ProjectFileName );
     wxFileName  kicad_board( m_ProjectFileName );

     legacy_board.SetExt( LegacyPcbFileExtension );
     kicad_board.SetExt( KiCadPcbFileExtension );

     if( !legacy_board.FileExists() || kicad_board.FileExists() )
         ExecuteFile( this, PCBNEW_EXE, QuoteFullPath( kicad_board ) );
         ExecuteFile( this, PCBNEW_EXE, QuoteFullPath( legacy_board ) );

Give Wayne credit if you like it.


I think you deserve a lot of credit on this as well. You were instrumental in making it possible by providing motivation and the excellent low level objects from which to build upon. As always, I've enjoyed the collaboration.


If you don't like it, well then submit a patch  :)



Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Follow ups