LINUX.ORG.RU

Обмен опытом использования САПР SolveSpace

 , ,


14

9

В этой теме предлагаю обмениваться опытом использования свободной 2D/3D САПР SolveSpace а также ссылками на ее обсуждение на других ресурсах.

Сайт/Website - http://solvespace.com

История изменений/Changelog - https://github.com/solvespace/solvespace/blob/master/CHANGELOG.md

Стабильная версия - SolveSpace 2.3 (../tree/2.x)

Версия в разработке - SolveSpace 3.0 (../tree/master)

Форки:

Примеры:

Вот некоторые интерестные ссылки:

.

★★★★★

Последнее исправление: atsym (всего исправлений: 38)

Ответ на: комментарий от EvilSpirit

Разве в сборках («Assemble») уже починили перегенерацию отдельных деталей меша по клавише «Space»?

atsym ★★★★★
() автор топика
Ответ на: комментарий от atsym

Разве в сборках («Assemble») уже починили перегенерацию отдельных деталей меша по клавише «Space»?

А разве это требуется? Помоему, там нужно просто перезагрузить модель из файла, и есть вероятность, что это сработает через Space

EvilSpirit
()
Ответ на: комментарий от brothermechanic

Твое железо тянет OpenGL 2.0 и 3.0? Если «ДА», то смотри в шапке темы 'nightly' by @ foror (самая свежая сборка на основе бренча @Evil-Spirit)

Если же железо у тебя старенькое (как и у меня...), то есть два варианта:

1) пользоваться EXE'шниками из под WINE (смотри в шапке 'nightly' by @ EvilSpirit если хочешь самую свежую)

2) Использовать AppImage сборки от @probonopd (версия там не самая новая, но зато работает)

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 1)
Ответ на: комментарий от atsym

пакета значит нет (там только конпеляние)

ниже есть AppImage сборки от @probonopd версии 2,2

такс... dwg не открыл....

вообще интересно попробовать, есть ли в нем что-то подобное FinishForm

https://youtu.be/u21Tk59dpvI?t=37m2s

или на сколько геморно делать подобное

https://youtu.be/u21Tk59dpvI?t=48m12s

отпишусь по результатам

brothermechanic ★★★★★
()
Ответ на: комментарий от brothermechanic

пакета значит нет (там только конпеляние)

Просмотри все ссылки которые находятся в подпункте 'nightly' by @foror - там есть ссылка на бинарник, но файлы придётся разложить вручную

Пакеты есть, но нужно понят какую версию ты хочешь

https://repology.org/metapackage/solvespace/versions

https://launchpad.net/ubuntu/ source/solvespace

atsym ★★★★★
() автор топика
Ответ на: комментарий от brothermechanic

... подобное...

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

По делу, не знаю попытаюсь как-то эти стримы досмотреть и понять их суть. Тогда и отвечу

atsym ★★★★★
() автор топика
Ответ на: комментарий от atsym

Тут надо смотреть что это за конкретный такой DWG.

Поддержку DWG сделали просто потому что libdxfrw это умеет делать хоть как-то. Т.к. формат не документированный, какие-либо работы по исправлению - это сложная и довольно-таки бессмысленная работа. Всегда можно перегнать DWG->DXF. К тому же, многие ожидают загрузки 3d из DWG, а это не поддерживается.

EvilSpirit
()
Ответ на: комментарий от EvilSpirit

Да, сделаю на этой неделе.

Пока вот сделал заготовку для прохождения заданий Reddit CAD Challenge используя SolveSpace, куда планирую выкладивать собственные результаты выполнения заданий

http://github.com/symbian9/reddit_cad_challenge

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 1)
Ответ на: комментарий от EvilSpirit

Да, я знаю, но попытаюсь сделать всё сам без подглядывания в его канал

atsym ★★★★★
() автор топика
Ответ на: комментарий от DR_SL

Здорово, займусь вычиткой.

для минималистов любителей темного интерфейса

В SolveSpace, если что, можно перекрасить интерфейс. Я думаю что делать акцент на «темной» дефолтной теме не стоит (а вот почему дефолтная тема тёмная, это наверное сказываеться история того, что изначально SolveSpace был 2D кульманом, для которых и характерна данная дефолтная темнота)

Вот собственно предок SolveSpace - SketchFlat (2D кульман)

http://cq.cx/sketchflat.pl

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 1)

Чего-то не получается сделать Boolean операцию на сфере сделанную на половинке круга через Rotating на центральной линии. Затем делаю новый workplane на точке и пытаюсь экструдить круг внутрь сферы. В итоге все горит красным, можно поводить вырез по сфере и ближе к краям Boolean операция срабатывает.

Думаю это частый юзкейс, как в SolveSpace делают сферу с отверстиями?

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от foror

Со сферой в SolveSpace беда, будь осторожен особенно с экспортом моделей в которых присутствует сфера ПК может зависнуть! (это баг, и о нём я уже создавал issue рание.)

https://github.com/whitequark/solvespace/issues/118

Как вариант, попробуй в группе, в которой находится сфера поставить галку

[v] force NURBS surfaces to triangle mesh

Операция boolean в SolveSpace непосредственно с NURBS поверхностями всё ещё желает быть лучшей.

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 1)
Ответ на: комментарий от atsym

Да там несложная деталь, обошелся force nurbs, так что не вижу смысла кидать скрины.

foror ★★★★★
()

Если нужно будет распечатать прототипы изделий на стороннем 3D принтере, можно экспортировать модели для проприетарных программ, с которыми скорее всего работают их владельцы?

foror ★★★★★
()

Раздражает диалог при удалении элементов с зависимостями. Да и прочие диалоги с ошибками. Лучше сделать отдельное окно с консолью и туда всё выводить текстовыми сообщениями, подсвечивая окно во время ошибок.

Но это issue уровня Google Summer of Code - задание, кому на крестах потренироваться захочется )

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от foror

Лучше сделать отдельное окно с консолью и туда всё выводить текстовыми сообщениями, подсвечивая окно во время ошибок.

Зачем новое окно? Можна же в «Property Browser» выводить инфу и о удалении.

Надеюсь однооконный режим когда-то таки появится в SolveSpace как опция.

atsym ★★★★★
() автор топика
Ответ на: комментарий от atsym

Да без разницы куда, главное, чтобы не блокирующими окнами все эти сообщения лезли.

foror ★★★★★
()
Ответ на: комментарий от foror

Раздражает диалог при удалении элементов с зависимостями.

Я бы и красный экран убрал. Просто не двигать туда, где возникает ошибка, и все.

EvilSpirit
()
Ответ на: комментарий от EvilSpirit

Я бы и красный экран убрал

Кстати, да. Достаточно и вывода сообщений об ошибках в окне «Property Browser»

Да и блокирование рабочего пространства «зелёной надписью» после экспорта стоило бы можно было бы убрать. Достаточно было бы вывода сообщения об успешном завершении экспорта также через «Property Browser

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 2)

Шапка темы обновлена

Добавил ссылки на оф.сайт и дополнительные 'nightly' билды, поправил некоторые ссылки

atsym ★★★★★
() автор топика

А копирование/сборка детали в 3D с зеркальным отражением как я понял не реализовано?

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от foror

Реализовано: просто в присоединенной группе нужно задать коефициент -1. Так же и при копировании/вставке нужно будет задать коефициент -1.

atsym ★★★★★
() автор топика

EvilSpirit тут появилась задача синтеза нужных мне параметров в замкнутой системе, для чего нужно залезть в кишочки SolveSpace. Скажем у меня 7 параметров, которые нужно отправить в решатель и на выходе 3 REF значения, которые нужно проверить.

Сама система в 2D пространстве из линий и точек, примерно 10 соединений с обратной связью. Решатель нужно вызвать порядка 10^8 раз, поэтому очень интересует вопрос на какой порядок времени я могу рассчитывать при вызове решателя?

Скажем я подготовлю 3 файла (система находится в 3 разных состояниях) в каждом файле одно REF значение, которое нужно проверять перебирая 7 параметров.

Загружаю файл через API SolveSpace и получаю в памяти некую структуру. Из этой структуры я выбираю параметры по их ID (что-то типа с0а3-pt-pt-distance), изменяю один параметр и направляю в решатель.

Если решатель разрешил систему, то из структуры по ID вытаскиваю REF значение, которое затем проверяю.

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

Было бы здорово если сможешь ткнуть меня в нужные методы для реализации этого алгоритма. Или может какую ссылку скинешь?

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от foror

Если ты дашь более широкий контекст относительно того, для чего тебе нужно это сделать я смогу тебе подсказать. 10^8 раз это достаточно много. Если цикл решения будет 1мс, то понадобится 1 день на такой перебор. У нас есть система автотестов, можно попробовать использовать ее. Я там делал уже бранч для этого https://github.com/Evil-Spirit/solvespace-master/commits/solver-tests

EvilSpirit
()
Ответ на: комментарий от foror

только сдается мне, твою задачу можно решить как-то с помощью решателя. если это задача оптимизации, можно просто подкинуть нужные уравнения в дополнение к уже существующим ограничениям. опять же, без контекста (изначальной постановки задачи) я мало что могу предложить

EvilSpirit
()
Ответ на: комментарий от foror

Может есть другое ПО для синтеза параметров 2D системы где это все документировано?

А попробуй-ка Pyslvs, недавно как раз вышла свежая версия

https://github.com/KmolYuan/Pyslvs-PyQt5

Есть готовый DEB, но он без указаных зависимостей (придётся кое-что доустанавливать вручную)

https://github.com/KmolYuan/Pyslvs-PyQt5/releases/

P.S.: я всё никак не решусь написать полноценную новость о «Pyslvs», хотя черновик новости у меня уже давно лежит

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 1)
Ответ на: комментарий от foror

foror Кстати, да, pyslvs вроде позволяет сделать то, что ты хочешь только вот проблема в том, что там надо руками(?) все рисовать по-новой. А если использовать testsuite, как быстрый старт для твоих задач, то можно прям в SolveSpace нарисовать все.

EvilSpirit
()
Ответ на: комментарий от EvilSpirit

Если цикл решения будет 1мс, то понадобится 1 день на такой перебор

1 день это здорово, я планировал пару многоядерных серверов у хетцнера на аукционе закупить на месяц )

система автотестов, можно попробовать использовать ее

Попробую этот вариант.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от EvilSpirit

СПАСИБО! Очень интерестно написано и читается одним залпом.

И за видео отдельная благодарность - наконец-то с комментариями ;-)

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 2)
Ответ на: комментарий от EvilSpirit

Единственное замечание по поводу этой статьи

Например, оригинальный SolveSpace по версии Джонатана Вэстхью , автора SolveSpace , в качестве метода решения использует метод Гаусса , обладающий алгоритмической сложностью O(n^3)

Если уж сказал какой метод использует «оригинальный SolveSpace версии 2.0 и ниже», надо было бы и сказать о том какой метод используется в «SolveSpace версии 2.1 и выше»

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 1)

Здрасти всем. Пришла в голову мысть. Сделать ПАРАМЕТРИЧЕСКУЮ модель спортивного каноэ. Хочу попробовать по ней сделать болванку из пенопласта и если получится, то и застеклотнакю.

Блендер отпадает сразу, мне нужна параметрическая модель.

Во Фрикаде, вроде, можно слепить более-менее контроллируемую нурбсовую форму, но на неё каким-то образом надо будет наложить обечайку, которая была бы привязана к поверхности. А это уже во фрикаде секас.

А как вы представляете себе эту задачу в сольвспейсе? Помнится, с нурбсами было никак, но мне нравятся 3Д привязки. Что скажете? Или я брежу?

Deleted
()
Ответ на: комментарий от Deleted

Вряд ли получится что то из этого. Могу предложить только rhino, там с нурбс все круто, ти сплайны, гладкие по вторым производным, Грасс Хоппер для автоматизации. Только не опен, но это твой выбор. SolveSpace к такому точно не готов

EvilSpirit
()
Ответ на: комментарий от EvilSpirit

Не, ни покупать ни пиратить не собираюсь. Хотя... Интересно, а в Брикскаде это было бы удобнее? Но тратить на него время неохота. Это мой больничный проект, на расслабоне.

Да и для Фрикада не настолько уж и неподъёмная задача. Опять же, таблицы в ём. Если всё получится, можно будет экспериментировать с формами (тренер, зараза, не дал снять мерки с профессиональной лодки, которую чинит, только с советских обмылков, рассыпающихся от старости и медленных и неустойчивых)

Deleted
()
Ответ на: комментарий от atsym

СПАСИБО! Очень интерестно написано и читается одним залпом.

А я вот прочитал - сплошное занудство. Буду про unity писать в следующий раз, хоть кто то кроме тебя прочитает

EvilSpirit
()
Ответ на: комментарий от Deleted

Не, ни покупать ни пиратить не собираюсь. Хотя... Интересно, а в Брикскаде это было бы удобнее?

Я работал в Бриксис, правда один месяц. Сбежал от скуки. У них intellicad с acis и прямым моделированием через солвер от ledas. Еще bim свой пилят. Можешь попробовать

EvilSpirit
()
Ответ на: комментарий от Deleted

FREE!Ship - комплекс программ дизайна яхт, катеров и судов, для расчетов статики и гидродинамики судов.

Сделать ПАРАМЕТРИЧЕСКУЮ модель спортивного каноэ.

Смотри в сторону FREE!Ship и его форков

О программе:

Свободный аналог таких программ как MultySurf, MaxSurf, FastShip, AutoShip, NavCAD, Rhino Marine, Aveva. Предназначена для обучения студентов кораблестроительных ВУЗов и для использования в научных и производственных целях. Программа позволяет спроектировать обводы корпуса судна с использованием технологии NURBS, построить теоретический чертеж и развертки поверхностей, провести расчеты плавучести и остойчивости (пантокарены, ДСО, ДДО, критерий погоды по Правилам Морского Регистра России), определить буксировочное сопротивление и мощность движению корпуса (более 40 методов и серий - Холтропа, Холленбаха, Неймана, НИИВТа, ОСТа, Брауна и др.), выбрать тип и количество движителей, рассчитать оптимальный гребной винт (17 винтовых диаграмм и 6 типов движителей) и выбрать главный двигатель из базы данных (более 300 ДВС и 100 гидро- и электромоторов), построить паспортную диаграмму и многое др.

Если надо документация на русском, могу ссылок накидать

atsym ★★★★★
() автор топика
Ответ на: комментарий от EvilSpirit

Могет быть. Я когда-то уговорил начальство купить его, попользовал для тупейших деталей, а потом было некогда, всё же не моя специальность, а потом ещё и ушёл, так что, даже не представляю как он на подобных задачах работает, знаю только, что они (брикскадовцы), заразы такие, 3д ограничители дают только с максималочкой.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.