Altium schematic: support custom sheet sizes.
This commit is contained in:
parent
de2b645fc8
commit
16062bbe33
|
@ -804,6 +804,11 @@ ASCH_SHEET::ASCH_SHEET( const std::map<wxString, wxString>& aProps ) :
|
||||||
for( int i = 1; i <= fontidcount; i++ )
|
for( int i = 1; i <= fontidcount; i++ )
|
||||||
fonts.emplace_back( aProps, i );
|
fonts.emplace_back( aProps, i );
|
||||||
|
|
||||||
|
useCustomSheet = ALTIUM_PARSER::ReadBool( aProps, "USECUSTOMSHEET", false );
|
||||||
|
|
||||||
|
customSize = VECTOR2I( ReadKiCadUnitFrac( aProps, "CUSTOMX" ),
|
||||||
|
ReadKiCadUnitFrac( aProps, "CUSTOMY" ) );
|
||||||
|
|
||||||
sheetSize = ReadEnum<ASCH_SHEET_SIZE>( aProps, "SHEETSTYLE", 0, 17, ASCH_SHEET_SIZE::A4 );
|
sheetSize = ReadEnum<ASCH_SHEET_SIZE>( aProps, "SHEETSTYLE", 0, 17, ASCH_SHEET_SIZE::A4 );
|
||||||
sheetOrientation = ReadEnum<ASCH_SHEET_WORKSPACEORIENTATION>(
|
sheetOrientation = ReadEnum<ASCH_SHEET_WORKSPACEORIENTATION>(
|
||||||
aProps, "WORKSPACEORIENTATION", 0, 1, ASCH_SHEET_WORKSPACEORIENTATION::LANDSCAPE );
|
aProps, "WORKSPACEORIENTATION", 0, 1, ASCH_SHEET_WORKSPACEORIENTATION::LANDSCAPE );
|
||||||
|
|
|
@ -808,6 +808,9 @@ struct ASCH_SHEET : ASCH_OWNER_INTERFACE
|
||||||
{
|
{
|
||||||
std::vector<ASCH_SHEET_FONT> fonts;
|
std::vector<ASCH_SHEET_FONT> fonts;
|
||||||
|
|
||||||
|
bool useCustomSheet;
|
||||||
|
VECTOR2I customSize;
|
||||||
|
|
||||||
ASCH_SHEET_SIZE sheetSize;
|
ASCH_SHEET_SIZE sheetSize;
|
||||||
ASCH_SHEET_WORKSPACEORIENTATION sheetOrientation;
|
ASCH_SHEET_WORKSPACEORIENTATION sheetOrientation;
|
||||||
|
|
||||||
|
|
|
@ -3364,6 +3364,14 @@ void SCH_ALTIUM_PLUGIN::ParseSheet( const std::map<wxString, wxString>& aPropert
|
||||||
|
|
||||||
bool isPortrait = m_altiumSheet->sheetOrientation == ASCH_SHEET_WORKSPACEORIENTATION::PORTRAIT;
|
bool isPortrait = m_altiumSheet->sheetOrientation == ASCH_SHEET_WORKSPACEORIENTATION::PORTRAIT;
|
||||||
|
|
||||||
|
if( m_altiumSheet->useCustomSheet )
|
||||||
|
{
|
||||||
|
PAGE_INFO::SetCustomWidthMils( schIUScale.IUToMils( m_altiumSheet->customSize.x ) );
|
||||||
|
PAGE_INFO::SetCustomHeightMils( schIUScale.IUToMils( m_altiumSheet->customSize.y ) );
|
||||||
|
pageInfo.SetType( PAGE_INFO::Custom, isPortrait );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
switch( m_altiumSheet->sheetSize )
|
switch( m_altiumSheet->sheetSize )
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
|
@ -3386,6 +3394,7 @@ void SCH_ALTIUM_PLUGIN::ParseSheet( const std::map<wxString, wxString>& aPropert
|
||||||
case ASCH_SHEET_SIZE::ORCAD_D: pageInfo.SetType( "D", isPortrait ); break;
|
case ASCH_SHEET_SIZE::ORCAD_D: pageInfo.SetType( "D", isPortrait ); break;
|
||||||
case ASCH_SHEET_SIZE::ORCAD_E: pageInfo.SetType( "E", isPortrait ); break;
|
case ASCH_SHEET_SIZE::ORCAD_E: pageInfo.SetType( "E", isPortrait ); break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
screen->SetPageSettings( pageInfo );
|
screen->SetPageSettings( pageInfo );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue