| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения)

Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения)

Ответ
Поиск в этой теме
Непрочитано 24.09.2021, 14:52
Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения)
nickname2019
 
Регистрация: 18.11.2019
Сообщений: 1,519

На мой взгляд, основными проблемами российского рынка расчетного программного обеспечения являются:
- отсутствие нормальной возможности программной автоматизации по решению расчетных задач
(в расчетных программах отсутствует возможность для нормального программирования, т.е. невозможно написать программу для полностью автоматического создания расчетной схемы (нескольких расчетных схем), автоматического выполнения расчета, автоматического получения результатов и их автоматического анализа);
- закрытый исходный код по подбору расчетных параметров несущих элементов
(различные программы дают различные результаты при решении одинаковых задач, сравнение алгоритмов подбора различных между собой невозможно, так как код закрыт, общепринятых и одобренных алгоритмов нет, каждый пользуется своим "черным ящиком", который иногда может выдать ошибочное решение);
- для людей, которые занимаются автоматизацией на Лисп, C# и т.д. отсутствуют инструменты, которые позволяли бы программно "по-простому" вызвать готовую библиотечную функцию (например, по подбору сечения какой-то простой балки непосредственно из графического редактора), что вызывает необходимость вызова отдельной расчетной программы, что серьезно тормозит работу;
- "корявый" интерфейс, ужасно неудобная и медленная работа в существующих российских (и украинских) расчетных программах;
(фактически при наличии нормального графического редактора (autocad, nanocad и т.д.) приходится экспортировать данные в в "корявый" редактор расчетной программы и длительное в нем работать (задавать нагрузки, связи и т.д.), а встроить расчетную программу в нормальный графический редактор через автоматизацию невозможно).

В связи с вышеизложенным, назрел вопрос:
Как технологически наиболее правильно можно организовать разработку расчетного программного обеспечения с открытым исходным кодом?

Для совместной разработки кода создано общее хранилище на GitHub, используя которое каждый может поучаствовать в разработке :
https://github.com/chaosEagleOwl/source

На данным момент работа находится в стадии тестирования возможности совместной разработки.
Требования к программному обеспечению изложены в файле (ссылка README.md на GitHub): https://github.com/chaosEagleOwl/source/README.md

ТЗ на модуль формирования КЭ-сеток сформировано и помещено на GitHub.
На весь комплекс ТЗ формировать долго, видимо, будет чуть позже.

Сформирована доска для управления проектом, туда добавлены наиболее актуальные задачи.
Задачи проекта.

Последний раз редактировалось nickname2019, 06.10.2021 в 09:07.
Просмотров: 84482
 
Непрочитано 30.09.2021, 15:36
#161
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057


Нубий-IV может свою ветку сделать
trir вне форума  
 
Автор темы   Непрочитано 30.09.2021, 15:37
#162
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,519


Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
Исходники должны оставаться одними и теми же (по крайней мере, так обещают). А студию каждый может использовать какую хочет. Точнее, какую надо под свою версию акада или нанокада. Просто можно накидать несколько файлов SLN рядом, каждый под свою версию студии.

В моих командах единственная вещь, которую пришлось сделать в исходниках - поставить в общем заголовке условную компиляцию, подменяющую один-единственный тип данных, который при смене версий в ObjectARX поменялся:

Код:
[Выделить все]
 #if	defined(RK_2008x32) || \
	defined(RK_2009x32) || \
	defined(RK_2010x32) || \
	defined(RK_2008x64) || \
	defined(RK_2009x64) || \
	defined(RK_2010x64)
		#define AdInt32 long
#endif
И в файлах проектов был задан соответствующий DEFINE для каждой версии. И тут должно быть что-то такое же.
Ясно. Создаем пустые проекты в студиях с 2008 по 2019, потом рабочие файлы (включая acrxEntryPoint.cpp) переносим в директорию common и оттуда подключаем к каждой версии студии + проставляем директивы условной компиляции, если что-то не заработает.
Т.е. делаем так, чтобы при редактировании каждым исходного кода каждым из своей версии студии редактировался каждый раз один и тот-же общий для всех студий файл.
nickname2019 вне форума  
 
Непрочитано 30.09.2021, 16:13
#163
Нубий-IV

Инженер-философ
 
Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,874


Еще тонкость была. Все версии у меня собирались в студиях Express и Community. У них, в отличие от Pro, в комплекте нет библиотеки MFC, а ссылки на нее кое-где из ObjectARX есть (в палитрах, или еще где - не знаю, не добирался туда). И некоторые версии ObjectARX из-за этого не собирались, даже если я не использовал MFC явно. Причем компиляция проходила, а компоновщик останавливался, ссылаясь на пару не найденных символов. Помог трюк - эти переменные я объявил сам в файле StdAfx.cpp, и компоновщик стал использовать их. Компиляция на бесплатных версиях студий пошла. Кто для тех же версий ObjectARX будет собирать - может сделать так же.

Код:
[Выделить все]
 
#include "StdAfx.h"


#if defined(RK_2008x32) || defined(RK_2009x32) || defined(RK_2010x32)
	extern "C" int _afxForceEXCLUDE = 0;
	extern "C" int _afxForceSTDAFX  = 0;
#endif


#if defined(RK_2008x64) || defined(RK_2009x64) || defined(RK_2010x64)
	extern "C" int __afxForceEXCLUDE = 0;
	extern "C" int __afxForceSTDAFX  = 0;
#endif
Нубий-IV вне форума  
 
Непрочитано 30.09.2021, 16:23
#164
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от Нубий-IV Посмотреть сообщение
У них, в отличие от Pro, в комплекте нет библиотеки MFC,
MFC есть в комплекте Community. Просто ее нужно доустановить
румата вне форума  
 
Автор темы   Непрочитано 30.09.2021, 16:44
#165
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,519


Цитата:
Сообщение от румата Посмотреть сообщение
MFC есть в комплекте Community. Просто ее нужно доустановить
Т.е. поддержку MFC оставляем?
Диалоги из мфс удобно же брать.
nickname2019 вне форума  
 
Непрочитано 30.09.2021, 16:46
#166
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Т.е. поддержку MFC оставляем?
Как по мне, даром он не нужен в этом проекте
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок экрана 2021-09-28 084241.png
Просмотров: 49
Размер:	85.8 Кб
ID:	241273  
румата вне форума  
 
Автор темы   Непрочитано 30.09.2021, 17:06
#167
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,519


Цитата:
Сообщение от румата Посмотреть сообщение
Как по мне, даром он не нужен в этом проекте
А диалоги на чем будем делать?
P.S. В древности я диалоги делал на дельфи, закидивал в dll, делал функцию вызова диалога внутри dll и вызвал как эту функцию из c++.
Но имхо, это не наш метод.
Мы не должны множить сущности, тем более микрософт мфс поддерживать вряд ли прекратит.

Последний раз редактировалось nickname2019, 30.09.2021 в 17:29.
nickname2019 вне форума  
 
Непрочитано 30.09.2021, 17:29
#168
3MEi86


 
Регистрация: 06.09.2009
Хабаровск
Сообщений: 1,073


Нубий-IV, Посмотри личные сообщения
3MEi86 вне форума  
 
Непрочитано 30.09.2021, 17:45
#169
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
А диалоги на чем будем делать?
При жуткой надобности диалога под рукой всегда есть WPF или WinForm

----- добавлено через ~3 мин. -----
Про такие диалоги идет речь?
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок экрана 2021-09-30 174754.png
Просмотров: 199
Размер:	12.2 Кб
ID:	241276  
румата вне форума  
 
Непрочитано 30.09.2021, 18:16
#170
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,041


Цитата:
Сообщение от румата Посмотреть сообщение
При жуткой надобности диалога под рукой всегда есть WPF или WinForm
так MFC вроде и есть WinForm для плюсов.
Сергей812 вне форума  
 
Автор темы   Непрочитано 30.09.2021, 18:48
#171
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,519


Цитата:
Сообщение от румата Посмотреть сообщение
При жуткой надобности диалога под рукой всегда есть WPF или WinForm
Ладно. Будем делать без mfc. А там как пойдет.
P.s. На горизонте замаячили скрипты и командная строка. Может быть, так и лучше.

Последний раз редактировалось nickname2019, 30.09.2021 в 18:54.
nickname2019 вне форума  
 
Непрочитано 30.09.2021, 22:25
#172
Akim_1989

Расчетчик
 
Регистрация: 30.09.2011
Ростов-на-Дону
Сообщений: 1,051


Всю тему не читал. Автору советую обратить внимание на Code Aster. Мощный решатель. Где-то даже находил пользовательские плагины для него по подбору армирования по EN.
Там по сути и препроцессор есть Salome. Осталось только нормальное задание жесткостей и материалов и прочее сделать.

----- добавлено через ~5 мин. -----
https://code-aster.org/UPLOAD/DOC/Fo...ementsce-2.pdf
Akim_1989 вне форума  
 
Непрочитано 30.09.2021, 22:37
#173
derik

Конструякер
 
Регистрация: 27.07.2009
Подмосковье
Сообщений: 599
Отправить сообщение для derik с помощью Skype™


а чем Qt не устраивает? там есть простой дизайнер гуя
__________________
...
derik вне форума  
 
Непрочитано 30.09.2021, 22:38
#174
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от Akim_1989 Посмотреть сообщение
Автору советую обратить внимание на Code Aster. Мощный решатель.
Еще б кто рассказал по-русски как им пользоваться, куда вводить и что значат такие скрипты


----- добавлено через ~1 мин. -----
Цитата:
Сообщение от derik Посмотреть сообщение
а чем Qt не устраивает? там есть простой дизайнер гуя
Только Qt в винде не хватало
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок экрана 2021-09-30 223806.png
Просмотров: 198
Размер:	151.3 Кб
ID:	241282  
румата вне форума  
 
Непрочитано 30.09.2021, 22:43
#175
Akim_1989

Расчетчик
 
Регистрация: 30.09.2011
Ростов-на-Дону
Сообщений: 1,051


Цитата:
Сообщение от румата Посмотреть сообщение
Еще б кто рассказал по-русски как им пользоваться, куда вводить и что значат такие скрипты
По-русски по решателю мало инфы. Есть английское руководство по решателю на 3000 или 5000 стр. Не помню. Но нам то только нужны только стержни и пластины и относительно простая механика (а это я думаю листов 100-200). Можно разобраться, если время есть. У меня никак руки не доходят. Я только пару вводных примеров делал когда-то давно.
Тут основной минус, что команды на французском. Нужно привыкнуть.

----- добавлено через ~4 мин. -----
Ещё на видосы от индусов натыкался. Если базовый английский есть, то можно разобраться. Хотя индийский английский - это нечто
Increase Size Decrease Size Нажмите для просмотра
https://www.youtube.com/watch?v=qZxoJVP0L98
Akim_1989 вне форума  
 
Непрочитано 30.09.2021, 22:48
#176
derik

Конструякер
 
Регистрация: 27.07.2009
Подмосковье
Сообщений: 599
Отправить сообщение для derik с помощью Skype™


Цитата:
Сообщение от румата Посмотреть сообщение
Только Qt в винде не хватало
он кроссплатформенный
__________________
...
derik вне форума  
 
Непрочитано 30.09.2021, 22:53
#177
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от derik Посмотреть сообщение
он кроссплатформенный
Понятно, я к тому, что для виндовс есть ничем не хуже, но родной WPF(с простым дизайнером гуя и пр.) идущий в комплекте с VS. Для чего таскать за собой по виндовс гигабайтный Qt?
румата вне форума  
 
Непрочитано 30.09.2021, 23:31
#178
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057


Цитата:
Только Qt в винде не хватало
Qt и AutoCAD
Миниатюры
Нажмите на изображение для увеличения
Название: qt5.PNG
Просмотров: 55
Размер:	138.4 Кб
ID:	241283  
trir вне форума  
 
Непрочитано 30.09.2021, 23:40
#179
румата


 
Регистрация: 06.04.2015
Сообщений: 2,676


Цитата:
Сообщение от trir Посмотреть сообщение
Qt и AutoCAD
Для профессионального написания автокада или лиры, конечно, стОит купить Qt. А для написания дополнений к автокаду Qt точно избыточный. Кроме того, разве лицензия Qt разрешает его использование в open source проектах?
румата вне форума  
 
Непрочитано 01.10.2021, 06:14
#180
zvezdochiot

маркшейдер
 
Регистрация: 25.09.2021
Москва
Сообщений: 149


Цитата:
Сообщение от румата Посмотреть сообщение
разве лицензия Qt разрешает его использование в open source проектах?
Так пользуй Qt4. И весить гораздо меньше будет.
__________________
Keep it simple, stupid.
zvezdochiot вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения)

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СП 335.1325800.2017 «Крупнопанельные конструктивные системы. Правила проектирования» (Обсуждение) Armin Прочее. Архитектура и строительство 37 07.11.2018 06:55
Фирменные решения по пропуску коммуникаций через стены подвала Regby Конструкции зданий и сооружений 2 07.04.2010 20:43
устройство и возможные конструктивные решения вентфасада из кирпича Ivansobaka Каменные и армокаменные конструкции 1 16.12.2009 06:38
Конструктивные решения по перемычкам в многослойных кирпичных стенах! Westroy Архитектура 16 30.11.2009 13:57
Конструктивные решения монтажных соединений многоэтажных зданий на высокопрочных болтах VoRoNoFF Конструкции зданий и сооружений 1 04.04.2009 00:41