lunes, 11 de diciembre de 2023

, ,

Intersección intersection( ) { }

 



Así como la unión toma varios objetos y los fusiona, la intersección elimina cualquier lugar donde los objetos no se superpongan

Por ejemplo dos esferas que se chocan entre si, la parte que coinciden ambas, es la que vamos a necesitar




Para la intersección usamos la fórmula 

intersection( ) { }

como va a ocupar mas de un cuerpo, entonces tendrá que encerrarlos con una llave  {  }



Share:
Read More
, , , , , ,

ESCALAR CAMBIAR DE TAMAÑO scale([X,Y,Z]) resize (X,Y,Z) auto=true

 


ESCALAR

La transformación scale estira o comprime un objeto en cualquier dimensión

Funciona como una multiplicación, por lo que cada valor de X  Y  Z  es un múltiplo del objeto en esas direcciones

scale([X,Y,Z])


p.ej.


scale(
[.5,2,1])

La barra será la mitad de grande en el eje X, pero el doble en el eje Y. El eje Z no cambiará en absoluto. 




REDIMENSIONAR

resize ([X,Y,Z])


Puedes usar redimensionar  resize , que es similar pero hace que el dibujo se ajuste al tamaño solicitado, o sea, los valores X Y Z son las medidas que tendría que tener el objeto


Por ejemplo, intente cambiar el tamaño ([50,5,5]) en lugar del comando escala para ver una barra estirada más larga. 





resize ([X,Y,Z], auto=true)

Si configura el parámetro auto=true, cualquier escala cero se escalará automáticamente en proporción a la otra escala. Por ejemplo, resize([50,0,0],auto=true) estirará la barra a 50 en el eje X pero mantendrá las otras proporciones iguales.

O sea, actúa como scale, pero partiendo de una medida que queremos poner en un eje y mantener la proporcionalidad en los otros ejes también








Share:
Read More
, , , , , , ,

POLIEDROS polyhedron(pyr_points,pyr_triangles)

 



Un poliedro toma dos parámetros importantes: puntos y triángulosEl parámetro de puntos es una lista de coordenadas X,Y,Z. Estos serán los vértices del objeto poliedro. Por ejemplo, considere una forma de pirámide. Habrá cuatro puntos, uno en cada esquina de la base más un punto en la parte superior. Por ejemplo:




Los puntos serían:


0= [25,25,0]

1= [25,0,0]

2= [0,0,0]

3= [0,25,0]

4= [12.5,12.5,25]   Ápice de la pirámide


la primera parte de la fórmula con los puntos quedaría así

pyr_points=[ [25,25,0],[25,0,0],

   [0,0,0],[0,25,0],  /* apex */ [12.5,12.5,25] ];


NOTA: no hace falta poner /* apex */  pero se pone para tener una noción del punto mas alto de la referencia, al tener /* */ esto significa que es una anotación sin valor alguno dentro de la operación

simplificado, quedaría así, con el mismo resultado


pyr_points=[ [25,25,0],[25,0,0],

   [0,0,0],[0,25,0], [12.5,12.5,25] ];


Luego hay que trazar los triángulos


Puedes pensar que cada uno de estos puntos tiene un número que comienza con cero. Entonces [ 25,25,0] es el punto 0. El punto máximo (o superior) de [12.5,12.5,25] es el punto 4.

por ejemplo el  0,1,4 







El parámetro de los triángulos es otra lista de tripletes, pero no son coordenadas X, Y, Z. En cambio, son los puntos de la lista de puntos que forman triángulos. Aquí está el resto de la pirámide:

Los triángulos serían


 0,1,4

1,2,4

2,3,4

3,0,4

LA BASE VEMOS QUE ES UN CUADRADO, SE TOMA ENTONCES COMO SI FUERAN 2 TRIÁNGULOS

1,0,3

2,1,3










La fórmula de los triángulos quedaría así: 


pyr_triangles=[ [0,1,4], [1,2,4],

   [2,3,4],[3,0,4],[1,0,3],[2,1,3]];


Finalmente definimos el poliedro 


polyhedron(pyr_points,pyr_triangles);



La fórmula final nos quedaría así


pyr_points=[ [25,25,0],[25,0,0],

   [0,0,0],[0,25,0], /* apex */ [12.5,12.5,25] ];


   pyr_triangles=[ [0,1,4], [1,2,4],

   [2,3,4],[3,0,4],[1,0,3],[2,1,3]];


polyhedron(pyr_points,pyr_triangles);




ERROR:

SUPONGAMOS QUE NO PONEMOS LOS TRIÁNGULOS DE LA BASE, ENTONCES LO QUE PASARÍA ES QUE QUEDA HUECO POR ESE LADO

NÓTESE LA DIFERENCIA DE COLOR DE LA BASE






Share:
Read More

miércoles, 6 de diciembre de 2023

, , ,

IMPORTAR STL import ( " " ) ;

 import ( " ");

NO OLVIDARSE DEL  PUNTO Y COMA



Esto es importante, ya que openscad permite abrir un un stl y hacer modificaciones. Podemos hacer un polígono, luego crear un stl del polígono y usar este en la creación de otra figura. El archivo stl debe estar en la misma carpeta del archivo que estas modificando. Debes cambiar la ruta el en siguiente comando.

1
import("/archivo/diseños/archivo.stl");

Otra forma es arrastrar el archivo stl  al código en openscad.


Share:
Read More

martes, 5 de diciembre de 2023

, ,

CONO cylinder (r1=,r2=,h=)

 



Para hacer un cono, partimos de un cilindro, al que le daremos 2 radios, el de abajo y el de arriba, y por supuesto la altura

cylinder (r1=,r2=,h=);








si además queremos aumentar la cantidad de caras, para dejarlo mas liso, podemos usar, dentro mismo del paréntesis y separado con una coma, como los demás   $fn=




Cuanto más cerca estén r1 y r2, más truncado se verá el cono. Intente cambiar r2 a 12, por ejemplo. No olvides que puedes agregar center=true a cualquiera de tus cilindros si quieres que el origen pase por el centro en lugar del borde.

Estos son todos los parámetros que reconoce el comando del cilindro:

  • h – Altura (predeterminado=1)
  • r – Radio de ambos extremos (predeterminado=1)
  • r1 – Radio del fondo del cono (predeterminado=1)
  • r2 – Radio de la parte superior del cono (predeterminado = 1)
  • d – Versión de diámetro de r
  • d1- Versión de diámetro de r1
  • d2 – Versión de diámetro de r2
  • center : se establece en verdadero para centrar el cilindro o el cono
  • Tenga en cuenta que puede especificar un diámetro (d) o un radio (r), lo que sea más conveniente.

Share:
Read More
, ,

MODULOS module NOMBRE ( ) { }


 


 module NOMBRE ( ) { }

Los módulos los podemos intrepretar como piezas u objetos, por ejemplo, un cubo, un prisma, etc 

Pero también las piezas creadas por nosotros pueden tener su propio nombre y ser módulos. Esto significa que no tendremos que escribir todo el detalle de la pieza, si la queremos duplicar, por ejemplo, bastará con usar el nombre que le pusimos y ya está.



SIGUIENDO EL EJEMPLO ANTERIOR, LO QUE HEMOS CREADO MEDIANTE VARIAS ÓRDENES, LO PODEMOS AGRUPAR Y PONERLE UN NOMBRE, EN ESTE CASO LO LLAMAREMOS  pieza

ASÍ QUE ABRIMOS ESPACIO AL PRINCIPIO DE ESE OBJETO CREADO,  PARA NOMBRARLO MEDIANTE 

module NOMBRE abrimos y cerramos paréntesis ( ) y abrimos llave    {



y cerramos la llave al final de todo    }



HA DESAPARECIDO!

Al ser un módulo, la pieza desaparece



para que aparezca, basta agregar el nombre que le habíamos puesto, agregar paréntesis, y terminamos con punto y coma  , como cuano llamamos a un cubo, esfera, etc.

en nuestro caso
pieza( );  




esto que hemos creado, lo podemos llamar todas las veces que lo necesitemos, y podemos darle ordenes como hicimos con el cubo, prisma, etc.
En el modelo se creó otro y se lo movió de  lugar con translate 




Share:
Read More
, , , ,

UNION ENTRE CUERPOS union ( ) { }

 



union ( )  {  }


Se utiliza paréntesis y llaves para encerrar a mas de un cuerpo


ABRIMOS 2 ESPACIOs PARA PONER EL ENUNCIADO Y LA ORDEN PARA UNIR



UNIREMOS EL PRISMA CON LA FIGURA QUE HICIMOS ANTES QUE PARECE UNA TUERCA

INDICAMOS QUE VAMOS A HACER COMO ENUNCIADO



ANTES VAMOS A HACER UNOS CAMBIOS

AL PRISMA LO VAMOS A GIRAR  USANDO    rotate

COMO VAMOS A USAR COORDENADAS X Y Z ACORDARSE QUE APARTE DE PARENTESIS , LLEVARA CORCHETES
( [ ] ) 




GIRAMOS 90º SOBRE EL EJE Z  (-90)



 y queda así






CAMBIAMOS LA UBICACIÓN PARA ACERCARLO A LA PIEZA CON QUE QUEREMOS UNIRLO, MODIFICANDO LO QUE TENÍAMOS EN EL    translate


IMPORTANTE:

HAY QUE RECORDAR QUE LA ORDEN Y LOS CUERPOS IMPLICADOS DEBE ESTAR DEBAJO DEL ENUNCIADO   // 
POR LO QUE EL PRISMA LO TENEMOS QUE PONER DEBAJO, PARA ESO LO CORTAMOS...


....  Y LO PEGAMOS DEBAJO 



DEBAJO DEL ENUNCIADO, PONEMOS LA ORDEN

LUEGO LE DAMOS LA INSTRUCCIÓN
COLOCANDO DEBAJO DE LA INDICACION DE LO QUE SE VA A HACER
union ( )  {  
abrimos y cerramos paréntesis,  AL PRINCIPIO abrimos llave  ...




... Y CERRAMOS LA LLAVE AL FINAL DE TODO
ENCERRANDO A LAS DOS FIGURAS QUE QUEREMOS UNIR  }

notar que hay 2 llaves, una por cada instrucción, una era la de resta, y ahora es la de unión.




Y YA QUEDARON UNIDAS O PEGADAS 



Share:
Read More
, , , ,

RESTAR UN CUERPO DE OTRO - TALADRO - difference ( ) { }

 





difference ( ) {   }

ESTA ORDEN LLEVA PARÉNTESIS Y LLAVES. LAS LLAVES SE UTILIZAN PARA SELECCIONAR A MAS DE UN OBJETO QUE VAN A INTERACTUAR ENTRE SI


En el ejemplo vamos a restar un cilindro a un hexágono. Pero no lo va a traspasar de lado a lado, por lo que el cilindro lo subimos un poco

Lo subimos modidicando el eje de la Z  en positivo, para que suba, en este caso le damos 10




Para dar la orden, tenemos que escribir por encima de los dos objetos a restar

subimos por encima del hexágono y el cilindro y escribimos el texto de lo que vamos a hacer, en este caso diferencia entre ellos




debajo de la descripción, damos la orden, 
se usa la funcion   difference

lleva parentesis y llaves  

La llave  {  se abre al comienzo de los volúmenes a tratar y....



... la llave se cierra al final de los dos volúmenes que se van a restar entre si   }



Al poner primero el cilindro y después el hexágono, lo que hace, es cortarle al cilindro la parte de unión con el hexágono



Vamos a cambiar el orden de los volúmenes de lugar
El cilindro lo pondremos debajo del hexagono 
seleccionamos, y cortamos...


.... y lo pegamos debajo

Cuidadando que quede antes del cierre de llave   }




queda taladrado el hexágono, sin llegar a ser un agujero del todo, o pasante, porque el cilindro estaba mas arriba (z)




Share:
Read More