merge
This commit is contained in:
parent
1e7495e634
commit
60140dfbcf
|
@ -88,6 +88,8 @@ typedef int wxPenStyle;
|
|||
|
||||
|
||||
extern GR_DRAWMODE g_XorMode;
|
||||
extern EDA_COLOR_T g_DrawBgColor;
|
||||
|
||||
|
||||
|
||||
typedef enum {
|
||||
|
|
|
@ -320,18 +320,6 @@ void DIALOG_SVG_PRINT::ExportSVGFile( bool aOnlyOneFile )
|
|||
);
|
||||
}
|
||||
|
||||
wxFileName fn(boardFilename);
|
||||
BuildPlotFileName( &fn, outputDir.GetPath(), suffix, SVGFileExtension );
|
||||
|
||||
if( m_PrintBoardEdgesCtrl->IsChecked() )
|
||||
m_printMaskLayer |= EDGE_LAYER;
|
||||
|
||||
if( CreateSVGFile( fn.GetFullPath() ) )
|
||||
msg.Printf( _( "Plot: %s OK\n" ), GetChars( fn.GetFullPath() ) );
|
||||
else // Error
|
||||
msg.Printf( _( "** Unable to create %s **\n" ), GetChars( fn.GetFullPath() ) );
|
||||
m_messagesBox->AppendText( msg );
|
||||
|
||||
if( aOnlyOneFile )
|
||||
break;
|
||||
}
|
||||
|
@ -378,9 +366,9 @@ bool DIALOG_SVG_PRINT::CreateSVGFile( const wxString& aFullFileName )
|
|||
}
|
||||
|
||||
LOCALE_IO toggle;
|
||||
|
||||
SVG_PLOTTER* plotter = (SVG_PLOTTER*) StartPlotBoard( m_board,
|
||||
&plot_opts, aFullFileName,
|
||||
wxEmptyString );
|
||||
&plot_opts, UNDEFINED_LAYER, aFullFileName, wxEmptyString );
|
||||
|
||||
if( plotter )
|
||||
{
|
||||
|
|
|
@ -797,7 +797,7 @@ void DIALOG_PLOT::Plot( wxCommandEvent& event )
|
|||
LOCALE_IO toggle;
|
||||
|
||||
BOARD* board = m_parent->GetBoard();
|
||||
PLOTTER* plotter = StartPlotBoard( board, &m_plotOpts, fn.GetFullPath(), wxEmptyString );
|
||||
PLOTTER* plotter = StartPlotBoard( board, &m_plotOpts, layer, fn.GetFullPath(), wxEmptyString );
|
||||
|
||||
// Print diags in messages box:
|
||||
wxString msg;
|
||||
|
|
|
@ -255,6 +255,9 @@ static double MapYTo( int aY )
|
|||
/* Driver function: processing starts here */
|
||||
void PCB_EDIT_FRAME::ExportToGenCAD( wxCommandEvent& aEvent )
|
||||
{
|
||||
|
||||
#if 0 // working on this 30-Jun-14, not ready yet, failed the initial testing.
|
||||
|
||||
wxFileName fn = GetBoard()->GetFileName();
|
||||
FILE* file;
|
||||
|
||||
|
@ -344,6 +347,8 @@ void PCB_EDIT_FRAME::ExportToGenCAD( wxCommandEvent& aEvent )
|
|||
module->SetFlag( 0 );
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -439,9 +439,9 @@ static void write_layers( MODEL_VRML& aModel, std::ofstream& output_file, BOARD*
|
|||
aModel.plated_holes.Tesselate( NULL, true );
|
||||
write_triangle_bag( output_file, aModel.GetColor( VRML_COLOR_TIN ),
|
||||
&aModel.plated_holes, false, false,
|
||||
aModel.GetLayerZ( LAST_COPPER_LAYER )
|
||||
aModel.GetLayerZ( F_Cu )
|
||||
+ Millimeter2iu( ART_OFFSET / 2.0 ) * aModel.scale,
|
||||
aModel.GetLayerZ( FIRST_COPPER_LAYER )
|
||||
aModel.GetLayerZ( B_Cu )
|
||||
- Millimeter2iu( ART_OFFSET / 2.0 ) * aModel.scale,
|
||||
aModel.precision );
|
||||
|
||||
|
|
|
@ -145,6 +145,7 @@ void DXF2BRD_CONVERTER::addPolyline(const DRW_Polyline& data )
|
|||
// Obviously, the z coordinate is ignored
|
||||
|
||||
wxPoint startpoint;
|
||||
|
||||
for( unsigned ii = 0; ii < data.vertlist.size(); ii++ )
|
||||
{
|
||||
DRW_Vertex* vertex = data.vertlist[ii];
|
||||
|
@ -157,7 +158,8 @@ void DXF2BRD_CONVERTER::addPolyline(const DRW_Polyline& data )
|
|||
}
|
||||
|
||||
DRAWSEGMENT* segm = new DRAWSEGMENT( m_brd );
|
||||
segm->SetLayer( m_brdLayer );
|
||||
|
||||
segm->SetLayer( ToLAYER_ID( m_brdLayer ) );
|
||||
segm->SetStart( startpoint );
|
||||
wxPoint endpoint( mapX( vertex->basePoint.x ), mapY( vertex->basePoint.y ) );
|
||||
segm->SetEnd( endpoint );
|
||||
|
@ -176,6 +178,7 @@ void DXF2BRD_CONVERTER::addLWPolyline(const DRW_LWPolyline& data )
|
|||
// (obviously contant and is the width of the DRW_LWPolyline.
|
||||
// the variable width of each vertex (when exists) is not used.
|
||||
wxPoint startpoint;
|
||||
|
||||
for( unsigned ii = 0; ii < data.vertlist.size(); ii++ )
|
||||
{
|
||||
DRW_Vertex2D* vertex = data.vertlist[ii];
|
||||
|
@ -188,7 +191,8 @@ void DXF2BRD_CONVERTER::addLWPolyline(const DRW_LWPolyline& data )
|
|||
}
|
||||
|
||||
DRAWSEGMENT* segm = new DRAWSEGMENT( m_brd );
|
||||
segm->SetLayer( m_brdLayer );
|
||||
|
||||
segm->SetLayer( ToLAYER_ID( m_brdLayer ) );
|
||||
segm->SetStart( startpoint );
|
||||
wxPoint endpoint( mapX( vertex->x ), mapY( vertex->y ) );
|
||||
segm->SetEnd( endpoint );
|
||||
|
|
|
@ -90,87 +90,83 @@ wxString GetGerberFileFunction( const BOARD *aBoard, LAYER_NUM aLayer )
|
|||
|
||||
switch( aLayer )
|
||||
{
|
||||
case LAYER_N_BACK:
|
||||
attrib = wxString::Format( wxT( "Copper,L%d" ), aBoard->GetCopperLayerCount() );
|
||||
break;
|
||||
|
||||
case LAYER_N_2:
|
||||
case LAYER_N_3:
|
||||
case LAYER_N_4:
|
||||
case LAYER_N_5:
|
||||
case LAYER_N_6:
|
||||
case LAYER_N_7:
|
||||
case LAYER_N_8:
|
||||
case LAYER_N_9:
|
||||
case LAYER_N_10:
|
||||
case LAYER_N_11:
|
||||
case LAYER_N_12:
|
||||
case LAYER_N_13:
|
||||
case LAYER_N_14:
|
||||
case LAYER_N_15:
|
||||
// LAYER_N_2 is the first inner layer counting from the bottom; this
|
||||
// must be converted to a 1-based number starting from the top
|
||||
attrib = wxString::Format( wxT( "Copper,L%d" ),
|
||||
aBoard->GetCopperLayerCount() - ( aLayer - LAYER_N_2 + 1 ) );
|
||||
break;
|
||||
|
||||
case LAYER_N_FRONT:
|
||||
attrib = wxString( wxT( "Copper,L1" ) );
|
||||
break;
|
||||
|
||||
case ADHESIVE_N_FRONT:
|
||||
case F_Adhes:
|
||||
attrib = wxString( wxT( "Glue,Top" ) );
|
||||
break;
|
||||
|
||||
case ADHESIVE_N_BACK:
|
||||
case B_Adhes:
|
||||
attrib = wxString( wxT( "Glue,Bot" ) );
|
||||
break;
|
||||
|
||||
case SILKSCREEN_N_FRONT:
|
||||
case F_SilkS:
|
||||
attrib = wxString( wxT( "Legend,Top" ) );
|
||||
break;
|
||||
|
||||
case SILKSCREEN_N_BACK:
|
||||
case B_SilkS:
|
||||
attrib = wxString( wxT( "Legend,Bot" ) );
|
||||
break;
|
||||
|
||||
case SOLDERMASK_N_FRONT:
|
||||
case F_Mask:
|
||||
attrib = wxString( wxT( "Soldermask,Top" ) );
|
||||
break;
|
||||
|
||||
case SOLDERMASK_N_BACK:
|
||||
case B_Mask:
|
||||
attrib = wxString( wxT( "Soldermask,Bot" ) );
|
||||
break;
|
||||
|
||||
case SOLDERPASTE_N_FRONT:
|
||||
case F_Paste:
|
||||
attrib = wxString( wxT( "Paste,Top" ) );
|
||||
break;
|
||||
|
||||
case SOLDERPASTE_N_BACK:
|
||||
case B_Paste:
|
||||
attrib = wxString( wxT( "Paste,Bot" ) );
|
||||
break;
|
||||
|
||||
case EDGE_N:
|
||||
case Edge_Cuts:
|
||||
attrib = wxString( wxT( "Profile" ) );
|
||||
break;
|
||||
|
||||
case DRAW_N:
|
||||
case Dwgs_User:
|
||||
attrib = wxString( wxT( "Drawing" ) );
|
||||
break;
|
||||
|
||||
case COMMENT_N:
|
||||
case Cmts_User:
|
||||
attrib = wxString( wxT( "Other,Comment" ) );
|
||||
break;
|
||||
|
||||
case ECO1_N:
|
||||
case ECO2_N:
|
||||
attrib = wxString::Format( wxT( "Other,ECO%d" ), aLayer - ECO1_N + 1 );
|
||||
case Eco1_User:
|
||||
case Eco2_User:
|
||||
attrib = wxString::Format( wxT( "Other,ECO%d" ), aLayer - Eco1_User + 1 );
|
||||
break;
|
||||
|
||||
case F_Cu:
|
||||
attrib = wxString( wxT( "Copper,L1" ) );
|
||||
break;
|
||||
|
||||
case B_Cu:
|
||||
attrib = wxString::Format( wxT( "Copper,L%d" ), aBoard->GetCopperLayerCount() );
|
||||
break;
|
||||
|
||||
default:
|
||||
if( IsCopperLayer( aLayer ) )
|
||||
{
|
||||
#if 0 // was:
|
||||
// LAYER_N_2 is the first inner layer counting from the bottom; this
|
||||
// must be converted to a 1-based number starting from the top
|
||||
attrib = wxString::Format( wxT( "Copper,L%d" ),
|
||||
aBoard->GetCopperLayerCount() - ( aLayer - LAYER_N_2 + 1 ) );
|
||||
#else
|
||||
attrib = wxString::Format( wxT( "Copper,L%d" ), aLayer );
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Add the signal type of the layer, if relevant
|
||||
if( FIRST_COPPER_LAYER <= aLayer && aLayer <= LAST_COPPER_LAYER ) {
|
||||
LAYER_T type = aBoard->GetLayerType( aLayer );
|
||||
if( IsCopperLayer( aLayer ) )
|
||||
{
|
||||
LAYER_T type = aBoard->GetLayerType( ToLAYER_ID( aLayer ) );
|
||||
|
||||
switch( type )
|
||||
{
|
||||
case LT_SIGNAL:
|
||||
|
@ -190,6 +186,7 @@ wxString GetGerberFileFunction( const BOARD *aBoard, LAYER_NUM aLayer )
|
|||
return attrib;
|
||||
}
|
||||
|
||||
|
||||
void BuildPlotFileName( wxFileName* aFilename,
|
||||
const wxString& aOutputDir,
|
||||
const wxString& aSuffix,
|
||||
|
|
Loading…
Reference in New Issue