24px Рабочий стол OpenSCAD предназначен для обеспечения взаимодействия с программным обеспечением с открытым исходным кодом / OpenSCAD. Эта программа не распространяется как часть FreeCAD, но должна быть установлена, чтобы в полной мере использовать этот верстак. OpenSCAD не следует путать с ОпенКАСКЕЙД, который является геометрическим ядром, используемым FreeCAD для построения геометрии на экране. Библиотеки OpenCascade всегда необходимы для использования FreeCAD, в то время как исполняемый файл OpenSCAD совершенно необязателен.
Он содержит импортер CSG для открытия файлов CSG из OpenSCAD и экспортер для вывода дерева на основе CSG. Геометрия, которая не основана на операциях CSG, будет экспортирована в виде сетки.
Этот верстак содержит функции для изменения дерева объектов CSG и исправления моделей. Он также содержит инструменты общего назначения, которые не требуют установки OpenSCAD; их можно использовать в сочетании с другими верстаками. Например, Сетчатый верстак внутренне использует функции OpenSCAD для выполнения операций с мешами, поскольку они достаточно надежны.
В FreeCAD 0.19 модуль Ply (Python-Lex-Yacc), который используется для импорта файлов CSG, был удален из исходного кода FreeCAD, поскольку это сторонняя библиотека, разработанная не FreeCAD. В результате теперь вам необходимо установить Ply перед использованием OpenSCAD Workbench. При использовании предварительно упакованной стабильной версии FreeCAD эта зависимость должна устанавливаться автоматически на всех платформах; в других случаях, например, при компилировании из исходного кода, вам, возможно, придется установить ее из онлайн-репозитория.
В openSUSE это делается с помощью:
sudo zypper install python3-ply
В системах на базе Debian/Ubuntu это делается следующим образом:
sudo apt install python3-ply
Общая установка на всех платформах может быть выполнена из индекса пакетов Python.
pip3 install --user ply
Язык OpenSCAD позволяет использовать переменные и циклы. Он позволяет задавать подмодули для повторного использования геометрии и кода. Такая высокая степень гибкости делает синтаксический анализ очень сложным. В настоящее время OpenSCAD Workbench не может работать с языком OpenSCAD изначально. Вместо этого, если установлен OpenSCAD, его можно использовать для преобразования входных данных в формат CSG, который является подмножеством языка OpenSCAD, и может использоваться в качестве входных данных в OpenSCAD для дальнейшей обработки. Во время преобразования все параметрические параметры теряются, что означает, что все имена переменных отбрасываются, циклы расширяются, а математические выражения вычисляются.
OpenSCAD создает конструктивную твердотельную геометрию, а также импортирует файлы сетки и выполняет выдавливание 2D-геометрии из файлов DXF-код. FreeCAD также позволяет создавать CSG с помощью примитивов. Геометрическое ядро FreeCAD (OCCT) работает с использованием граничного представления. Следовательно, теоретически преобразование из CSG в BREP должно быть возможным, в то время как преобразование из BREP в CSG, как правило, невозможно.
OpenSCAD работает с сетками внутри системы. Некоторые операции, которые полезны в сетках, не имеют смысла в модели BREP и не могут быть полностью поддержаны. Среди них выпуклая оболочка, сумма Минковского, скольжение и subdiv. В настоящее время мы запускаем двоичный файл OpenSCAD, чтобы выполнить операции hull и minkwoski и импортировать результат. Это означает, что используемая геометрия будет триангулирована. В OpenSCAD часто используется неравномерное масштабирование, что не создает проблем при использовании сеток. В нашем геометрическом ядре геометрические примитивы (линии, круглые сечения и т.д.) преобразуются в BSpline перед выполнением таких деформаций. Известно, что эти B-сплайны вызывают проблемы при последующих логических операциях. Автоматическое решение в данный момент недоступно. Пожалуйста, не стесняйтесь сообщать на форуме, если у вас возникнут такие проблемы. Часто такие проблемы можно решить путем переделки небольших деталей. Деформация цилиндра может быть заменена вытягиванием эллипса.
Для импорта кода OpenSCAD с текстами необходимо, чтобы используемые шрифты были правильно установлены в вашей системе. Вы можете убедиться в этом, открыв OpenSCAD как отдельный инструмент и просмотрев список в Справка → Список шрифтов. В списке также будут указаны правильные названия шрифтов. Если после установки шрифт не отображается в списке, возможно, вам придется вручную скопировать файл шрифта в соответствующий системный каталог.
Импорт текстов выполняется относительно медленно. За кулисами FreeCAD использует файл формата DXF, созданный OpenSCAD. Чем больше контуров, тем медленнее выполняется импорт.
Может быть хорошей идеей сначала импортировать простой тестовый пример (заменить NameOfFont
на правильное название шрифта).:
TESTFONT="NameOfFont"; linear_extrude(0.001) { text("A", size=5, font=TESTFONT, script="Latn"); };
Параметр script="Latn"
здесь можно не указывать, но он необходим, если текстовая строка не содержит букв, а только знаки препинания и/или цифры.
Пожалуйста, обратите внимание, что инструкции use <FONT>;
в ваших исходных файлах игнорируются при импорте в FreeCAD. В OpenSCAD инструкция use
приводит к тому, что предоставленный файл шрифта временно добавляется в список известных шрифтов (хотя даже в этом случае инструкция не работает, когда скрипт модифицируется в интерактивном режиме).
При импорте DXF установите допустимую точность уклона, так как это повлияет на обнаружение соединенных кромок.
Если FreeCAD завершает работу со сбоем при импорте CSG, настоятельно рекомендуется включить "Автоматическую проверку модели после логической операции" в меню { _BOS_ Команда|Меню → Правка → Настройки → Деталь/Дизайн детали → Общие → Настройки модели}}.