Правильный ответ тут такой:
У нас есть открытый код freecad, который построен вокруг того же ядра. FreeCad позволяет экспорт в DAE и OBJ. Насчет GLTF я не понял.
Значит я теоретически могу посмотреть, как эта конверсия выполнена во FreeCad и сделать тоже самое.
На текущий момент кроме конвертации в stl есть конвертация в brep с возможностью экспорта во freecad (он в чертежи, кажется, умеет). Возможно будет построение сечений (мне их нехватает), но полноценных чертежей тут ждать не стоит (если они и будут, то в виде какой-то надстройки сверху и очень нескоро. Я ими заниматься совершенно нехочу, потому как мне они совершенно не нужны).
Отображение размеров в виде размерных стрелочек сейчас тоже нет. В принципе, сами примитивы для их создания можно добавить (надписи есть, линии есть), но это в любом случае будет не автоматическая простановка. Каждую стрелочку придется ручками прописывать в код. Фишка сомнительной полезности.
От части метод ближайшей точки, рефлексия, и макросы решают задачу выбора элемента геометрии. Вообще, я уделяю много внимания этой проблеме. Это действительно принципиальное слабое место любого скриптового када.
П.С. C#… VS… Что-то это как-то слишком сложненько.
Многие коментаторы этого поста говорят о том, как 3д модель удобно построить. ZenCad это немного о другом.
Я понял свою ошибку. Я сказал слово САПР. И понеслась. А ZenCad, это не САПР… Или, точнее, его можно использовать как САПР, но это не его цель. ZenCad — это библиотека 3д моделирования для экосистемы питона. Когда я писал его API визуализации, я вдохновлялся matplotlib.
ZenCad, это помимо собрать на коленке под 3д печать поломавшийся держатель для душа… Это и без нас…
ZenCad — это о том, как взять результат аналитического решения из sympy и построить по нему поверхность без промежуточных экспорто-импортов… Или же о том, как тяп-ляп нарисовать клешню робота и быстренько провести полунатурное моделирование без интеграции с gazebo…
Отличный вопрос.
Надо начать с того, что zencad оперирует с граничным представлением. То есть до момента конвертации в STL меш сети нет, а есть аналитическая сферическая поверхность.
При конвертации в STL (Через графический интерфейс, или же при использовании api) система предлагает выбрать параметр delta, который влияет на разрешение конечной модели (Вообще у opencascade больше параметров. Со временем они будут добавлены). Как конкретно этот параметр влияет, надо смотреть в документации на opencascade, но точно можно сказать, что чем он меньше тем больше точность.
Я протестировал openscad и zencad на обыкновенной сфере. Длина stl файла для zencad при delta==0.001 превышает длину файла stl для openscad при fn=300. Следовательно точность можно сделать выше. С другой стороны, время генерации файлов практически одинаковое.
Преимущество zencad здесь как раз в том, что zencad строит меш сеть только в момент конвертации, в то время как openscad проводит булевы операции прямо над полигональной сетью. Поэтому чем больше разрешение, тем больше требуется вычислительных ресурсов. В zencad операции вычисления модели и построения сети развязаны. Можно даже построить модель в zencad, экспортировать ее во freecad, после чего сгенирировать там мешсеть так, как это необходимо.
Хотеть. Какова цена вопроса, интересно.
P.S. Там что, микронное сопло?
Довольно мало. Использовал cjdns для того, чтобы ходить на домачний сервер через nat. Дело кончилось оформлением белого айпи адреса.
cjdns требует настройки. И на моем raspberry pi посему-то отваливается на вторые сутки работы.
Отличные новости. CJDNS был прекрасен, но работал нестабильно. Попробуем еще раз. Мешсети так или иначе быть.
У нас есть открытый код freecad, который построен вокруг того же ядра. FreeCad позволяет экспорт в DAE и OBJ. Насчет GLTF я не понял.
Значит я теоретически могу посмотреть, как эта конверсия выполнена во FreeCad и сделать тоже самое.
Так что да. Возможность есть.
Отображение размеров в виде размерных стрелочек сейчас тоже нет. В принципе, сами примитивы для их создания можно добавить (надписи есть, линии есть), но это в любом случае будет не автоматическая простановка. Каждую стрелочку придется ручками прописывать в код. Фишка сомнительной полезности.
П.С. C#… VS… Что-то это как-то слишком сложненько.
Я понял свою ошибку. Я сказал слово САПР. И понеслась. А ZenCad, это не САПР… Или, точнее, его можно использовать как САПР, но это не его цель. ZenCad — это библиотека 3д моделирования для экосистемы питона. Когда я писал его API визуализации, я вдохновлялся matplotlib.
ZenCad, это помимо собрать на коленке под 3д печать поломавшийся держатель для душа… Это и без нас…
ZenCad — это о том, как взять результат аналитического решения из sympy и построить по нему поверхность без промежуточных экспорто-импортов… Или же о том, как тяп-ляп нарисовать клешню робота и быстренько провести полунатурное моделирование без интеграции с gazebo…
Не вижу я в этих кейсах нодовой модели…
Надо начать с того, что zencad оперирует с граничным представлением. То есть до момента конвертации в STL меш сети нет, а есть аналитическая сферическая поверхность.
При конвертации в STL (Через графический интерфейс, или же при использовании api) система предлагает выбрать параметр delta, который влияет на разрешение конечной модели (Вообще у opencascade больше параметров. Со временем они будут добавлены). Как конкретно этот параметр влияет, надо смотреть в документации на opencascade, но точно можно сказать, что чем он меньше тем больше точность.
Я протестировал openscad и zencad на обыкновенной сфере. Длина stl файла для zencad при delta==0.001 превышает длину файла stl для openscad при fn=300. Следовательно точность можно сделать выше. С другой стороны, время генерации файлов практически одинаковое.
Преимущество zencad здесь как раз в том, что zencad строит меш сеть только в момент конвертации, в то время как openscad проводит булевы операции прямо над полигональной сетью. Поэтому чем больше разрешение, тем больше требуется вычислительных ресурсов. В zencad операции вычисления модели и построения сети развязаны. Можно даже построить модель в zencad, экспортировать ее во freecad, после чего сгенирировать там мешсеть так, как это необходимо.
Вон вчера краники на смесители напечатал :).