gerbview: add french translation, G55 command (a do nothing command) and solved a bug that can crashes gerbview with files without any DCODE tools info.
This commit is contained in:
parent
6e6098a05c
commit
53f69ece79
|
@ -379,6 +379,8 @@ void WinEDA_GerberFrame::CopyDCodesSizeToItems()
|
|||
/* Set Size Items (Lines, Flashes) from DCodes List
|
||||
*/
|
||||
{
|
||||
static D_CODE dummy(999); //Used if D_CODE not found in list
|
||||
|
||||
for( TRACK* track = m_Pcb->m_Track; track; track = track->Next() )
|
||||
{
|
||||
GERBER* gerber = g_GERBER_List[track->GetLayer()];
|
||||
|
@ -386,6 +388,8 @@ void WinEDA_GerberFrame::CopyDCodesSizeToItems()
|
|||
|
||||
D_CODE* dcode = gerber->GetDCODE( track->GetNet(), false );
|
||||
wxASSERT( dcode );
|
||||
if ( dcode == NULL )
|
||||
dcode = &dummy;
|
||||
|
||||
dcode->m_InUse = TRUE;
|
||||
|
||||
|
@ -415,7 +419,7 @@ void WinEDA_GerberFrame::CopyDCodesSizeToItems()
|
|||
|
||||
switch( dcode->m_Shape )
|
||||
{
|
||||
case APT_LINE: // ne devrait pas etre utilis<69> ici
|
||||
case APT_LINE: // might not appears here, but some broken gerber files use it
|
||||
case APT_CIRCLE: /* spot round (for GERBER)*/
|
||||
track->m_Shape = S_SPOT_CIRCLE;
|
||||
break;
|
||||
|
|
|
@ -83,6 +83,7 @@ enum Gerb_GCommand {
|
|||
GC_TURN_ON_POLY_FILL = 36,
|
||||
GC_TURN_OFF_POLY_FILL = 37,
|
||||
GC_SELECT_TOOL = 54,
|
||||
GC_PHOTO_MODE = 55, // can starts a D03 flash command: redundant with D03
|
||||
GC_SPECIFY_INCHES = 70,
|
||||
GC_SPECIFY_MILLIMETERS = 71,
|
||||
GC_TURN_OFF_360_INTERPOL = 74,
|
||||
|
@ -292,7 +293,7 @@ inline double DCODE_PARAM::GetValue( const D_CODE* aDcode ) const
|
|||
{
|
||||
// the first one was numbered 1, not zero, as in $1, see page 19 of spec.
|
||||
unsigned ndx = GetIndex() - 1;
|
||||
|
||||
wxASSERT(aDcode);
|
||||
// get the parameter from the aDcode
|
||||
if( ndx < aDcode->m_am_params.size() )
|
||||
return aDcode->m_am_params[ndx].GetValue( NULL );
|
||||
|
|
|
@ -198,7 +198,7 @@ static void fillLineTRACK( TRACK* aTrack, int Dcode_index, int aLayer,
|
|||
}
|
||||
|
||||
|
||||
#if 0 // @todo finish translating comment and get it into the doxygen function comment for fillArcTRACK below
|
||||
#if 0 // @todo get it into the doxygen function comment for fillArcTRACK below
|
||||
/*****************************************************************/
|
||||
static void Append_1_SEG_ARC_GERBER( int Dcode_index,
|
||||
WinEDA_GerberFrame* frame, wxDC* DC,
|
||||
|
@ -208,15 +208,20 @@ static void Append_1_SEG_ARC_GERBER( int Dcode_index,
|
|||
/*****************************************************************/
|
||||
|
||||
/*
|
||||
creation d'un arc:
|
||||
si multiquadrant == true arc de 0 a 360 degres
|
||||
et rel_center est la coordonn<EFBFBD>e du centre relativement au startpoint
|
||||
|
||||
si multiquadrant == false arc de 0 <EFBFBD> 90 entierement contenu dans le meme quadrant
|
||||
et rel_center est la coordonn<EFBFBD>e du centre relativement au startpoint,
|
||||
mais en VALEUR ABSOLUE et le signe des valeurs x et y de rel_center doit
|
||||
etre deduit de cette limite de 90 degres
|
||||
*/
|
||||
* Creates an arc:
|
||||
* if multiquadrant == true : arc can be 0 to 360 degres
|
||||
* and rel_center is the center coordiante relative to startpoint.
|
||||
*
|
||||
* if multiquadrant == false arc can be only 0 to 90 deg,
|
||||
* and only in the same quadrant :
|
||||
* absolute angle 0 to 90 (quadrant 1) or
|
||||
* absolute angle 90 to 180 (quadrant 2) or
|
||||
* absolute angle 180 to 270 (quadrant 3) or
|
||||
* absolute angle 270 to 0 (quadrant 4)
|
||||
* rel_center is the center coordiante relative to startpoint,
|
||||
* given in ABSOLUE VALUE and the signe of values x et y de rel_center
|
||||
* must be calculated from the previously given constraint: arc only in the same quadrant
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -641,6 +646,9 @@ bool GERBER::Execute_G_Command( char*& text, int G_commande )
|
|||
{
|
||||
switch( G_commande )
|
||||
{
|
||||
case GC_PHOTO_MODE: // can starts a D03 flash command: redundant, can be safely ignored
|
||||
break;
|
||||
|
||||
case GC_LINEAR_INTERPOL_1X:
|
||||
m_Iterpolation = GERB_INTERPOL_LINEAR_1X;
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue