(это не исправление багов).
Привожу на примере тестовой сборки 4378.
Увеличил размер сединения проводников в eeschema до 1,5 мм. Теперь при печати больших форматов на А4 они нормально видны.
Код
sch_junction.cpp:42
- int SCH_JUNCTION::m_symbolSize = 40; // Default diameter of the junction symbol
+ int SCH_JUNCTION::m_symbolSize = 60; // Default diameter of the junction symbol
- int SCH_JUNCTION::m_symbolSize = 40; // Default diameter of the junction symbol
+ int SCH_JUNCTION::m_symbolSize = 60; // Default diameter of the junction symbol
Ввёл дополнительные градации углов поворота в pcbnew. Для круглых плат - самое то.
CODE
dialog_general_options_BoardEditor_base.cpp:77
- wxString m_RotationAngleChoices[] = { _("45"), _("90") };
+ wxString m_RotationAngleChoices[] = { _("5"), _("10"),_("15"),_("30"),_("45"),_("60"), _("90") };
block.cpp:659
- int rotAngle = 900; // rotation angle in 0.1 deg.
+ int rotAngle = g_RotationAngle; // rotation angle in 0.1 deg.
dialog_general_options.cpp:70
switch( g_RotationAngle )
{
+ // wxString m_RotationAngleChoices[] = { _("5"), _("10"), _("15"), _("30"), _("45"), _("60"), _("90") };
+ // 0 1 2 3 4 5 6
+ case 50:
+ m_RotationAngle->SetSelection( 0 );
+ break;
+ case 100:
+ m_RotationAngle->SetSelection( 1 );
+ break;
+ case 150:
+ m_RotationAngle->SetSelection( 2 );
+ break;
+ case 300:
+ m_RotationAngle->SetSelection( 3 );
+ break;
case 450:
- m_RotationAngle->SetSelection( 0 );
+ m_RotationAngle->SetSelection( 4 );
break;
+ case 600:
+ m_RotationAngle->SetSelection( 5 );
+ break;
default:
- m_RotationAngle->SetSelection( 1 );
+ m_RotationAngle->SetSelection( 6 );
}
board_undo_redo.cpp:100
+ extern int g_RotationAngle;
board_undo_redo.cpp:572
case UR_ROTATED:
- item->Rotate( aList->m_TransformPoint, aRedoCommand ? 900 : -900 );
+ item->Rotate( aList->m_TransformPoint, aRedoCommand ? g_RotationAngle : -g_RotationAngle );
break;
case UR_ROTATED_CLOCKWISE:
- item->Rotate( aList->m_TransformPoint, aRedoCommand ? -900 : 900 );
+ item->Rotate( aList->m_TransformPoint, aRedoCommand ? -g_RotationAngle : g_RotationAngle );
break;
Мой "ответ Чемберлену". Французы лишили возможности выбора "мм" при изменении смещения образа в 3D-настройках модуля (в pcbnew).
Исправил пока так же безапелляционно.
Код
3d_aux.cpp:73
/* adjust offset position (offset is given in UNIT 3D (0.1 inch) */
- #define SCALE_3D_CONV ((IU_PER_MILS * 1000) / UNITS3D_TO_UNITSPCB)
+ #define SCALE_3D_CONV (((IU_PER_MILS * 1000) / UNITS3D_TO_UNITSPCB) / 25.4)
/* adjust offset position (offset is given in UNIT 3D (0.1 inch) */
- #define SCALE_3D_CONV ((IU_PER_MILS * 1000) / UNITS3D_TO_UNITSPCB)
+ #define SCALE_3D_CONV (((IU_PER_MILS * 1000) / UNITS3D_TO_UNITSPCB) / 25.4)
И немного для красоты )
В последних версиях 3D-viewer'а появился текстолит в печатных платах! И, внимание, Realistic mode - плата с покрытием и "зелёнкой"!
Во их я и подправил (в оригинале - темноваты).
CODE
3d_draw.cpp:149
// Helper function: initialize the copper color to draw the board
// in realistic mode.
static inline void SetGLCopperColor()
{
// Generates a golden yellow color, near board "copper" color
- const double lum = 0.7/255.0;
+ const double lum = 0.9/255.0;
- glColor4f( 255.0*lum, 223.0*lum, 0.0*lum, 1.0 );
+ glColor4f( 255.0*lum, 225.0*lum, 20.0*lum, 1.0 );
}
// Helper function: initialize the color to draw the epoxy layers
// ( body board and solder mask layers) in realistic mode.
static inline void SetGLEpoxyColor( double aTransparency = 1.0 )
{
// Generates an epoxy color, near board color
- const double lum = 0.2/255.0;
+ const double lum = 0.45/255.0;
- glColor4f( 100.0*lum, 255.0*lum, 180.0*lum, aTransparency );
+ glColor4f( 10.0*lum, 255.0*lum, 150.0*lum, aTransparency );
}
Может у кого-нибудь тоже есть чем поделиться?