Как создать расчетное программное обеспечение с открытым исходным кодом (конструктивные решения) - Страница 20
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

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

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

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

На мой взгляд, основными проблемами российского рынка расчетного программного обеспечения являются:
- отсутствие нормальной возможности программной автоматизации по решению расчетных задач
(в расчетных программах отсутствует возможность для нормального программирования, т.е. невозможно написать программу для полностью автоматического создания расчетной схемы (нескольких расчетных схем), автоматического выполнения расчета, автоматического получения результатов и их автоматического анализа);
- закрытый исходный код по подбору расчетных параметров несущих элементов
(различные программы дают различные результаты при решении одинаковых задач, сравнение алгоритмов подбора различных между собой невозможно, так как код закрыт, общепринятых и одобренных алгоритмов нет, каждый пользуется своим "черным ящиком", который иногда может выдать ошибочное решение);
- для людей, которые занимаются автоматизацией на Лисп, 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.
Просмотров: 106888
 
Автор темы   Непрочитано 05.06.2024, 12:32
#381
nickname2019


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


Цитата:
Сообщение от radistMorze Посмотреть сообщение
В принципе на гитхабе есть открытые проекты, которые сейчас пишутся. Например калькулятор сечений НДМ:
https://github.com/RedikultsevEvg/StructureHelper
Это не мкэ, но в целом уже готовая программа с нужным функционалом
Есть проблема выбора "донора". Обсуждали выше. Есть проекты более высокой степени готовности.
nickname2019 вне форума  
 
Непрочитано 05.06.2024, 13:37
#382
radistMorze


 
Регистрация: 29.04.2016
летающий цирк Монти Пайтона
Сообщений: 260


По мкэ для жб видел один проект открытый. Там программа скорее как приложение к книге написано, но функционал удивляет. По сути открытая реализация Idea Statica Concrete
https://concrete-fem.com/download/
Дописать мешер, графическую оболочку и в целом готово=)
__________________
I'm trained for nothing
radistMorze вне форума  
 
Автор темы   Непрочитано 05.06.2024, 13:44
#383
nickname2019


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


Цитата:
Сообщение от radistMorze Посмотреть сообщение
По мкэ для жб видел один проект открытый. Там программа скорее как приложение к книге написано, но функционал удивляет. По сути открытая реализация Idea Statica Concrete
https://concrete-fem.com/download/
Дописать мешер, графическую оболочку и в целом готово=)
Графическая оболочка есть - автокад. Мешер - gmsh. В кучу только собрать надо.
nickname2019 вне форума  
 
Непрочитано 05.06.2024, 14:59
#384
Gustavson


 
Регистрация: 20.11.2021
Сообщений: 30


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Проблематику на данный момент вижу так:
1. Для расчетного ПО нужен скриптовый язык.
2. Для скриптового языка нужен компилятор с возможностью отладки.
3. Скриптовый язык должен позволять коллективную разработку.
4. Коллективная разработка должна иметь возможность автоматически отслеживать авторство кода построчно (наличия форков недостаточно). Т.е. если человек изменил строку кода - общество должно знать, кто это сделал и почему.
5. Разработчики должны иметь возможность влиять на развитие продукта, поэтому нужен рейтинг полезности разработчиков при голосованиях через учет "кармы". Карма разработчика учитывается через подсчет строк созданного им кода.
сначала по пп. 3-5: чем вас не устраивает какая-нибудь система управления версиями типа github, gitlab и т.п.?

теперь по пп. 1-2: В каком смысле нужен? Для разработки самого ПО или для работы в нем? По всей видимости имеется в виду разработка. Существует множество готовых языков, нет никаких проблем для их использования. Тот же python нынче в трендах. Можно взять Tcl или один из диалектов Lisp вроде Scheme, Guile.
Или вы хотите разработать сам язык и сделать интерпретатор под него, что-то вроде APDL для ансиса? Если так, то можно ставить сразу крест на всем проекте.

Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Скрипт нужен, чтобы управлять графикой, а не для расчетного ядра, но можно обойтись и без него.
Но без скрипта это не будет круто.
Я так вижу, что сначала нужен скрипт, поэтому я пишу скрипт
Что то вроде OpenSCAD? Не уверен что это удобно, лучше работу с геометрией организовать кнопками на интерфейсе пользователя, хоткеи, может быть предусмотреть что-то типа шаблонов
Gustavson вне форума  
 
Автор темы   Непрочитано 05.06.2024, 15:27
#385
nickname2019


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


Цитата:
Сообщение от Gustavson Посмотреть сообщение
сначала по пп. 3-5: чем вас не устраивает какая-нибудь система управления версиями типа github, gitlab и т.п.?
Устраивает до момента, пока не отключат.

Цитата:
Сообщение от Gustavson Посмотреть сообщение
теперь по пп. 1-2: В каком смысле нужен? Для разработки самого ПО или для работы в нем? По всей видимости имеется в виду разработка. Существует множество готовых языков, нет никаких проблем для их использования. Тот же python нынче в трендах. Можно взять Tcl или один из диалектов Lisp вроде Scheme, Guile.
Сергей812 прав. Не нужно никакие скрипты приплетать на этапе разработки ядра.

Цитата:
Сообщение от Gustavson Посмотреть сообщение
Или вы хотите разработать сам язык и сделать интерпретатор под него, что-то вроде APDL для ансиса? Если так, то можно ставить сразу крест на всем проекте.
Скрип это отдельная тема, ее надо отдельно рассматривать. Скрипт можно надстроить над расчетным ядром или без скрипта. Ядро должно быть универсальное.

Цитата:
Сообщение от Gustavson Посмотреть сообщение
Что то вроде OpenSCAD? Не уверен что это удобно, лучше работу с геометрией организовать кнопками на интерфейсе пользователя, хоткеи, может быть предусмотреть что-то типа шаблонов
Пока толком не заработает, публиковать не хочу.
nickname2019 вне форума  
 
Непрочитано 05.06.2024, 17:45
#386
radistMorze


 
Регистрация: 29.04.2016
летающий цирк Монти Пайтона
Сообщений: 260


OpenScad звучит довольно тяжеловесно. Небольшой 2d/3d редактор проще наверно свой написать.
Последние полгода делаю небольшой pet-проект, графику пишу на opengl, в целом все красиво выводится. Планирую в таком же стиле добавить простые инструменты редактирования, импорт dxf
https://github.com/radistMorze-constr/FEMmini
__________________
I'm trained for nothing
radistMorze вне форума  
 
Автор темы   Непрочитано 05.06.2024, 18:31
#387
nickname2019


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


Цитата:
Сообщение от radistMorze Посмотреть сообщение
OpenScad звучит довольно тяжеловесно. Небольшой 2d/3d редактор проще наверно свой написать.
Последние полгода делаю небольшой pet-проект, графику пишу на opengl, в целом все красиво выводится. Планирую в таком же стиле добавить простые инструменты редактирования, импорт dxf
https://github.com/radistMorze-constr/FEMmini
Не, ну круто. Только написание нормального графического редактора сожрет 99% ресурсов. Имхо, овчинка с графикой не стоит выделки.
Схему можно импортировать из текстового файла схемы SCAD или Лиры, а сосредоточится на написании расчетного кода.
Я может попозже подтянусь, попробую решить задачу генерации сетки в Автокаде и вывод ее в формате SCADа в txt.

У меня висят в работе два монолитных домика с кучей стен. Так и так придется что-то кумекать по быстрой генерации сетки. Руками я буду дольше мучиться.
nickname2019 вне форума  
 
Непрочитано 06.06.2024, 22:17
#388
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 178


Я электрик-слаботочник. Хочу тоже поделится своим взглядом на проблему множественных расчетов.
В конце прошлого года, я открыл для себя такую связку CAD -> EXCEL -> CAD. В нашем опенсоурсном CADе уже давно была реализована система автоматической укладки кабелей и получение модели(дерева) соединений(типа диспетчер инженерных систем из ревита). Имея полную взаимосвязь всех электрических устройств объекта, я сразу кинулся реализовать все расчеты внутри КАДа, что оказалось ошибкой. Вывод который я сделал, то что подходит для черчения, не значит что подойдет для расчетов. Уныние, грусть, и дальше поиск решения, ну и как результат прозрение. Основываясь на модели(дереве) соединений из CAD, я выполняю генерацию эксельки. Причем спец команд, которые задают правила генерации эксельки не много (есть большая вероятность увеличения их количества). Пока генератор в стадии разработки, но один проект сдал, использовал свой генератор. Во время разработки проекта выявлены недостатки (надо сохранять все коэффициенты между перегенерациями, сейчас этим занимаюсь), концепция теперь меняется CAD<->EXCEL. Я прям доволен данной связкой. Писать расчеты в Экселе большинство умеет, плюс эксель позволяет легко вместить в себя большой структурированный расчет и пересчитывать его на лету. Я понимаю, что Эксель упирается в потолок в определенных местах, но используя язык Pascal, я могу выполнить промежуточную или пост обработку так, как мне надо. Сейчас делаю генератор для электрики, но вижу, что он так же подойдет для слаботочки СКС, ОПС, ЭТ, ЧС и прочее

Вывод:
Я предлагаю Вам подумать над связкой CAD<->EXCEL, причем именно генерации Эксель(без ручного переноса данных). Я не конструктор, Ваших расчетов я не знаю.
Наш опенсоурсный кад по сути это 2д ревит. И конечно, в будущем алгоритмы генерации планирую перетянуть в ревит. Очень хотелось бы тоже найти команду энтузиастов, но за годы поисков понял что главным спонсором разработки буду я сам, тратить свое собственное время.

На рисунки результат вывода информации из эксель обратно в КАД
Миниатюры
Нажмите на изображение для увеличения
Название: 2024-06-06_22-05-13.jpg
Просмотров: 49
Размер:	180.5 Кб
ID:	263367  
veb86 вне форума  
 
Автор темы   Непрочитано 06.06.2024, 22:40
#389
nickname2019


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


Цитата:
Сообщение от veb86 Посмотреть сообщение
Я предлагаю Вам подумать над связкой CAD<->EXCEL, причем именно генерации Эксель(без ручного переноса данных). Я не конструктор, Ваших расчетов я не знаю.
Наш опенсоурсный кад по сути это 2д ревит. И конечно, в будущем алгоритмы генерации планирую перетянуть в ревит. Очень хотелось бы тоже найти команду энтузиастов, но за годы поисков понял что главным спонсором разработки буду я сам, тратить свое собственное время.
Для конечно-элементного анализа конструкций каркасов (двести тысяч и более элементов) эксель подходит слабо. В конструктивных решениях нет сетей сложной топологии (которые нужно описать таблицей), есть куча цифр, которые нужно отобразить на плоскости и проанализировать (данные по площади армирования и т.д.). Формирование и обращение матриц по сто тысяч элементов тоже в экселе не сделаешь.

Расчеты и черчение у нас реализованы в разных программах, работа заключается в затрате большого количества времени в перегонке информации из одной программы в другую.

Последний раз редактировалось nickname2019, 06.06.2024 в 23:15.
nickname2019 вне форума  
 
Непрочитано 06.06.2024, 22:51
#390
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 178


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Для конечно-элементного анализа конструкций каркасов (двести тысяч и более элементов) эксель подходит слабо. В конструктивных решениях нет сетей сложной топологии (которые нужно описать таблицей), есть куча цифр, которые нужно отобразить на плоскости и проанализировать (данные по площади армирования и т.д.). Формирование и обращение матриц по сто тысяч элементов тоже в экселе не сделаешь.

Расчеты у нас реализованы в разных программах, но работа заключается в затрате большого количества времени в перегонке информации из одной программы в другую.
Я понимаю, что у нас разные расчеты, но на просторах интернета, я периодически встречаю, разные конструкторские расчеты в экселе. Понятное дело, что это какие то узловые места, но они есть.
Я лишь хотел поделился опытом своих изысканий, в области расчетов.
veb86 вне форума  
 
Автор темы   Непрочитано 06.06.2024, 23:07
#391
nickname2019


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


Цитата:
Сообщение от veb86 Посмотреть сообщение
Я понимаю, что у нас разные расчеты, но на просторах интернета, я периодически встречаю, разные конструкторские расчеты в экселе. Понятное дело, что это какие то узловые места, но они есть.
Я лишь хотел поделился опытом своих изысканий, в области расчетов.
Спасибо за мнение. Кто-то считает в экселе. Я с института считал в маткаде, поэтому эксель вообще не знаю. Проблема расчетов в экселе (и с маткадом) - их практически невозможно объединить в единую систему с графикой для более-менее сложных объектов (я рисую, и что-то автоматически считается).
А Вы не работали с #Net сборками или objectarx?
А с динамическими блоками у Вас в электрике как? Используете их?

Последний раз редактировалось nickname2019, 06.06.2024 в 23:15.
nickname2019 вне форума  
 
Непрочитано 06.06.2024, 23:30
#392
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 178


Цитата:
Сообщение от nickname2019 Посмотреть сообщение
А Вы не работали с #Net сборками или objectarx?
C# знаю постольку поскольку. Могу обращаться к объектам на чертеже и считывать с них данные, ну и соответственно обрабатывать информацию.
objectarx - С++, не пробовал, напрягла сложность. Да и потом нашел опенсоурсный КАД...

Цитата:
Сообщение от nickname2019 Посмотреть сообщение
А с динамическими блоками у Вас в электрике как? Используете их?
Я не умею создавать в автокаде динамические блоки, да и цели не было научится. Но иногда их использую, я еще не дописал расчетку. В зкаде мы используем расширение для объекта, оно позволяет управлять видимостью линий внутри объекта и по идеи в зависимости от параметров внутри объекта, происходит нужная визуализация. Генератор схем находится внутри экселя, это инструкции которые меняются в зависимости от расчетов, он дает координаты и имя нужного объекта для вставки, и соответственно управляет видимостью внутри него. Если бы я делал для автокада, то мне бы нужны были динамические блоки для управления видимостью. Как я понимаю, динамические блоки это удобство, реально ускоряют время, но они не дают нужной автоматизации, они сами по себе

----- добавлено через ~5 мин. -----
Цитата:
Сообщение от nickname2019 Посмотреть сообщение
Проблема расчетов в экселе (и с маткадом) - их практически невозможно объединить в единую систему с графикой для более-менее сложных объектов (я рисую, и что-то автоматически считается).
Так я и сказал, что я сейчас рисую, нажимаю несколько кнопочек, и у меня появляется экселька с готовыми расчетами, остается до настроить и выкинуть результат на чертеж.
Пришлось еще что то нарисовать, я нарисовал, повторил и экселька новая, с новыми цифирьками.
Тут главное понимать, что экселька должна генерировать в зависимости от чертежа, и параметров объектов внутри него.
Даже не подумайте, что я навязываю свой подход, все это прекрасно можно реализовать внутри автокада. Тем более у С# есть отличные библиотеки для взаимодействия с эксель
veb86 вне форума  
Ответ
Вернуться   Форум 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