OpenSCAD es un software para crear objetos CAD 3D sólidos. Es un software gratuito y está disponible para Linux/Unix, MS Windows y MacOS.
A diferencia de la mayoría del software libre para crear modelos 3D (como la famosa licuadora de aplicaciones), OpenSCAD se centra en los aspectos CAD en lugar de los aspectos artísticos del modelado 3D. Por lo tanto, esta podría ser la aplicación que está buscando cuando planea crear modelos 3D de piezas de máquina, pero probablemente no la herramienta para crear películas animadas por computadora.
OpenScad no es un modelador interactivo. En su lugar, es más como un compilador 3D que lee un archivo de script que describe el objeto y representa el modelo 3D de este archivo de script (ver ejemplos a continuación). Esto le brinda, el diseñador, el control completo sobre el proceso de modelado y le permite cambiar fácilmente cualquier paso en el proceso de modelado o hacer diseños definidos por parámetros configurables.
OpenSCAD proporciona dos técnicas de modelado principales: primero hay una geometría sólida constructiva (también conocida como CSG) y segundo hay extrusión de contornos 2D. A medida que se utiliza el formato de intercambio de datos para estos archivos 2D de AutoCAD DXF. Además de las rutas 2D para la extrusión, también es posible leer los parámetros de diseño de los archivos DXF. Además de los archivos DXF, OpenScad puede leer y crear modelos 3D en los formatos de archivo STL y APAGADO.
Puede descargar los últimos binarios de OpenScad en https://www.openscad.org/downloads.html. Instale binarios como lo haría con cualquier otro software.
Cuando abra OpenScad, verá tres cuadros dentro de la ventana. El marco izquierdo es donde escribirá código para modelar objetos 3D. El marco correcto es donde verá la representación 3D de su modelo.
¡Hagamos un árbol! Escriba el siguiente código en el marco izquierdo:
cylinder(h = 30, r = 8);
Luego renderice el modelo 3D golpeando F5. Ahora puedes ver un cilindro para el baúl en nuestro árbol. Ahora agregemos la parte espesa/frondosa del árbol representada por una esfera. Para hacerlo, uniremos un cilindro y una esfera.
union() {
cylinder(h = 30, r = 8);
sphere(20);
}
Pero, ¡no está del todo bien! Los tubos/frondosos están alrededor de la base del árbol. Necesitamos mover la esfera por el eje Z.
union() {
cylinder(h = 30, r = 8);
translate([0, 0, 40]) sphere(20);
}
¡Y eso es todo! ¡Hiciste tu primer modelo 3D! ¡Hay otras formas primitivas que puede combinar con otras operaciones establecidas (sindicato, intersección, diferencia) y transformaciones (rotar, escala, traducir) para hacer modelos complejos! Echa un vistazo a todas las otras características del idioma en el manual de OpenScad.
Eche un vistazo a la página de inicio de OpenScad (https://www.openscad.org/documentation.html) para la documentación.
Para construir OpenScad desde la fuente, siga las instrucciones de la plataforma aplicable a usted a continuación.
Para construir OpenScad, necesita algunas bibliotecas y herramientas. Los números de versión en los paréntesis especifican las versiones que se han utilizado para el desarrollo. Otras versiones pueden o no funcionar también.
Si está utilizando una versión más nueva de Ubuntu, puede instalar estas bibliotecas desde Aptitude. Si está utilizando Mac o un Linux/BSD más antiguo, hay scripts de compilación que descargan y compilan las bibliotecas de la fuente. Siga las instrucciones para la plataforma en la que está compilando a continuación.
Para el suite de prueba, los requisitos adicionales son:
Instale git (https://git-scm.com/) en su sistema. Luego ejecuta un clon:
git clone https://github.com/openscad/openscad.git
Esto descargará las últimas fuentes en un directorio llamado openscad .
Para tirar de los diversos submódulos (incluidos la biblioteca MCAD), haga lo siguiente:
cd openscad
git submodule update --init --recursive
Prerrequisitos:
Instalar dependencias:
Después de construir dependencias utilizando una de las siguientes opciones, siga las instrucciones en la sección de compilación .
De la fuente
Ejecute el script que configura las variables de entorno:
source scripts/setenv-macos.sh
Luego ejecute el script para compilar todas las dependencias:
./scripts/macosx-build-dependencies.sh
Homebrew (supone que Homebrew ya está instalado)
./scripts/macosx-build-homebrew.sh
Primero, asegúrese de haber instalado GIT (a menudo empaquetado como 'Git-Core' o 'SCMGIT'). Una vez que haya clonado este repositorio de Git, descargue e instale los paquetes de dependencia enumerados anteriormente utilizando el Administrador de paquetes de su sistema. Se proporciona un script de conveniencia que puede ayudar con este proceso en algunos sistemas:
sudo ./scripts/uni-get-dependencies.sh
Después de instalar dependencias, verifique sus versiones. Puedes ejecutar este script para ayudarte:
./scripts/check-dependencies.sh
Tenga cuidado de no tener copias locales antiguas en ningún lugar ( /usr/local/ ). Si todas las dependencias están presentes y de una versión lo suficientemente alta, pase por delante a las instrucciones de compilación.
Si faltan algunas de las bibliotecas de dependencia de su sistema, entonces puede descargar y construir versiones más nuevas en $HOME/openscad_deps siguiendo este proceso. Primero, ejecute el script que establece las variables de entorno.
source ./scripts/setenv-unibuild.sh
Luego ejecute el script para compilar todas las bibliotecas de requisitos previos anteriores:
./scripts/uni-build-dependencies.sh
Tenga en cuenta que las grandes dependencias como GCC, QT o GLIB2 no se incluyen aquí, solo las más pequeñas (Boost, CGAL, OpenCSG, etc.). Después de la compilación, vuelva a verificar las dependencias.
./scripts/check-dependencies.sh
Después de eso, siga las instrucciones de compilación a continuación.
OpenScad para Windows generalmente se compilan de Linux. Si desea intentar una compilación de MSVC en Windows, consulte este sitio: https://en.wikibooks.org/wiki/openscad_user_manual/building_on_windows
Para la construcción de la construcción, primero asegúrese de tener todas las dependencias necesarias del proyecto MXE (listado en https://mxe.cc/#requirements). No instale mxe en sí, los scripts a continuación lo harán por usted en $HOME/openscad_deps/mxe
Luego instale sus herramientas de desarrollo para obtener GCC. Luego, después de haber clonado este repositorio de Git, inicie un nuevo shell de Bash Clean y ejecute el script que configura las variables de entorno.
source ./scripts/setenv-mingw-xbuild.sh 64
Luego ejecute el script para descargar y compilar todas las bibliotecas de requisitos previos anteriores:
./scripts/mingw-x-build-dependencies.sh 64
Tenga en cuenta que este proceso puede llevar varias horas y decenas de gigabytes de espacio en disco, ya que utiliza el sistema https://mxe.cc para construir muchas bibliotecas. Después de que se complete, construya OpenScad y empaquételo a un instalador:
./scripts/release-common.sh mingw64
Para una construcción cruzada de Windows de 32 bits, reemplace 64 con 32 en las instrucciones anteriores.
Apoyamos la construcción de OpenScad sin cabeza para WebAssembly con Emscripten, utilizando una imagen de Docker prefabricada integrada en OpenScad/ OpenScad-Wasm (que también tiene ejemplos de uso)
#### Navegador
El siguiente comando crea 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 utiliza esta compilación WASM para proporcionar una interfaz de usuario web con un subconjunto de características de OpenScad.
Nota
Con una construcción de depuración ( -DCMAKE_BUILD_TYPE=Debug ), puede establecer puntos de interrupción de C ++ en Firefox y en Chrome (este último necesita una extensión).
El siguiente comando crea build-node/openscad.js , que es ejecutable (requiere 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 --helpNota
Con una construcción de depuración ( -DCMAKE_BUILD_TYPE=Debug ), puede establecer puntos de ruptura de C ++ en VScode+ Node (necesita una extensión).
Primero, ejecute cmake -B build -DEXPERIMENTAL=1 para generar un archivo Make en la carpeta build .
Luego ejecute cmake --build build . Finalmente, en Linux puede ejecutar cmake --install build como root.
Si tuvo problemas para compilar de la fuente, plantee un nuevo problema en el rastreador de problemas en la página de GitHub.
Este sitio y sus subpáginas también pueden ser útiles: https://en.wikibooks.org/wiki/openscad_user_manual/building_openscad_from_sources
Una vez construido, puede ejecutar pruebas con ctest desde el directorio build .
Nota: Tanto cmake --build como ctest aceptan un argumento -j N para distribuir la carga sobre N procesos paralelos.
Instale Circleci-Cli (necesitará una tecla API)
NOTA : También usamos flujos de trabajo GitHub, pero solo para ejecutar pruebas en Windows (que construimos cruzados en los flujos de trabajo CIRCLECI basados en Linux a continuación). Además, ACT no le gusta nuestra configuración de submódulo de todos modos.
Ejecutar los trabajos de CI
# 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-64bitNota : OpenScad-Macos no se puede construir localmente.
Si/When GCC se mata al azar, dale a Docker más RAM (por ejemplo, 4GB por imagen concurrente que planeas ejecutar)
Para depurar los trabajos de manera más interactiva, puede seguir la ruta manual (inspeccionar .circleci/config.yml para obtener la imagen de Docker real que necesita)
docker run --entrypoint=/bin/bash -it openscad/mxe-x86_64-gui:latestLuego, una vez que obtenga la consola:
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"