OpenSCAD Workbench/es: Difference between revisions

From FreeCAD Documentation
(Languages spanish)
 
(Updating to match new version of source page)
 
(96 intermediate revisions by 8 users not shown)
Line 1: Line 1:
<languages/>
El módulo OpenSCAD aún no está incluido en FreeCAD y está en un estado de desarrollo inicial.


<div class="mw-translate-fuzzy">
El módulo OpenSCAD ofrece interoperabilidad con el software de código libre OpenSCAD [http://www.openscad.org/].
{{Docnav/es
Contiene un importador que permite abrir los archivos .csg de OpenSCAD en FreeCAD.
|[[Mesh_Workbench/es|Ambiente de trabajo Malla]]
|[[Part_Workbench/es|Ambiente de trabajo Pieza]]
|IconL=Workbench_Mesh.svg
|IconR=Workbench_Part.svg
}}
</div>


[[Image:Workbench_OpenSCAD.svg|thumb|128px|El icono del Ambiente de trabajo OpenSCAD]]
El exportador crea una salida basada en el subárbol del archivo .csg. La geometría que no está basada en operaciones CSG se exportará como una malla.
Por tanto la conversión de CSG a BREP en teoría debería ser posible. Mientras que una conversión de BREP a CSG es imporsible.


== Introducción ==
El módulo OpenSCAD contiene una serie de herramientas con funciones para modificar el árbol de operaciones y reparar modelos.

El [[Image:Workbench_OpenSCAD.svg|24px]] [[OpenSCAD_Workbench/es|Ambiente de trabajo OpenSCAD]] tiene como objetivo ofrecer interoperabilidad con el software de código abierto [http://www.openscad.org/ OpenSCAD]. Este programa no se distribuye como parte de FreeCAD, pero debe ser instalado para hacer uso completo de este banco de trabajo. No se debe confundir OpenSCAD con [[OpenCASCADE/es|OpenCASCADE]], que es el núcleo geométrico que FreeCAD utiliza para construir la geometría en la pantalla. Las bibliotecas de OpenCASCADE siempre son necesarias para usar FreeCAD, mientras que el ejecutable de OpenSCAD es totalmente opcional.

Contiene un [[OpenSCAD_CSG/es|importador]] que permite abrir los archivos CSG de OpenSCAD en FreeCAD, y un exportador para producir un árbol basado en CSG. La geometría que no esté basada en operaciones CSG será exportada como una malla.

Este ambiente de trabajo contiene funciones para modificar el árbol de características CSG y reparar modelos. También contiene herramientas de propósito general que no requieren la instalación de OpenSCAD; se pueden utilizar junto con otros ambientes de trabajo. Por ejemplo, el [[Mesh_Workbench/es|ambiente de trabajo Mesh]] utiliza internamente las funciones de OpenSCAD para realizar operaciones con [[mesh/es|meshes]], ya que son bastante robustas.

{{TOCright}}
[[Image:OpenSCADexamaple1.png]]

== Dependencias ==

En FreeCAD 0.19, el módulo Ply (Python-Lex-Yacc), que se utiliza para importar archivos CSG, fue eliminado del código fuente de FreeCAD, ya que es una biblioteca de terceros no desarrollada por FreeCAD. Como resultado, ahora es necesario instalar Ply antes de utilizar el ambiente de trabajo OpenSCAD. Cuando se utiliza una versión estable y pre-empaquetada de FreeCAD esta dependencia debería instalarse automáticamente en todas las plataformas; en otros casos, por ejemplo, cuando se [[Compiling/es|compila]] desde el código fuente, puede que tengas que instalarlo desde un repositorio online.

En openSUSE esto se hace mediante:

{{Code|code=
sudo zypper install python3-ply
}}

En los sistemas basados en Debian/Ubuntu esto se hace de la siguiente manera:

{{Code|code=
sudo apt install python3-ply
}}

La instalación general en todas las plataformas se puede hacer desde el índice de paquetes de Python.

{{Code|code=
pip3 install --user ply
}}

== OpenSCAD lenguaje y formato de archivo ==

El lenguaje de OpenSCAD permite la utilización de variables y bucles. Permite especificar submódulos para reutilizar geometría y código. Esta alto grado de flexibilidad hace el análisis sintáctico muy complejo. Actualmente el módulo OpenSCAD en FreeCAD no puede manejar el lenguaje de OpenSCAD de forma nativa.
En cambio si OpenSCAD está instalado, se puede utilizar para convertir la entrada en un formato de salida denominado 'CSG'. Es un subconjunto del lenguaje OpenSCAD y se puede utilizar como la entrada de OpenSCAD para su procesamiento posterior.
Durante la conversión todo el comportamiento paramétrico se pierde. Todos los nombres de variables serán desechados, los bucles expandidos y las expresiones matemáticas evaluadas.

== Herramientas ==

* [[Image:OpenSCAD_ColorCodeShape.svg|32px]] [[OpenSCAD_ColorCodeShape/es|ColorCodeShape]]: Cambia el color de la selección o todas las formas basadas en su validez
* [[Image:OpenSCAD_ReplaceObject.svg|32px]] [[OpenSCAD_ReplaceObject/es|Reemplazar objeto]]: Reemplaza una objeto en el árbol de operaciones. Por favor, selecciona los objetos antiguos, nuevos y padres
* [[Image:OpenSCAD_RemoveSubtree.svg|32px]] [[OpenSCAD_RemoveSubtree/es|Eliminar sub-árbol]]: Elimina los objetos seleccionados y todos sus descendientes que no estén referenciados desde otros objetos
* [[Image:OpenSCAD_RefineShapeFeature.svg|32px]] [[OpenSCAD_RefineShapeFeature/es|Refinar operación de forma]]: Crea una operación de forma refinada
* [[Image:OpenSCAD_MirrorMeshFeature.svg|32px]] [[OpenSCAD_MirrorMeshFeature/es|Elemento de malla espejo]]: Crear característica de malla de espejo.
* [[Image:OpenSCAD_ScaleMeshFeature.svg|32px]] [[OpenSCAD_ScaleMeshFeature/es|Escalar la característica de malla]]: Escala una característica de malla.
* [[Image:OpenSCAD_ResizeMeshFeature.svg|32px]] [[OpenSCAD_ResizeMeshFeature/es|Redimensionar elemento de malla]]: Cambia el tamaño de una característica de malla.
[[Image:OpenSCAD_IncreaseToleranceFeature.svg|32px]]
[[OpenSCAD_IncreaseToleranceFeature/es|Función de aumento de la tolerancia]]: Aumenta la tolerancia de bordes/caras/vértice de objeto(s) seleccionado(s).
* [[Image:OpenSCAD_Edgestofaces.svg|32px]] [[OpenSCAD_Edgestofaces/es|Aristas a caras]]: Convierte aristas a caras. Útil para preparar geometría DXF importada para su extrusión.
* [[Image:OpenSCAD_ExpandPlacements.svg|32px]] [[OpenSCAD_ExpandPlacements/es|Expandir ubicación]]: Expande todas las ubicaciones por debajo del árbol de operaciones
* [[Image:OpenSCAD_ExplodeGroup.svg|32px]] [[OpenSCAD_ExplodeGroup|Explotar grupo]]: explota las partes primitivas fusionadas.
* [[Image:OpenSCAD_AddOpenSCADElement.svg|32px]] [[OpenSCAD_AddOpenSCADElement/es|Añadir elementos OpenSCAD]]: Añade un elemento OpenSCAD introduciendo código OpenSCAD en el panel de tareas y ejecutando el binario de OpenSCAD (requiere de OpenSCAD)
* [[Image:OpenSCAD_MeshBoolean.svg|32px]] [[OpenSCAD_MeshBoolean|Mesh Booleana]]: Crea un nuevo objeto de malla mediante una operación booleana a partir de formas.
* [[Image:OpenSCAD_Hull.svg|32px]] [[OpenSCAD_Hull/es|Casco]]: Aplica un casco a las formas seleccionadas.
* [[Image:OpenSCAD_Minkowski.svg|32px]] [[OpenSCAD_Minkowski/es|Minkowski]]: Aplica una suma de minkowski a las formas seleccionadas.

== Preferencias ==

* [[Image:Std_DlgParameter.svg|32px]] [[OpenSCAD_Preferences/es|Preferencias]]: Preferencias disponibles para las herramientas de OpenSCAD.

== Limitations ==

<div class="mw-translate-fuzzy">
== Limitaciones ==
OpenSCAD crea geometría sólida constructiva, así como importa archivos de malla y extruye geometría 2D desde archivos [[DXF/es|DXF]]. FreeCAD permite crear CSG con primitivas también.
El núcleo de geometría de FreeCAD (OCCT) funciona trabajando sobre una representación de los limites.
Por tanto la conversión de CSG a BREP en teoría debería ser posible. Mientras que una conversión de BREP a CSG es, en general, imposible.
</div>

<div class="mw-translate-fuzzy">
OpenSCAD funciona internamente sobre mallas. Algunas operaciones que son útiles en mallas no son significativas en un modelo BREP y no pueden ser totalmente compatibles. Entre estos se encuentran el convex hull, minkowski sum, glide y subdiv. Actualmente ejecutamos el binario OpenSCAD para realizar operaciones de hull y minkwoski e importar el resultado. Esto significa que la geometría involucrada será triangulada. En OpenSCAD, a menudo se usa una escala no uniforme, que no impone ningún problema cuando se usan mallas. En nuestra geometría, las primitivas geométricas del núcleo (líneas, secciones circulares, etc.) se convierten a BSpline antes de realizar tales deformaciones. Esas líneas de BS son conocidas por causar problemas en operaciones booleanas posteriores. Una solución automática no está disponible en este momento. Por favor, siéntase libre de publicar en el foro si encuentra tales problemas. A menudo, tales problemas se pueden resolver remodelando piezas pequeñas. Una deformación de un cilindro puede sustituirse por una extrusión de una elipsis.
</div>

== Importing text ==

Importing OpenSCAD code with texts requires that the fonts that are used are properly installed on your system. You can verify this by opening OpenSCAD as a standalone tool and checking the list in {{MenuCommand|Help → Font List}}. The list will also give you the correct font names. If a font does not appear in the list after installing, you may have to manually copy the font file to the appropriate system directory.

Importing texts is relatively slow. Behind the scenes FreeCAD uses a DXF file created by OpenSCAD. The more contours there are the slower the import.

It can be a good idea to first import a simple test case (replace {{Incode|NameOfFont}} with the correct font name):

<pre>
TESTFONT="NameOfFont";
linear_extrude(0.001) {
text("A", size=5, font=TESTFONT, script="Latn");
};
</pre>

The {{Incode|<nowiki>script="Latn"</nowiki>}} parameter can be left out here, but is required if the text string does not contain any letters, but only punctuation and/or numbers.

Please note that {{Incode|<nowiki>use <FONT>;</nowiki>}} statements in your source files are ignored when importing in FreeCAD. Under OpenSCAD the effect of a {{Incode|use}} statement is that the provided font file is temporarily added to the list of known fonts (although even there the statement does not work when a script is modified interactively).


== Pistas ==
== Pistas ==


Cuando se importa DXF establecer la precisión a una cantidad sensible para que afecte a la detección de aristas conectadas.
Cuando se importa [[DXF/es|DXF]] establecer la precisión Borrador a una cantidad sensible para que afecte a la detección de aristas conectadas.

Si FreeCAD se cuelga importando CSG, es muy recomendable activar ''automáticamente comprobar el modelo después de una operación booleana'' en {{MenuCommand|Menú → Editar → Preferencias → DiseñoPiezas → Configuración del modelo}}

== Tutoriales ==

* [[Import_OpenSCAD_code/es|Importar código OpenSCAD]]

== Enlaces ==

<div class="mw-translate-fuzzy">
* Repositorio de código fuente de OpenSCAD en [https://github.com/openscad/openscad GitHub]
* [https://freecadweb.org/tracker/search.php?tag_string=OpenSCAD Open tickets tagged "Openscad" on the FreeCAD bugtracker]
* [http://www.thingiverse.com/tag:openscad Elementos etiquetados con "Openscad" en Thingiverse]
</div>


<div class="mw-translate-fuzzy">
{{Docnav/es
|[[Mesh_Workbench/es|Ambiente de trabajo Malla]]
|[[Part_Workbench/es|Ambiente de trabajo Pieza]]
|IconL=Workbench_Mesh.svg
|IconR=Workbench_Part.svg
}}
</div>


{{OpenSCAD Tools navi{{#translation:}}}}
{{languages/es | {{en|OpenSCAD_Module}} }}
{{Userdocnavi{{#translation:}}}}
[[Category:Workbenches{{#translation:}}]]

Latest revision as of 17:10, 12 March 2022

El icono del Ambiente de trabajo OpenSCAD

Introducción

El Ambiente de trabajo OpenSCAD tiene como objetivo ofrecer interoperabilidad con el software de código abierto OpenSCAD. Este programa no se distribuye como parte de FreeCAD, pero debe ser instalado para hacer uso completo de este banco de trabajo. No se debe confundir OpenSCAD con OpenCASCADE, que es el núcleo geométrico que FreeCAD utiliza para construir la geometría en la pantalla. Las bibliotecas de OpenCASCADE siempre son necesarias para usar FreeCAD, mientras que el ejecutable de OpenSCAD es totalmente opcional.

Contiene un importador que permite abrir los archivos CSG de OpenSCAD en FreeCAD, y un exportador para producir un árbol basado en CSG. La geometría que no esté basada en operaciones CSG será exportada como una malla.

Este ambiente de trabajo contiene funciones para modificar el árbol de características CSG y reparar modelos. También contiene herramientas de propósito general que no requieren la instalación de OpenSCAD; se pueden utilizar junto con otros ambientes de trabajo. Por ejemplo, el ambiente de trabajo Mesh utiliza internamente las funciones de OpenSCAD para realizar operaciones con meshes, ya que son bastante robustas.

Dependencias

En FreeCAD 0.19, el módulo Ply (Python-Lex-Yacc), que se utiliza para importar archivos CSG, fue eliminado del código fuente de FreeCAD, ya que es una biblioteca de terceros no desarrollada por FreeCAD. Como resultado, ahora es necesario instalar Ply antes de utilizar el ambiente de trabajo OpenSCAD. Cuando se utiliza una versión estable y pre-empaquetada de FreeCAD esta dependencia debería instalarse automáticamente en todas las plataformas; en otros casos, por ejemplo, cuando se compila desde el código fuente, puede que tengas que instalarlo desde un repositorio online.

En openSUSE esto se hace mediante:

sudo zypper install python3-ply

En los sistemas basados en Debian/Ubuntu esto se hace de la siguiente manera:

sudo apt install python3-ply

La instalación general en todas las plataformas se puede hacer desde el índice de paquetes de Python.

pip3 install --user ply

OpenSCAD lenguaje y formato de archivo

El lenguaje de OpenSCAD permite la utilización de variables y bucles. Permite especificar submódulos para reutilizar geometría y código. Esta alto grado de flexibilidad hace el análisis sintáctico muy complejo. Actualmente el módulo OpenSCAD en FreeCAD no puede manejar el lenguaje de OpenSCAD de forma nativa. En cambio si OpenSCAD está instalado, se puede utilizar para convertir la entrada en un formato de salida denominado 'CSG'. Es un subconjunto del lenguaje OpenSCAD y se puede utilizar como la entrada de OpenSCAD para su procesamiento posterior. Durante la conversión todo el comportamiento paramétrico se pierde. Todos los nombres de variables serán desechados, los bucles expandidos y las expresiones matemáticas evaluadas.

Herramientas

Función de aumento de la tolerancia: Aumenta la tolerancia de bordes/caras/vértice de objeto(s) seleccionado(s).

  • Aristas a caras: Convierte aristas a caras. Útil para preparar geometría DXF importada para su extrusión.
  • Expandir ubicación: Expande todas las ubicaciones por debajo del árbol de operaciones
  • Explotar grupo: explota las partes primitivas fusionadas.
  • Añadir elementos OpenSCAD: Añade un elemento OpenSCAD introduciendo código OpenSCAD en el panel de tareas y ejecutando el binario de OpenSCAD (requiere de OpenSCAD)
  • Mesh Booleana: Crea un nuevo objeto de malla mediante una operación booleana a partir de formas.
  • Casco: Aplica un casco a las formas seleccionadas.
  • Minkowski: Aplica una suma de minkowski a las formas seleccionadas.

Preferencias

  • Preferencias: Preferencias disponibles para las herramientas de OpenSCAD.

Limitations

Limitaciones

OpenSCAD crea geometría sólida constructiva, así como importa archivos de malla y extruye geometría 2D desde archivos DXF. FreeCAD permite crear CSG con primitivas también.

El núcleo de geometría de FreeCAD (OCCT) funciona trabajando sobre una representación de los limites.

Por tanto la conversión de CSG a BREP en teoría debería ser posible. Mientras que una conversión de BREP a CSG es, en general, imposible.

OpenSCAD funciona internamente sobre mallas. Algunas operaciones que son útiles en mallas no son significativas en un modelo BREP y no pueden ser totalmente compatibles. Entre estos se encuentran el convex hull, minkowski sum, glide y subdiv. Actualmente ejecutamos el binario OpenSCAD para realizar operaciones de hull y minkwoski e importar el resultado. Esto significa que la geometría involucrada será triangulada. En OpenSCAD, a menudo se usa una escala no uniforme, que no impone ningún problema cuando se usan mallas. En nuestra geometría, las primitivas geométricas del núcleo (líneas, secciones circulares, etc.) se convierten a BSpline antes de realizar tales deformaciones. Esas líneas de BS son conocidas por causar problemas en operaciones booleanas posteriores. Una solución automática no está disponible en este momento. Por favor, siéntase libre de publicar en el foro si encuentra tales problemas. A menudo, tales problemas se pueden resolver remodelando piezas pequeñas. Una deformación de un cilindro puede sustituirse por una extrusión de una elipsis.

Importing text

Importing OpenSCAD code with texts requires that the fonts that are used are properly installed on your system. You can verify this by opening OpenSCAD as a standalone tool and checking the list in Help → Font List. The list will also give you the correct font names. If a font does not appear in the list after installing, you may have to manually copy the font file to the appropriate system directory.

Importing texts is relatively slow. Behind the scenes FreeCAD uses a DXF file created by OpenSCAD. The more contours there are the slower the import.

It can be a good idea to first import a simple test case (replace NameOfFont with the correct font name):

TESTFONT="NameOfFont";
linear_extrude(0.001) {
  text("A", size=5, font=TESTFONT, script="Latn");
};

The script="Latn" parameter can be left out here, but is required if the text string does not contain any letters, but only punctuation and/or numbers.

Please note that use <FONT>; statements in your source files are ignored when importing in FreeCAD. Under OpenSCAD the effect of a use statement is that the provided font file is temporarily added to the list of known fonts (although even there the statement does not work when a script is modified interactively).

Pistas

Cuando se importa DXF establecer la precisión Borrador a una cantidad sensible para que afecte a la detección de aristas conectadas.

Si FreeCAD se cuelga importando CSG, es muy recomendable activar automáticamente comprobar el modelo después de una operación booleana en Menú → Editar → Preferencias → DiseñoPiezas → Configuración del modelo

Tutoriales

Enlaces