Herramientas de usuario

Herramientas del sitio


openscad:primitivas_basicas_2d

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
openscad:primitivas_basicas_2d [2018/07/18 20:36] – [Elipse] albertoopenscad:primitivas_basicas_2d [2018/07/26 02:42] (actual) – [Proyección de figura 3D en 2D] alberto
Línea 18: Línea 18:
 </code> </code>
 ===== Elipse ===== ===== Elipse =====
-Para crear una elipse se utilizan las funciones escale() o resize(), que pueden verse en el apartado [[OpenSCAD: Transformaciones|Transformaciones]]. +Para crear una elipse se utilizan las funciones escale() o resize(), que pueden verse en el apartado [[OpenSCAD: Transformaciones|Transformaciones]], junto con la función circle().
-===== Polígono regular =====+
 ===== Polígono ===== ===== Polígono =====
 +Para crear un polígono cualquiera, se especifican las coordenadas [x,y] de cada uno e los vértices. Cada coordenada se identifica con un índice, según el orden en que ha sido declarada, partiendo de 0.\\ 
 +Después se especifica la forma del polígono indicando los vértices en sentido antihorario, que forman el polígono, nombrándolos según su índice (si no se especifico toma el orden en que fueron declarados). Si se especifican varias formas, se "restan" a la primera, de igual menra que ocurriría con la función difference().\\ 
 +Por último se declara la variable entera “convexity”, cuyo valor habitual es 10, y que sólo sirve para ver bien la figura en la previsualización, no tiene ningún efecto en el renderizado. 
 +
 +<code>
 +polygon(points = [ [x, y], ... ], paths = [ [p1, p2, p3..], ...], convexity = N);
 +verticesPoligono=[
 +    [0,0],          // 0
 +    [100,0],        // 1
 +    [100+20,0+80],  // 2
 +    [0+20,0+80],    // 3
 +    [0+20,0+20],            // 4
 +    [100-10,0+20],          // 5
 +    [100+20-20,0+80-20],    // 6
 +    [0+20+10, 0+80-20]      // 7
 +];
 +
 +//polygon(verticesPoligono,[[0,1,2,3]]);
 +polygon(verticesPoligono,[[0,1,2,3],[4,5,6,7]]);
 +</code>
 +===== Polígono regular =====
 +Un polígono regular podría crearse a partir de la función circle(), definiendo el parámetro $fn con el número de lados; sin embargo no se recomienda hacer esto, que además es una mala malísima práctica. La función circle() es para crear círculos y es posible que determinados motores gráficos intepreten así, saltándose el parámetro $fn. Polígonos regulares con circle ($fn) ¡NUNCA!\\
 +
 +Para crear polígonos regulares, se recomienda usar el siguiente módulo:
 +<code>module regular_polygon(order, r=1){
 +  angles=[ for (i = [0:order-1]) i*(360/order) ];
 +  coords=[ for (th=angles) [r*cos(th), r*sin(th)] ];
 +  polygon(coords);
 + }</code>
 +
 +Sólo hay qie indicar el radio del círculo circunscrito que contiene al polígono, y el número de lados.
 ===== Texto ===== ===== Texto =====
 +El módulo text() crea una imagen geométrica 2D de un texto, usando las fuentes instaladas en el sistema, o proporcionadas por un archivo de fuentes.\\
 +Para seleccionar el tipo de fuente y el estilo (**bold**, //italic//)
 +<code>
 +text(font="fuente:style=estilo",text="¡Hola Mundo!");
 +text(font="Times New Roman:style=Bold Italic",text="¡Hola Mundo!");
 +</code>
 +
 +A continuación los parámetros que pueden ser configurados con "entrecomillado":
 +  * **font:** Nombre de la fuente. Pueden comprobarse las fuentes instaladas en el menú Ayuda --> Font List.
 +  * **size:** Tamaño del texto. Por defecto es 10mm (parte superior de las mayúsculas).
 +  * **halign:** left, center, right. Por defecto: left.
 +  * **valign:** top, center, baseline, bottom. Por defecto: baseline.
 +  * **spacing:** Factor de espaciado entre letras. Valor por defecto: 1.
 +  * **direction:** Dirección del texto. Posibilidades: ltr (left-to-right), rtl (right-to-left), ttb(top-to-bottom). Por defecto: ltr.
 +  * **language:** Idioma. Por defecto: en.
 +  * **script:** Tipo de caracteres. Por defecto: latin;
 +  * **$fn**: También aquí puede usarse este parámetro especial, pata subdividit los segmentos curvos de las letras. Aparentemente poco práctico.
 +
 +Ejemplo:
 +<code>text(font="Times New Roman:style=Bold Italic", text="¡Hola Mundo!", halign="center", valign="top", spacing=1.1, direction="ttb");</code>
 +
 +
 +===== Proyección de figura 3D en 2D =====
 +Para crear un imagen 2D a partir de una figura 3D se utiliza la función projection(). 
 +<code>projection(cut = true/false) modulo/figura();
 +projection(cut = true) module002();</code>
 +
 +Si cut=false (por defecto), la imagen 2D se forma en Z=0, siendo la proyección desde la parte superior a la inferior de la figura 3D, es decir, de forma intuitiva.\\
 +Si cut=true, la imagen 2D en un corte de la figura 3D en Z=0.
openscad/primitivas_basicas_2d.1531938977.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki