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

какие фичи как можно использовать

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

И в связи с этим понимаю как можно было бы объеденить/скомбинировать некоторые функции для того чтобы реализовать дополнительный функциноал в SolveSpace. Но я это понимаю на уровне логики программы и алгоритмов (+ знание геометрии, черчения и теормеха тоже помогают 'выкручиваться' в связи с нехваткой некоторого функционала в SolveSpace)

К сожалению в программировании C/C++ я не очень...

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

примеры некоторых моих решений уже выкладывал и в этом топике, и на официальном форуме SolveSpace

Это не очень эффективно. Ты тратишь столько сил и нервов на то, чтобы писать ишью в разных опенсорс проектах, считая, что так ты делаешь огромную полезную работу, потом пытаешься выдавать это за достижение. Я вижу, ты хочешь помочь проекту, но если ты делаешь действительно что-то на SolveSpace, я настоятельно тебе рекомендую вложить свою энергию во что-то, что сможет принести реальную пользу проекту (написание документации, туториалов по нестандартным подходам работы в SolveSpace). Таким образом, ты получишь возможность легко продвигать и обосновывать фичреквесты. Например, ссылка на видео, где ты в определенный момент мог бы применить фичу, но ее еще нет, или статья на хабре или reddit, где ты пишешь, что вот в этом моменте очень не хватает вот этого. Тогда тебе не нужно будет писать issue, мы будем читать твой блог и будет очевидно, что в ходе реального применения это неоспоримо-необходимая функциональность. Так это вот я к чему: ты пишешь столько текста, к тому же на английском, так может ты начнешь уже не просто переписываться с нами на форумах, а вносить реальный вклад в проект, делая статьи, которые помогали бы продвигать SolveSpace. Ведь проблема сейчас не в фичах, проблема в том, что SolveSpace (как говорят) хорош, но им никто не пользуется. Мне не очень интересно будет продолжать над ним работу, если это останется так.

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

К сожалению в программировании C/C++ я не очень...

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

Если я правильно понимаю, это твоя работа: https://github.com/solvespace/solvespace/issues/143 Так какого фига вот здесь https://www.google.ru/search?q=Solvespace&newwindow=1&source=lnms&amp... эта картинка еще не топе? Даже моя картинка https://habrahabr.ru/post/324160/ из этой стати выше.

Я понимаю, это не метрика. Но если ты сделал такое в SolveSpace, об этом должны знать все

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

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

САПР'ы и техническое 3D моделиование - это моя тема, так что в чём, в чём, а в этой сфере я таки плаваю ;-P

а не пытаться подсказывать нам технологии, библиотеки и методы программирования.

То что я не разбираюсь (пока-что) в C/C++ не означает что я не разбираюсь в программировании, 3D моделировании, форматах файлов и т.д. Не стоит меня недооценивать ;-)

О методах программирования я вроде никаких issue и не создавал. Если неправ, ткни носом - будем разбирать что к чему.

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

Извини, отвлеку немного.

Твоя Ананамида не собирается.

Клонировал AnanamideAPI и AnanamideEditor, открыл проект в Qtcreator, попытался собрать.

AnanamideAPI собирается, вроде, появляются библиотеки, не ругается, что что-то не нашлось. AnanamideEditor, в свою очередь, ищет AnanamideAPI в depend. Ладно, скопировал AnanamideAPI в depend, пересобрал. Пытаюсь опять собрать AnanamideEditor и сборка вываливается с ошибкой:

cp -f ../depend/AnandamideAPI/bin/* ../bin/*.*
cp: не удалось выполнить stat для '../depend/AnandamideAPI/bin/*': Нет такого файла или каталога
make: *** [Makefile:457: ../bin/AnandamideEditor_x86] Ошибка 1
Посмотрел в проект-файл AnanamideEditor, там ты используешь такую конструкцию:
ANANDAMIDE_API_BIN = $$shell_path("../depend/AnandamideAPI/bin/*")
и
QMAKE_POST_LINK += $$QMAKE_COPY $${ANANDAMIDE_API_BIN} $$shell_path("../bin/*.*")
Очевидно, оно этого не понимает. Да и в ../depend/AnandamideAPI/bin/ ничего нет вообще.

Пытался собирать вручную, qmake, make, всё тоже самое.Что я пропустил?

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

О методах программирования я вроде никаких issue и не создавал.

Вот и хорошо, продолжай в том же духе

форматах файлов и т.д. Не стоит меня недооценивать ;-)

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

Вот я, например, заинтересован в создании и продвижении «формата обмена opensource CAD данными». Взять и сделать какой-то формат на основе CSG, который можно было бы сностно импортить/экспортить между FreeCAD, SolveSpace, OpenSCAD (можно дополнить список, но я не знаю, чем).

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

Если я правильно понимаю, это твоя работа: https://github.com/solvespace/solvespace/issues/143

Так какого фига вот здесь (google) эта картинка еще не топе? Даже моя картинка https://habrahabr.ru/post/324160/ из этой стати выше.

Работа моя, да. Почему она не в топе? Во-первых, я пока ещё не постил её на топовых сайтах отдельным постом (reddit/r/cad, youtube, HN, LOR и т.д.); конкретно эту модель надо ещё доработать, из-за того что для некоторых запланированых мной конструктивных узлов необходимы «ranged constrains» (благодаря тебе это уже реализовано) и некоторые другие функции которых ещё нет ни в SolveSpace 2.x, ни SolveSpace 3.x (и для которых даже я не придумал пока-что нестандартных решений). Но я продолжаю ваять, и надеюсь, вскоре смогу представить публике финальный результат

http://forum.privat.aero/viewtopic.php?f=42&t=1550

Я понимаю, это не метрика. Но если ты сделал такое в SolveSpace, об этом должны знать все

(Частично оветил выше) Во-вторых, я запланировал уже создание нескольких публикаций в блоге DR_SL'а (он даже учётку мне уже предоставил).

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

Возможно и до Reddit'а и YouTube'а тоже вскоре доберусь.

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

Вот я, например, заинтересован в создании и продвижении «формата обмена opensource CAD данными». Взять и сделать какой-то формат на основе CSG, который можно было бы сностно импортить/экспортить между FreeCAD, SolveSpace, OpenSCAD (можно дополнить список, но я не знаю, чем).

Чем тебе уже неугодили STEP и IGES?

https://ru.m.wikipedia.org/wiki/IGES

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

Экспорт меша из SolveSpace в AC3D - это важно и 'must have'!

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

Я предлагал (и даже настаиваю) чтобы добавили хотя бы экспорт меша в AC3D - это самый оптимальный вариант для моделей состоящих из более чем одной детали с 'риггингом' (кинематикой + локальными координатами) и 'парентингом' (древовидная структура связки деталей); благодаря простоте и описаным выше свойствам этот формат используеться для создания механизированных моделей для авиасимулятора FlightGear. Кроме того, Blender умеет импортировать данный формат с сохранением всех привязок и структуры!

STL и OBJ совсем не подходят для сохранения подобных 'механизированых' полигональных (меш) моделей, состоящих из нескольких деталей со своими центрами вращений и 'парентингом'.

В случае с AC3D: функциональность данного формата важнее его популярности.

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

Чем тебе уже неугодили STEP и IGES?

Нерелевантный набор фич. Поддерживаемое количество фич много больше количества реализованных фич в OpenSouce CADs, причем очень сильное несовпадение. Форматы основаны на BRep и NURBS, которые хорошо и полностью поддерживаются только FreeCAD. CSG формат может задавать геометрию без потери точности, в отличие от BRep. Я могу ошибаться, но в условиях OpenSource инфраструктуры проще и эффективнее создать формат «наименьший общий делитель» по факту изучения доступной функциональности OpenSouce программ, чем пробовать подстраиваться под формат, созданный совсем в других условиях, с использованием других ресурсов, и для других целей.

EvilSpirit
()

Я предлагал (и даже настаиваю) чтобы добавили хотя бы экспорт меша в AC3D

А чем тебе не угодил fbx? Констрейны - это немного не про иерархию и парентинг. Ты не сможешь однозначно экспортить иерархию из SolveSpace без добавления какой-то специальной функциональности. Короче, какую-то специфическую свою(или чужую) задачу проще решать, скажем через Blender, загружая и линкуя там запчасти.

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

Я могу ошибаться, но в условиях OpenSource инфраструктуры проще и эффективнее создать формат «наименьший общий делитель» по факту изучения доступной функциональности OpenSouce программ,

В таком случае, возможно, нужно начать с рассмотрения формата FreeCAD - *.fcstd

https://www.freecadweb.org/wiki/File_Format_FCStd

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

В таком случае, возможно, нужно начать с рассмотрения формата FreeCAD - *.fcstd

там BRep и NURBS, не подойдет

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

Дело в том, что при экспорте сборки с использованием «Assemble/Link», так и со сборками выполненнимы исключително в одном файле (я давал пример выше для «Four bar») в форматы OBJ и STL теряются локальные координаты и центры отделных деталей. В связи с этим подальшая доработка в Blender'е уже теряет всякий смысл. AC3D предотвращает потерю локальных координат и парентинга, что при последующей доработке в Blender дает возможность правильно привязывать анимацию и риггинг.

Экспорт в OBJ и STL в данный момент это допустимый вариант только для единой монолитной детали.

STL сложной тонкостенной детали доработке в Blender часто не подлежит, из-за того что генерируемый SolveSpace'ом меш (алгоритм надо бы доработать) при выполнение операции «Remove doubles» в Blender'е ломает эту модель окончательно.

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

Так почему не FBX то?

FBX - это проприетарщина!

FBX ( F ilm bo x ) is a proprietary file format (.fbx) developed by Kaydara and owned by Autodesk since 2006.

https://en.m.wikipedia.org/wiki/FBX

AC3D же является открытым ASCII-like (CSV-like) форматом полигональных ('меш') 3D моделей. Всё что нужно знать об AC3D собрано здесь

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

SolveSpace & COLLADA (*.dae)

AC3D

Так почему не FBX то?

Лучше тогда уж COLLADA ver.1.5, так как там уже есть поддержка кинематики и кучи всего остального

Также COLLADA ver.1.5 это открытый международный стандарт ISO/PAS 17506:2012

COLLADA стал стандартом ISO

Кроме того это действительно 'популярный' формат

https://en.wikipedia.org/wiki/COLLADA

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

Улучшенный Import/Export COLLADA (.dae) для Blender 2.7x

И даже больше могу ;-)

Теперь вопрос: создавать issue для данного feature request сегодня будешь ты или я?

atsym ★★★★★
() автор топика
Последнее исправление: atsym (всего исправлений: 2)
Ответ на: Улучшенный Import/Export COLLADA (.dae) для Blender 2.7x от atsym

Вот ты опять за свое. Конечно нет. Пока ты не покажешь реальную важность и значимость этой фичи, все будет закрыто won'tfix. Приведи пять друзей с авиафорума, которым это надо - и это будет значимо. Пока это надо лишь тебе, один раз руками ты это сделаешь быстрее в бленедре.

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

Ну да, ну да...

Вот что ты за человек. Сначала я сказал, что ты выбрал непопулярный формат (одна из твоих ошибок), навел тебя на мысль о том, что есть и лучше форматы (я знал про COLLADA и что он больше всего подходит). Теперь ты агрументируешь фичу экспорта популярностью формата. Круг замкнулся. Ты скажи, кому нужна эта фича, кроме тебя? Большинству требуется просто меш, без кинематики. Констрейны - ЭТО НЕ ИЕРАРХИЯ. Констрейны - это не древовидная структура. Сборки - это тоже не ИЕРАРХИЯ! Хотя всю эту информацию для формирования ИЕРАРХИИ можно вытянуть и надумать, это будет неестественная вещь. Для этого должна быть специальная функциональность, которая бы задавала иерархические связи между разными деталями явным образом. Сборка - это последовательность(не дерево). Констрейны - это граф (не дерево, которое ИЕРАРХИЯ). Короче, мне ясно зачем нужна эта фича, но ей не место в ЯДРЕ. Если такое и будут делать, то только на уровне плагинов или чего-то сбоку.

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

Констрейны - ЭТО НЕ ИЕРАРХИЯ.

Я говорю о локальных координатах и центрах вращения ('pivots') отдельных деталей в сборках. Я и НЕ говорил нигде о констрейнах!

(я знал про COLLADA и что он больше всего подходит)

Я тоже знал, но реализация экспорта в COLLADA мне раньше казалась слишком объёмной задачей, поэтому я предложил AC3D который в разы проще для имплементации. А об COLLADA упомянул в последнюю очередь.

Твои 'игры в кошки-мышки' отняли и моё и твоё же время. Ты мог ещё вчера сам сказать сразу о COLLADE, так нет, устроил тут «Угадай меллодию», тоже мне Валдис Пельш...

Я же ради конструктивного диалога создал этот топик, а не ради скора или фана...

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

Я говорю о локальных координатах и центрах вращения ('pivots') отдельных деталей в сборках. Я и НЕ говорил нигде о констрейнах!

Выравнивай детали по reference системе координат в SolveSpace и экспорти каждую отдельно. Экспорти также и сборку всю, импорти всю сборку в блендер, и детали по отдельности рядом, выравнивай детали по сборке с использованием какой-нибудь тулзы привязки вершин (надеюсь, блендер такое умеет). Удаляй сборку, делай иерархию. Сохраняй и используй. Это быстрее, чем ждать фичу, которая, скорее всего, никогда не появится.

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

Я тоже знал, но реализация экспорта в COLLADA мне раньше казалась слишком объёмной задачей, поэтому я предложил AC3D который в разы проще для имплементации. А об COLLADA упомянул в последнюю очередь.

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

Твои 'игры в кошки-мышки' отняли и моё и твоё же время. Ты мог ещё вчера сам сказать сразу о COLLADE, так нет, устроил тут «Угадай меллодию», тоже мне Валдис Пельш...

Я намеренно не стал этого делать, чтобы отнять твое время. Ведь ты же не понимаешь, сколько времени нам требуется на то, чтобы прочитать твои issue, сходить по каждой ссылке, потом еще разобраться, что за говно этот AC3D и где, кто и зачем его поддерживает. Если бы ты написал COLLADA, тут бы вопросов было бы меньше в разы, как и вероятность закрыть won'tfix. И дело не в сложности формата. Какой был сложный ни был формат, если под него есть библиотека - все становится много проще. Но и этот вопрос не должен тебя волновать. Все, что требуется от тебя, как от создателя запроса на фичу - это понимание того, какому проценту от пользователей это может быть нужным и понимание значимости улучшения. например, переписывание меню с использованием всех маленьких буков никого не будет волновать, и не улучшит программу ни на миллиметр.

Я же ради конструктивного диалога создал этот топик, а не ради скора или фана...

А я здесь пишу ради того, чтобы ты так же относился к топикам, которые создаешь в issue. Еще чуть чуть и там тебя перестанут вообще воспринимать всерьез.

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

Если такое и будут делать, то только на уровне плагинов или чего-то сбоку.

Сделайте API для плагинов/скриптинг - этого явно хотят более 5 человек.

solvespace-cli - это хорошее начинание, но его нужно расширить.

Я пока присматриваюсь к API 'python-solvespace', потому как с Python'ом немного дружу.

https://github.com/KmolYuan/python-solvespace

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

Я же ради конструктивного диалога создал этот топик, а не ради скора или фана...

Не создавай фичреквестов «спрожога», чтобы избежать «скора», получишь больше фана.

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

Сделайте API для плагинов/скриптинг - этого явно хотят более 5 человек.

Вот наконец-то ты начал понимать, что у проекта есть проблемы посерьезнее отсутствия экспорта в AC3D. Назови еще 10 таких же важных проблем, без которых у SolveSpace нет будущего и пойми, что это план разработки на ближайшие годы, в который ни AC3D, ни COLLADA ну никак не будут вписываться. А потом почитай все закрытые won'tfixы, на которые ты обижен, и пойми, что это все хлам, который просто засоряет github, почту, наш мозг, тратит драгоценное время.

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

Хочу видеть ROADMAP и milestones для SolveSpace

что у проекта есть проблемы посерьезнее

Главная проблема SolveSpace как проекта - очень малое количество активных разработчиков и пользователей/тестеров. При этом данная проблема ещё усугубляеться и тем, что почти отсутствует взаимопонимание между первыми и вторыми. А всё из-за того что кому-то хочется 'попетросянить'...

Так, я в ближайшие два-три дня напишу статейку о создании «6DoF Robot arm» с использованием версии SolveSpace с твоим патчем. Сегодня же выложу ещё в «Скриншоты» пример создания векторных диаграмм в node-like стиле с помощью SolveSpace.

Что ты планируешь делать для проекта в ближайшие дни?

Кстати, почему нет нормально оформленной ROADMAP'ы и рознарядки?

https://ru.wikipedia.org/wiki/Диаграмма_Гантта

У FreeCAD, LibreCAD и других уважаюших себя проектов ROADMAP'ы всегда на видном месте. Это помогает пользователям/тестерам понять приоритеты развития проекта.

Было бы хорошо оформить их, например, с помощью «Planner»

https://wiki.gnome.org/Apps/Planner

atsym ★★★★★
() автор топика
Ответ на: Хочу видеть ROADMAP и milestones для SolveSpace от atsym

Главная проблема SolveSpace как проекта - очень малое количество активных разработчиков и пользователей/тестеров.

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

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

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

Кстати, почему нет нормально оформленной ROADMAP'ы и рознарядки?

Есть вот такое. https://github.com/solvespace/solvespace/milestones Большего не требуется при таком количестве разработчиков.

EvilSpirit
()
Ответ на: Хочу видеть ROADMAP и milestones для SolveSpace от atsym

Создание диаграмм с помощью SolveSpace

Сегодня же выложу ещё в «Скриншоты» пример создания векторных диаграмм в node-like стиле с помощью SolveSpace.

Done! ;-)

Создание диаграмм с помощью SolveSpace

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