OpenScad - это программное обеспечение для создания твердых 3D -объектов CAD. Это бесплатное программное обеспечение и доступно для Linux/Unix, MS Windows и MacOS.
В отличие от большинства свободных программных программ для создания 3D -моделей (таких как знаменитый блендер приложений), OpenScad фокусируется на аспектах САПР, а не на художественных аспектах 3D -моделирования. Таким образом, это может быть приложение, которое вы ищете, когда планируете создать 3D-модели деталей машины, но, вероятно, не инструмент для создания компьютерных фильмов.
OpenScad не интерактивный модельер. Вместо этого это больше похоже на 3D-компилятор, который считывает файл скрипта, который описывает объект и отдает 3D-модель из этого файла скрипта (см. Примеры ниже). Это дает вам дизайнер, полное управление процессом моделирования и позволяет легко изменить любой шаг в процессе моделирования или создавать конструкции, которые определяются настраиваемыми параметрами.
OpenScad предоставляет два основных метода моделирования: сначала существует конструктивная твердое геометрия (он же CSG), а во -вторых, есть экструзия 2D -очерков. Как используется формат обмена данными для этих 2D -указаний файлов AutoCAD DXF. В дополнение к 2D -пути для экструзии также можно считать параметры проектирования из файлов DXF. Помимо DXF файлы OpenCAD могут читать и создавать 3D -модели в форматах файлов STL и OFF.
Вы можете скачать последние бинарные файлы openscad по адресу https://www.openscad.org/downloads.html. Установите двоичные файлы, как и в любом другом программном обеспечении.
Когда вы откроете OpenScad, вы увидите три кадра в окне. Левый кадр - это то, где вы напишите код для моделирования 3D -объектов. Правильный кадр - это то, где вы увидите 3D -рендеринг вашей модели.
Давайте сделаем дерево! Введите следующий код в левый кадр:
cylinder(h = 30, r = 8);
Затем отобразите 3D -модель, нажав F5. Теперь вы можете увидеть цилиндр для ствола в нашем дереве. Теперь давайте добавим густую/листовую часть дерева, представленной сферой. Для этого мы объединим цилиндр и сферу.
union() {
cylinder(h = 30, r = 8);
sphere(20);
}
Но это не совсем правильно! Густые/листовые находятся вокруг основания дерева. Нам нужно переместить сферу по оси Z.
union() {
cylinder(h = 30, r = 8);
translate([0, 0, 40]) sphere(20);
}
И это все! Вы сделали свою первую 3D -модель! Существуют и другие примитивные формы, которые вы можете объединить с другими наборными операциями (объединение, пересечение, разница) и преобразования (вращение, масштаб, перевод), чтобы сделать сложные модели! Проверьте все другие языковые функции в руководстве OpenScad.
Посмотрите на домашнюю страницу OpenScad (https://www.openscad.org/documentation.html) для документации.
Чтобы построить OpenScad из источника, следуйте инструкциям для платформы, применимой к вам ниже.
Чтобы построить OpenScad, вам нужны некоторые библиотеки и инструменты. Номера версий в скобках указывают версии, которые использовались для разработки. Другие версии могут работать или не работать.
Если вы используете более новую версию Ubuntu, вы можете установить эти библиотеки из Aptitude. Если вы используете Mac или более старый Linux/BSD, есть сценарии сборки, которые загружают и составляют библиотеки из источника. Следуйте инструкциям для платформы, на которой вы компилируете ниже.
Для тестового набора дополнительные требования:
Установите GIT (https://git-cm.com/) на свою систему. Затем запустите клон:
git clone https://github.com/openscad/openscad.git
Это загрузит последние источники в каталог с именем openscad .
Чтобы вытащить различные подмодули (в том числе библиотека MCAD), сделайте следующее:
cd openscad
git submodule update --init --recursive
Предварительные условия:
Установить зависимости:
После создания зависимостей, используя один из следующих вариантов, следуйте инструкциям в разделе компиляции .
Из источника
Запустите сценарий, который устанавливает переменные среды:
source scripts/setenv-macos.sh
Затем запустите сценарий, чтобы скомпилировать все зависимости:
./scripts/macosx-build-dependencies.sh
Homebrew (предполагает, что Homebrew уже установлен)
./scripts/macosx-build-homebrew.sh
Во-первых, убедитесь, что у вас установлен git (часто упакованный как «git-core» или «scmgit»). После того, как вы клонируете этот репозиторий GIT, загрузите и установите пакеты зависимостей, перечисленные выше, используя диспетчер пакетов вашей системы. Предоставлен удобный сценарий, который может помочь с этим процессом в некоторых системах:
sudo ./scripts/uni-get-dependencies.sh
После установки зависимостей проверьте их версии. Вы можете запустить этот сценарий, чтобы помочь вам:
./scripts/check-dependencies.sh
Позаботьтесь о том, что у вас нет старых местных копий нигде ( /usr/local/ ). Если все зависимости присутствуют и достаточно высокой версии, перейдите вперед к инструкциям по компиляции.
Если некоторые из ваших системных библиотек зависимостей отсутствуют или старые, то вы можете загрузить и создать новые версии в $HOME/openscad_deps следуя этому процессу. Во -первых, запустите сценарий, который устанавливает переменные среды.
source ./scripts/setenv-unibuild.sh
Затем запустите сценарий, чтобы составить все необходимые выше библиотеки:
./scripts/uni-build-dependencies.sh
Обратите внимание, что огромные зависимости, такие как GCC, QT или Glib2, здесь не включены, только более мелкие (Boost, CGAL, OpenCSG и т. Д.). После сборки снова проверьте зависимости.
./scripts/check-dependencies.sh
После этого следуйте инструкциям по компиляции ниже.
OpenSCAD для Windows обычно сгруппируется с Linux. Если вы хотите попытаться построить MSVC в Windows, см. Этот сайт: https://en.wikibooks.org/wiki/openscad_user_manual/building_on_windows
Для перекрестной сборки сначала убедитесь, что у вас есть все необходимые зависимости от проекта MXE (перечисленные по адресу https://mxe.cc/#requirements). Не устанавливайте сам mxe, приведенные ниже сценарии сделают это для вас под $HOME/openscad_deps/mxe
Затем установите свои инструменты разработки, чтобы получить GCC. Затем после того, как вы клонировали этот репозиторий GIT, запустите новую чистую оболочку и запустите сценарий, который устанавливает переменные среды.
source ./scripts/setenv-mingw-xbuild.sh 64
Затем запустите скрипт, чтобы загрузить и скомпилировать все необходимые библиотеки выше:
./scripts/mingw-x-build-dependencies.sh 64
Обратите внимание, что этот процесс может занять несколько часов, и десятки гигабайт дискового пространства, поскольку он использует систему https://mxe.cc для пересечения многих библиотек. После того, как он будет завершен, постройте OpenScad и упакуйте его в установщик:
./scripts/release-common.sh mingw64
Для 32-битной поперечной обработки Windows замените 64 на 32 в вышеуказанных инструкциях.
Мы поддерживаем строительство OpenScad без головы для webassembly w/ emscripten, используя предварительное изображение Docker, встроенное в OpenScad/ OpenScad-Wasm (который также имеет примеры использования)
#### Браузер
Следующая команда создает build-web/openscad.wasm & build-web/openscad.js :
./scripts/wasm-base-docker-run.sh emcmake cmake -B build-web -DCMAKE_BUILD_TYPE=Debug -DEXPERIMENTAL=1
./scripts/wasm-base-docker-run.sh cmake --build build-web -j2OpenScad/OpenScad-Playground использует эту сборку WASM для предоставления веб-интерфейса с помощью подмножества функций OpenScad.
Примечание
С помощью сборки отладки ( -DCMAKE_BUILD_TYPE=Debug ) вы можете установить точки останова C ++ в Firefox и в Chrome (последнее требует расширения).
Следующая команда создает build-node/openscad.js , который является исполняемым (требует node ):
./scripts/wasm-base-docker-run.sh emcmake cmake -B build-node -DWASM_BUILD_TYPE=node -DCMAKE_BUILD_TYPE=Debug -DEXPERIMENTAL=1
./scripts/wasm-base-docker-run.sh cmake --build build-node -j2
build-node/openscad.js --helpПримечание
С помощью сборки отладки ( -DCMAKE_BUILD_TYPE=Debug ) вы можете установить точки останова C ++ в vscode+ node (требуется расширение).
Во -первых, запустите cmake -B build -DEXPERIMENTAL=1 чтобы генерировать файл Make в папке build .
Затем запустите cmake --build build . Наконец, на Linux вы можете запустить cmake --install build как root.
Если у вас были проблемы с компиляцией из Source, поднимите новую проблему в трекере выпуска на странице GitHub.
Этот сайт и его подпаги также могут быть полезны: https://en.wikibooks.org/wiki/openscad_user_manual/building_openscad_from_sources
После построения вы можете запустить тесты с ctest из каталога build .
Примечание. И cmake --build и ctest принимают аргумент -j N для распределения нагрузки по N процессам.
Установите Circleci-Cli (вам понадобится ключ API)
Примечание . Мы также используем рабочие процессы GitHub, но только для того, чтобы запустить тесты в Windows (которые мы перекрестно собираем в рабочих процессах на основе Linux Circleci ниже). Кроме того, ACT не нравится наша подмодульная настройка в любом случае.
Запустить рабочие места
# When "successful", these will fail to upload at the very end of the workflow.
circleci local execute --job openscad-mxe-64bit
circleci local execute --job openscad-mxe-32bit
circleci local execute --job openscad-appimage-64bitПримечание : OpenScad-Macos не может быть построен на месте.
Если/когда GCC будет убит случайным образом, дайте Docker больше оперативной памяти (например, 4 ГБ на одновременное изображение, которое вы планируете запустить)
Чтобы отлаживать задания более интерактивно, вы можете пойти по рускому маршруту (осмотрите .circleci/config.yml, чтобы получить фактическое изображение Docker, которое вам нужно)
docker run --entrypoint=/bin/bash -it openscad/mxe-x86_64-gui:latestЗатем, как только вы получите консоли:
git clone https://github.com/%your username%/openscad.git workspace
cd workspace
git checkout %your branch%
git submodule init
git submodule update
# Then execute the commands from .circleci/config.yml:
# export NUMCPU=2
# ...
# ./scripts/release-common.sh -snapshot -mingw64 -v "$OPENSCAD_VERSION"