Eeschema Eagle Plugin: Set Component Orientation
This commit is contained in:
parent
2523c6b5d7
commit
3741793f77
|
@ -28,6 +28,7 @@
|
||||||
|
|
||||||
#include <sch_junction.h>
|
#include <sch_junction.h>
|
||||||
#include <sch_sheet.h>
|
#include <sch_sheet.h>
|
||||||
|
#include <schframe.h>
|
||||||
#include <template_fieldnames.h>
|
#include <template_fieldnames.h>
|
||||||
#include <wildcards_and_files_ext.h>
|
#include <wildcards_and_files_ext.h>
|
||||||
#include <class_sch_screen.h>
|
#include <class_sch_screen.h>
|
||||||
|
@ -136,6 +137,34 @@ static void kicadLayer( int aEagleLayer )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static COMPONENT_ORIENTATION_T kicadComponentRotation( float eagleDegrees )
|
||||||
|
{
|
||||||
|
int roti = int(eagleDegrees);
|
||||||
|
|
||||||
|
|
||||||
|
switch( roti )
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
wxASSERT_MSG( false, wxString::Format( "Unhandled orientation (%d degrees)", roti ) );
|
||||||
|
|
||||||
|
// fall through
|
||||||
|
case 0:
|
||||||
|
return CMP_ORIENT_0;
|
||||||
|
|
||||||
|
case 90:
|
||||||
|
return CMP_ORIENT_90;
|
||||||
|
|
||||||
|
case 180:
|
||||||
|
return CMP_ORIENT_180;
|
||||||
|
|
||||||
|
case 270:
|
||||||
|
return CMP_ORIENT_270;
|
||||||
|
}
|
||||||
|
|
||||||
|
return CMP_ORIENT_0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SCH_EAGLE_PLUGIN::SCH_EAGLE_PLUGIN()
|
SCH_EAGLE_PLUGIN::SCH_EAGLE_PLUGIN()
|
||||||
{
|
{
|
||||||
m_rootSheet = nullptr;
|
m_rootSheet = nullptr;
|
||||||
|
@ -639,6 +668,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
|
||||||
|
|
||||||
if( einstance.rot )
|
if( einstance.rot )
|
||||||
{
|
{
|
||||||
|
component->SetOrientation(kicadComponentRotation( einstance.rot->degrees));
|
||||||
if( einstance.rot->mirror )
|
if( einstance.rot->mirror )
|
||||||
{
|
{
|
||||||
component->MirrorY( einstance.x * EUNIT_TO_MIL );
|
component->MirrorY( einstance.x * EUNIT_TO_MIL );
|
||||||
|
|
Loading…
Reference in New Issue