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)

21 мая 2017 г.

Solvespace tutorial 10: Fidget Spinner (by Eric Buijs)

«Трёхлопастной спиннер» — отличное средство для релаксации.

ВИДЕО — https://www.youtube.com/watch?v=mvJuwv-1Qic

SLVS-файл (для SolveSpace 2.3 и выше) — https://drive.google.com/file/d/0Bwg0RBbuN0fMN2JfUXpYc05WN0E/view

P.S.: https://m.geektimes.ru/company/madrobots/blog/289225/

P.P.S: https://m.geektimes.ru/company/gearbest/blog/289211/

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 2)
Ответ на: Solvespace tutorial 10: Fidget Spinner (by Eric Buijs) от atsym

Да, ндравится мне возможность просто потянуть за узел, ничего не ломается. Во Фрикаде такое не получается. И возможность проставлять размеры прямо на модели тоже нравится.

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

Как там дела в проекте? Что-то ни релизов, ни ночнушек не выкатываете.

Можешь сделать EXE из master?

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

SolveSpace 3.0 всё?!

Я здесь.

У вас что там, совместный отдых намечается?

http://solvespace.com/forum?action=viewthread&parent=1972&tt=1496810434

EvilSpirit & whitequark, ну вы хотябы EXE для 32bit сделайте, перед тем как похоронить проект!

http://solvespace.com/forum?action=viewthread&parent=1955&tt=1496431502

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

Хочу сделать замкнутую систему в 3D с работающей механикой, но программа окрашивает экран красным, когда замыкаю последнюю точку в 3D.

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

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

В конце-концов соединяя четвертый с первым боксом, замыкая контур и мне экран окрашивается в красный.

Как-то это решается? Может последнюю версию собрать из репы и там это устранили?

Есть другие решения, которые умеют работать с замкнутым контуром, чтобы любую деталь подергал и она повлияла на другие? Может блендер? В крайнем случае, что-нибудь под винды?

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

В SolveSpace это работает если делать движения плавными, просто нужно правильно присоединять детали. Не знаю что там у тебя не так, у меня все работает. Можешь дать свой файл чтобы посмотреть?

Можно ещё попробовать V-Rep

https://vimeo.com/209501913

http://solvespace.com/forum?action=viewthread&parent=1414

https://youtube.com/search?q=solvespace vrep

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

Сейчас точки навел один в один (выделил обе через двойной клик с шифтом), единственно у второй точки почему-то -0.00 по Z, но всё равно не работает. Чуть попозже скину исходник. Может это из-за версии, я последнюю 2.3 собрал с гитхаба. Еще попробую в винде потестить.

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

Лучще сбрасывай на форум SolveSpace, там разберёмся.

У меня, к сожалению только версия 2.2 на Xenial завелась, так что я не смогу открыть файл из 2.3

http://solvespace.com/forum

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

https://drive.google.com/file/d/0B36uBX3gRq2lLVNhZDhEZnBuSjQ/view?usp=sharing По сути я хотел бы получить нечто подобное https://youtu.be/QVSdin3ne-4?t=3m53s Для начала, хотя бы в 2d. Кстати, как там объединить последние точки, они ведь накладываются друг на друга и непонятно как выбрать обе?

Лучще сбрасывай на форум SolveSpace, там разберёмся.

Я уже сбросил, там говорят такая сборка невозможна. Но как тогда сделали вот такое (http://solvespace.com/linkage.pl) https://drive.google.com/file/d/0B36uBX3gRq2lMTNnYnZqMlRnc1k/view?usp=sharing Кстати, было бы здорово глянуть видео, как делают эту деталь.

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

Pyslvs-PyQt - симулятор кинематики, совместимый с форматом файлов SolveSpace

Для начала, хотя бы в 2d.

Попробуй «Pyslvs-PyQt»

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

https://github.com/KmolYuan/Pyslvs-PyQt5/releases/tag/v0.7.0

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

В SolveSpace если просто линиями накидать, то все нормально соединяется и механика работает. Мне это нужно в итоге в 3D модель сделать и анимировать.

В SolveSpace судя по примерам (jansen-asm) можно сделать такую механику, там просто каким-то хаком через pt-on-face ограничение соединяется последняя деталь в контуре. Я у них на форуме задал вопрос, буду ждать объяснений как этот хак работает.

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

Я у них на форуме задал вопрос, буду ждать объяснений как этот хак работает.

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

To model a linkage, draw the skeleton of the linkage in a single group, like with line segments, point-coincident constraints, and length constraints. You can then constrain the solid parts against the skeleton in later groups.

http://solvespace.com/forum?action=viewthread&parent=2026&tt=1500708264

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

Fourbar (SolveSpace), вариант #1

В SolveSpace если просто линиями накидать, то все нормально соединяется и механика работает. Мне это нужно в итоге в 3D модель сделать и анимировать.

Модель: http://hnng.moe/f/SlF

Скриншот: http://hnng.moe/f/SlG

Тестируй. На скриншоте подсветил какую точку (узел) лучше всего крутить.

P.S.: Кстати, а что это за видосик?

https://m.youtube.com/watch?v=gF08S_WRJqE

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 2)
Ответ на: Fourbar (SolveSpace), вариант #1 от atsym

Т.е. у тебя деталь не собрана из готовых запчастей, а нарисована в одном файле. Я так не пробовал, по туториалам на ютубе, конечный результат собирают из готовых деталей. Тот же Jansen как-то собрали из деталей.

Кстати, а что это за видосик?

Это не мой канал.

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

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

Чуть позже сделаю второй вариант в виде сборки.

P.S.: есть много вариантов решения подобной задачи по стандартным и по нестандартным методикам.

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

Fourbar (SolveSpace), вариант #2

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

Сборка: http://hnng.moe/f/Slr

Скриншот: http://hnng.moe/f/Slq

atsym ★★★★★
() автор топика
Ответ на: Fourbar (SolveSpace), вариант #2 от atsym

Большое спасибо, примерно понял как делать. Завтра попробую с нуля собрать собственную деталь этим методом. А то хотел уже старый ноут с офтопиком расчехлять, да на торренты ползти в поисках одной популярной програмки )

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

А то хотел уже старый ноут с офтопиком расчехлять, да на торренты ползти в поисках одной популярной програмки )

«Даже не думай!» (c)

atsym ★★★★★
() автор топика
Ответ на: SolveSpace 3.0 всё?! от atsym

У вас что там, совместный отдых намечается?

Раздельный не-отдых. Хотя и отдыхать тоже нужно, но я не умею). Проект мы не собираемся забрасывать это уж точно, не нужно распускать по этому поводу слухи.

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

А привязывать к OpenCASCADE, который имеет кучу ограничений

а можно по-подробнее, что там за «фатальные» ограничения OCC, из-за которых все программы «гибнут»? :) Я его использую, брат жив...

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

а можно по-подробнее, что там за «фатальные» ограничения OCC

Не знаю, что там за ограничения у OpenCASCADE, но стал склоняться к мнению, что NURBS - это гиблое дело. Вернее, сам по себе NURBS для того, для чего его придумали - идеален (то есть для создания произвольных кривых, плавных форм, гладкости по вторым производным и т. д.). Но вот кто-то вдруг решил, что NURBS - это универсально, NURBS с плясками вокруг параметризации и конические сечения сностно поддерживать может (окружности, эллипсы, параболы и т. д.). Но вот начинаем делать что-то реальное: например, винтовую поверхность. Тут уже NURBS только аппроксимирует результат. Тут уже ни о какой точности речи нет. А если добавить к этому, что пересечения на NURBS тоже есть аппроксимация из-за того, что аналитически они не решаются, то можно сказать, что NURBS не нужен. Да и при современных вычислительных мощностях уже нет необходимости заморачиваться. Если и делать теперь геометрическое ядро - то делать его уже по схеме, где поверхности заданы произвольными уравнениями(хоть NURBS, хоть настоящая синусоида, которая нужна для точной винтовой поверхности). Если все одно - пересечения точно не посчитать, то и делать все кусочно-линейно (на полигональном меше, который сохраняет информацию о том, какое уравнение задает его вершины). Не знаю, к чему я это пишу, просто мысли вслух про «проблемы NURBS».

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

Понятно. «Универсальной пули» не существует :) Сделать поверхности с произвольным уравнением — та ещё задачка... Наверняка найдётся кто-нибудь, кому позарез нужны будут поверхности, являющиеся решением нелинейного уравнения энного порядка :)

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

Первое фатальное ограничение - это лицензия. Именно поэтому разработчики FreeCAD не могут использовать наработки OpenCAMlib напрямую, например. А также с импортом из dxf с помощью жпл3шной библиотеки.

Дай ссыль на твои разработки. Чего там ваяешь?

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

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

А теперь всё это, пожалуйста, добавь в текущее ядро SolveSpace! ;-)

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

Кстати, ну сделайте что-нибудь для понижения требований к системе у SolveSpace, чтобы можно было собрать хотя бы на Xenial 16.04 LTS (а ещё лучше начиная с Trusty 14.04 LTS)

И сборку для Win32 также сделайте, чтобы можно было через Wine запускать.

http://solvespace.com/forum?action=viewthread&parent=1955&tt=1498287111

И поддержку работы OpenGL1.x (Galium on RS600, Mesa).

А то SolveSpace станет всего лишь ещё одним CAD для хипстеров с проприетарными Win64/macOS. А для Linux только FreeCAD и останется.

Единтвенная более-менее работающая сборка на Xenial — это AppImage SolveSpace 2.2 (git1000):

https://bintray.com/probono/AppImages/download_file?file_path=SolveSpace-2.2....

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

Фу... проприетарщик... Покайся!!! Запили нормальный симулятор для Gcoda на питоне. а я на подхвате буду, идеями мешать.

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

симулятор для Gcoda на питоне

Отправная точка

https://github.com/parogers/gsim

И еще по теме

https://github.com/search?o=desc&q=gcode simulator&s=updated&type...

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

Ну, gsim переписывать будет полегче чем подключаться к CAMotics, спасибо. А вообще, мне бы основу удобную, чтобы мне осталось только логику писать. Всё кругом переделывать надо. :(

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

А теперь всё это, пожалуйста, добавь в текущее ядро SolveSpace! ;-)

Где бы взять времени на разработку этого?

Кстати, ну сделайте что-нибудь для понижения требований к системе у SolveSpace, чтобы можно было собрать хотя бы на Xenial 16.04 LTS (а ещё лучше начиная с Trusty 14.04 LTS)

Однажды меня здесь назвали «виндовозником», вот это именно я и есть, не обессудь. Я в линуксах не понимаю ничего, все вопросы к @whitequark.

И сборку для Win32 также сделайте, чтобы можно было через Wine запускать.

Сборки тоже делает @whitequark, все вопросы к нему.

И поддержку работы OpenGL1.x (Galium on RS600, Mesa).

У нас есть поддержка, можно выбирать при сборке OpenGL1 или другой (мы его называем OpenGL3, хотя изначально мы нацеливались на максимальную совместимость с OpenGL ES2).

А то SolveSpace станет всего лишь ещё одним CAD для хипстеров с проприетарными Win64/macOS. А для Linux только FreeCAD и останется.

В какой-то момент мы отрезали совместимость с WindowsXP (не помню, почему), вместе с этим отвалилась какая-то совместимость с win32 других версий (потому что собираются именно win32 билды, но пользователи почему-то думают, что запускают x64 билды). Наверное дело в настройках версий библиотек VisualStudio. Опять же, я не тот, кто настраивал CI и делал эти всякие CMAKE с флагами, я просто пишу код.

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

У нас есть поддержка, можно выбирать при сборке OpenGL1 или другой (мы его называем OpenGL3, хотя изначально мы нацеливались на максимальную совместимость с OpenGL ES2).

В README об этом ни слова

https://github.com/solvespace/solvespace/blob/master/README.md

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

Сборки тоже делает @whitequark, все вопросы к нему.

Cast whitequark

(no subject) (by whitequark)

Okay. Right now I can only suggest running version 2. I'll investigate some way of exporting debug logs in the future.

Sat Jun 24 2017, 02:51:51

EvilSpirit, я так понимаю, что и он не может запустить то чо накомпилилось...

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

EvilSpirit, я так понимаю, что и он не может запустить то чо накомпилилось...

Это было бы проще всего поправить, скорее наоборот, у кого-то что-то не запускается, а чтобы решить проблему, недостаточно информации.

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

По умолчанию в данной строке лучше использовать 1, потому как 3 (OpenGL|ES 2.x) поддердиваеться значительно меньшим количеством ПК.

Ну, и в README было бы хорошо разьяснить об этом.

А при выкладывании бинарников желательно указывать в их названии под какой OpenGL они компилились:

solvespace-2.3_gl1.exe

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

По умолчанию в данной строке лучше использовать 1, потому как 3 (OpenGL|ES 2.x) поддердиваеться значительно меньшим количеством ПК.
Ну, и в README было бы хорошо разьяснить об этом.
А при выкладывании бинарников желательно указывать в их названии под какой OpenGL они компилились:

Да, все так. Но лучше такое писать сразу в issue на github

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

Спасибо за запил ranged_constraints: https://github.com/solvespace/solvespace/issues/273#issuecomment-319424398 ) Единственно, глючит - когда задаешь ограничение на угол между двух линий, то теряется их соединение и нужно заново делать соединение по точке. Но в целом, может сойдет для моего проекта, еще потестю в 3D на неделе.

Еще сюда стоит добавить пробелы, а то всё сливается:

SS.MmToString(valMin) + "<" + result + "<" + SS.MmToString(valMax);
foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.