Altium pcbimport: handle various dimension items, fix dimension_kind enum

This commit is contained in:
Stefan 2024-05-04 16:34:36 +00:00 committed by Jon Evans
parent 6b145b2830
commit ce32dfd077
2 changed files with 46 additions and 13 deletions

View File

@ -81,8 +81,9 @@ enum class ALTIUM_DIMENSION_KIND
DATUM = 5, DATUM = 5,
BASELINE = 6, BASELINE = 6,
CENTER = 7, CENTER = 7,
LINEAR_DIAMETER = 8, UNKNOWN_2 = 8,
RADIAL_DIAMETER = 9 LINEAR_DIAMETER = 9,
RADIAL_DIAMETER = 10
}; };
enum class ALTIUM_REGION_KIND enum class ALTIUM_REGION_KIND

View File

@ -1667,6 +1667,14 @@ void ALTIUM_PCB::ParseDimensions6Data( const ALTIUM_COMPOUND_FILE& aAltiumPc
case ALTIUM_DIMENSION_KIND::LINEAR: case ALTIUM_DIMENSION_KIND::LINEAR:
HelperParseDimensions6Linear( elem ); HelperParseDimensions6Linear( elem );
break; break;
case ALTIUM_DIMENSION_KIND::ANGULAR:
if( m_reporter )
{
m_reporter->Report(
wxString::Format( _( "Ignored Angular dimension (not yet supported)." ) ),
RPT_SEVERITY_INFO );
}
break;
case ALTIUM_DIMENSION_KIND::RADIAL: case ALTIUM_DIMENSION_KIND::RADIAL:
HelperParseDimensions6Radial( elem ); HelperParseDimensions6Radial( elem );
break; break;
@ -1676,21 +1684,45 @@ void ALTIUM_PCB::ParseDimensions6Data( const ALTIUM_COMPOUND_FILE& aAltiumPc
case ALTIUM_DIMENSION_KIND::DATUM: case ALTIUM_DIMENSION_KIND::DATUM:
if( m_reporter ) if( m_reporter )
{ {
wxString msg; m_reporter->Report(
msg.Printf( _( "Ignored dimension of kind %d (not yet supported)." ), elem.kind ); wxString::Format( _( "Ignored Datum dimension (not yet supported)." ) ),
m_reporter->Report( msg, RPT_SEVERITY_DEBUG ); RPT_SEVERITY_INFO );
} }
// HelperParseDimensions6Datum( elem ); // HelperParseDimensions6Datum( elem );
break; break;
case ALTIUM_DIMENSION_KIND::BASELINE:
if( m_reporter )
{
m_reporter->Report(
wxString::Format( _( "Ignored Baseline dimension (not yet supported)." ) ),
RPT_SEVERITY_INFO );
}
break;
case ALTIUM_DIMENSION_KIND::CENTER: case ALTIUM_DIMENSION_KIND::CENTER:
HelperParseDimensions6Center( elem ); HelperParseDimensions6Center( elem );
break; break;
case ALTIUM_DIMENSION_KIND::LINEAR_DIAMETER:
if( m_reporter )
{
m_reporter->Report(
wxString::Format( _( "Ignored Linear dimension (not yet supported)." ) ),
RPT_SEVERITY_INFO );
}
break;
case ALTIUM_DIMENSION_KIND::RADIAL_DIAMETER:
if( m_reporter )
{
m_reporter->Report(
wxString::Format( _( "Ignored Radial dimension (not yet supported)." ) ),
RPT_SEVERITY_INFO );
}
break;
default: default:
if( m_reporter ) if( m_reporter )
{ {
wxString msg; wxString msg;
msg.Printf( _( "Ignored dimension of kind %d (not yet supported)." ), elem.kind ); msg.Printf( _( "Ignored dimension of kind %d (not yet supported)." ), elem.kind );
m_reporter->Report( msg, RPT_SEVERITY_DEBUG ); m_reporter->Report( msg, RPT_SEVERITY_INFO );
} }
break; break;
} }