GUI к препроцессору для программ расчета на прочность, который я в свое время написал с 4 другими учениками.
Существующие программы написаны в 60х, когда приоритетом был сам расчет, а не трудозатраты пользователей - инженеров по вводу исходных данных и анализу результатов (тогда инженеров было много, сейчас дефицит).
Windows версии этих программ сделаны в стиле, критикуемом книгой
"Психбольница в руках пациентов"Мы проанализировали аналогичные западные программы и написали на BlackBox свой препроцессор, который резко снижает трудозатраты подготовки исходных данных и облегчает обучение нового персонала.
Для простоты реализации все неграфические пользовательские данные вводятся аналогично конфигурационному файлу BlackBox (читал некоторые данные из промежуточного файла компилятора, создаваемого между фронтэндом и бэкэндом),
а графические - через AutoCAD (с геометрическими проверками).
На основе этой программы с 2005 года мы получаем доход. В 2015 году я начал делать другую программу на BlackBox (с сериализацией максимально близких к физической модели структур данных, состоящих сколько угодно вкладываемых друг в друга динамических массивов и записей) для постпроцессинга (обработки результатов расчета), но столкнулся с резким ростом уровня сложности алгоритмов, в этом году будучи на больничном за месяц реализовал эту программу с применением динамической типизации (и упрощения алгоритмов), показал потенциальным заказчикам - строительным фирмам, им это очень понравилось, добавили еще пожеланий, и дальнейший способ упрощения алгоритмов увидел, попробовав шаблоны STL, раскладывая прикладную логику на стандартные алгоритмы STL и минимальной рукописной связкой между ними. Данная задача еще не реализована ни в одном из существующих программных пакетов (Tekla Structures, Revit Structure, Advance Concrete, Allplan, в украинском пакете САПФИР реализована обратная задача опять с увеличением трудозатрат пользователей).
Результат работы - максимально экономичный подбор арматуры (до 20-30 тонн на среднюю 12 этажку) и точный учет, когда какого диаметра арматуру закупать (сейчас по чертежам производственно - технические отделы строительных компаний за разумное время это не могут обеспечить, а хозяева-застройщики не представляют, в каком масштабе их вводят в заблуждение нанятые работники-специалисты).
После ввода в эксплуатацию этой программы планирую бросить силы на новую задачу - структурную оптимизацию (аналогично Ansys, но с учетом специфики российских строительных норм), с массивными параллельными вычислениями и использованием классических и современных методов оптимизации (муравьиной, роевой и пр.), за что застройщики за милую душу готовы платить деньги. Об этой задаче еще Дарков и Шапошников в своей знаменитой книге "Строительная механика" говорили, что она важна, но не решена.
Если в BlackBox будет нечто, подобное STL, то он станет незаменимым инструментом для реализаций алгоритмов, работающих со сложными структурами данных, максимально приближенных к физическим моделям, даже не посмотрят на 32 битность, возможно, заинтересованные пользователи сами перенесут на 64, как в других опенсурсных проектах.
Сейчас BlackBox использую для первоначальной тренировки контингента, за его простоту и целостность, чтобы потом они могли работать с более сложными, но высокопроизводительными инструментами.