alex91 0 12 октября, 2013 Опубликовано 12 октября, 2013 (изменено) · Жалоба Небольшие простые изменения, сделавшие мою работу в kicad'е несколько комфортнее. (это не исправление багов). Привожу на примере тестовой сборки 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 Ввёл дополнительные градации углов поворота в pcbnew. Для круглых плат - самое то. 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) И немного для красоты ) В последних версиях 3D-viewer'а появился текстолит в печатных платах! И, внимание, Realistic mode - плата с покрытием и "зелёнкой"! Во их я и подправил (в оригинале - темноваты). 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 ); } Может у кого-нибудь тоже есть чем поделиться? Изменено 12 октября, 2013 пользователем alex9 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex91 0 16 октября, 2013 Опубликовано 16 октября, 2013 · Жалоба Достало бороться с абстрактностью названий "пользовательских" вспомогательных слоёв. Звучит как издёвка: "пользовательские", названия ни о чём (Eco1.User и Eco2.User) , а переименовать - нельзя. Использую эти слои для скрайбирования и фрезеровки. Нашёл, где имена переопределяются. Теперь у них вполне однозначные названия и при выгрузке гербера - вполне конкретное имя файла получается. :) class_board.cpp:418 - case ECO1_N: txt = wxT( "Eco1.User" ); break; + case ECO1_N: txt = wxT( "Mill" ); break; - case ECO2_N: txt = wxT( "Eco2.User" ); break; + case ECO2_N: txt = wxT( "Cut" ); break; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 29 октября, 2013 Опубликовано 29 октября, 2013 · Жалоба Возникла хотелка, может быть полезная. В схематик - редакторе символов принимать во внимание, где именно в пределах пина находилась мышь при вызове диалога редактирования пина. И выставлять selection исходя из этого. Типа того Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex91 0 29 октября, 2013 Опубликовано 29 октября, 2013 · Жалоба Возникла хотелка, может быть полезная. В схематик - редакторе символов принимать во внимание, где именно в пределах пина находилась мышь при вызове диалога редактирования пина. И выставлять selection исходя из этого... Вы мне льстите :rolleyes: Но всё равно приятно. Мысль интересная. Надо будет подумать - не выйдет ли она за рамки длясебяшек (минимальные изменения кода). На первый взгляд шансов у неё не много. :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex91 0 17 ноября, 2013 Опубликовано 17 ноября, 2013 · Жалоба Причёсывание сеанса Specctra из Topor'a. Топор (по крайней мере v.5) записывает сеанс чуть-чуть не по спецификации ("MM" вместо "mm" и "Net" вместо "net"). Привязка к версиям 4222/4415. specctra_import.cpp:94 if( fullFileName == wxEmptyString ) return; //*************** wxTextFile file; wxString T_FileName, T_String; FILE* new_fp; T_FileName=fullFileName+wxT("tmp") ; if (file.Open(fullFileName)) { size_t i; for (i = 0; i < file.GetLineCount(); i++) { file[i].Replace(wxT("(resolution MM"),wxT("(resolution mm")); file[i].Replace(wxT("(Net"),wxT("(net")); T_String+=file[i]+wxT("\n"); } file.Close(); wxRenameFile(fullFileName, T_FileName); new_fp = wxFopen(fullFileName, wxT("wt")); if (new_fp) { fprintf(new_fp,T_String.mb_str()); fclose(new_fp); } } //*************** Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
break 0 28 января, 2014 Опубликовано 28 января, 2014 · Жалоба Меня посетила одна идея. Может при включении полярных координат, в свойствах элементов (футпринтов, пинов и т.д.) показывать (и давать возможность редактирования!) тоже полярные координаты? Было бы очень удобно рисовать круглые футпринты и подобные вещи. (А то опять пришлось высчитывать координаты выводов через синусы и косинусы). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex91 0 28 января, 2014 Опубликовано 28 января, 2014 · Жалоба Идея, наверное, интересная. И я не против, если Вы выложите здесь её реализацию ;-) А я, к сожалению, не великий программист. Да и времени на совершенствование нет :-( Попробуйте написать в "Допиливание". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan.B 0 10 апреля, 2014 Опубликовано 10 апреля, 2014 (изменено) · Жалоба В общем, теперь так: Очень неудобно прокручивать такой список, и там ничего ведь не посмотришь по УГО - я что, должен помнить всю библиотеку и все её наименования? Где конкретно в исходниках и чем отличается я пока не смотрел да и вряд ли разберусь с ходу. Изменено 10 апреля, 2014 пользователем Ruslan.B Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex91 0 10 апреля, 2014 Опубликовано 10 апреля, 2014 · Жалоба В общем, теперь так: Очень неудобно прокручивать такой список, и там ничего ведь не посмотришь по УГО - я что, должен помнить всю библиотеку и все её наименования? Где конкретно в исходниках и чем отличается я пока не смотрел да и вряд ли разберусь с ходу. В таком случае, повторяюсь: если изменения не очень объёмные - поделитесь, пожалуйста. А там можно будет подумать о просьбе включить их в гостовскую ветку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xterro 0 19 июня, 2015 Опубликовано 19 июня, 2015 · Жалоба В таком случае, повторяюсь: если изменения не очень объёмные - поделитесь, пожалуйста. А там можно будет подумать о просьбе включить их в гостовскую ветку. Такую штукенцию с поиском я уже пилил, всё работает, ссылка на репку здесь(может понравится кому :05: ): http://electronix.ru/forum/index.php?showt...p;#entry1262515 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Npa 0 19 июня, 2015 Опубликовано 19 июня, 2015 (изменено) · Жалоба Просьба автору темы - добавьте сюда это, а то по разным местам лежит. Я применил, большое спасибо. Самому было некогда копать. Считаю эти изменения необходимыми по-умолчанию в ГОСТ-ветке. Изменено 19 июня, 2015 пользователем Npa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex91 0 15 июля, 2015 Опубликовано 15 июля, 2015 (изменено) · Жалоба Cборка 4334-GOST (и около). В редакторах схем и плат исчез пункт меню "Открыть ...". Вернул так: eeschema/menubar.cpp @@ -64,8 +64,8 @@ // Menu File: wxMenu* fileMenu = new wxMenu; - if( Kiface().IsSingle() ) // not when under a project mgr - { + // if( Kiface().IsSingle() ) // not when under a project mgr + //{ AddMenuItem( fileMenu, ID_NEW_PROJECT, _( "&New Schematic Project" ), @@ -77,7 +77,7 @@ ID_LOAD_PROJECT, text, _( "Open an existing schematic hierarchy" ), KiBitmap( open_document_xpm ) ); - } + //} // @todo: static probably not OK in multiple open projects. // Open Recent submenu pcbnew/menubar_pcbframe.cpp @@ -62,8 +62,8 @@ // Create File Menu wxMenu* filesMenu = new wxMenu; - if( Kiface().IsSingle() ) // not when under a project mgr - { + // if( Kiface().IsSingle() ) // not when under a project mgr + //{ AddMenuItem( filesMenu, ID_NEW_BOARD, _( "&New" ), _( "Clear current board and initialize a new one" ), @@ -73,7 +73,7 @@ AddMenuItem( filesMenu, ID_LOAD_FILE, text, _( "Delete current board and load new board" ), KiBitmap( open_brd_file_xpm ) ); - } + //} // Load Recent submenu static wxMenu* openRecentMenu; Изменено 15 июля, 2015 пользователем alex9 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться