10/06/2025

Creación dunha copa en FreeCad

Na clase de Dixitalización, traballamos co programa FreeCAD para aprender sobre deseño 3D. O obxectivo era crear unha copa, e para iso utilicei unha imaxe como referencia antes de construír o modelo.

1. A imaxe de referencia: o punto de partida

Antes de debuxar nada, o profesor mostrounos unha imaxe dunha copa para que tivésemos unha idea clara da forma que queríamos crear. Isto resultou moi útil porque nos axudou a entender mellor as proporcións e os detalles que debiamos incluír no modelo. A partir desa imaxe, comecei a analizar como dividir a copa en partes para modelala de maneira eficiente.

Algunhas das cousas que tiven en conta da imaxe foron:

  • O tamaño e a forma da base.

  • A altura e a anchura do pé.

  • A forma da parte superior e como debería conectarse co pé.

O grosor do material para que non parecese demasiado delgado ou demasiado macizo.

2. Debuxando o perfil da copa en Sketcher

Unha vez que tiña clara a estrutura da copa, creeina  usando o Sketcher. Para iso, fixen un bosquexo lateral da copa, trazando liñas e curvas que representaban a súa forma xeral. Este paso foi crucial porque a copa non se modela directamente en 3D, senón que primeiro debuxamos o perfil e logo aplicamos transformacións para que tome volume.

Os pasos que seguín foron:

  1. Debuxar un círculo para a base da copa e definir o seu diámetro segundo a imaxe de referencia.

  2. Debuxar unha liña vertical para a altura do pé.

  3. Trazar a parte superior da copa con curvas suaves para que a forma fose máis orgánica.

Aquí tiven que facer varios axustes ata que as proporcións se viran ben e encaixaran coa imaxe que nos proporcionara o profesor.

3. Extrusión para dar volume á copa

Co boceto completo, pasou á parte máis emocionante: convertelo nun modelo tridimensional. En FreeCAD, existen varias formas de dar volume, pero neste caso usei a ferramenta de revolución (Revolve), que permite xirar un perfil ao redor dun eixo para obter unha forma simétrica.

Os pasos que seguín foron:

  1. Seleccionar o perfil da copa creado en Sketcher.

  2. Definir un eixo de revolución, que neste caso foi a liña central vertical.

  3. Xirar o perfil 360° arredor do eixo, formando así a copa en 3D.

Este foi o momento no que realmente puiden ver o modelo en volume e apreciar a súa estrutura realista.

4. Preparando o modelo para a impresión 3D: Do deseño á realidade

Para converter o deseño da copa nun obxecto físico, seguíronse tres pasos        esenciais:

  • Exportación a formato STL: O modelo 3D da copa, creado en FreeCAD, exportouse ao formato STL. Este formato é universal para impresión 3D e representa o obxecto como unha malla de triángulos, preparándoo para a impresora.

  • Segmentación (Slicing): O arquivo STL cargouse nun software de segmentación (slicer), como Cura ou PrusaSlicer. Este programa "corta" virtualmente o modelo en capas horizontais finas, traducíndoo a un formato (xeralmente G-code) que a impresora entende.

  • Inicio da impresión: Finalmente, o arquivo segmentado enviouse á impresora 3D. A impresora constrúe a copa capa a capa, transformando o deseño dixital nun obxecto tanxible.

Programación en Python: As miñas creacións

 

Explorando a Visualización de Funcións: Un Proxecto de Programación con Python

As funcións son cruciais en matemáticas, e a súa representación gráfica é esencial para comprender o seu comportamento. Neste artigo, aprenderemos a construír un graficador de funcións interactivo usando Python.

Obxectivo do Proxecto

O propósito deste proxecto é desenvolver unha aplicación de escritorio que permita ao usuario introducir unha expresión matemática, definir un intervalo para a variable independente (x), e obter a representación gráfica correspondente. Esta ferramenta busca facilitar a exploración visual de funcións dunha maneira accesible e educativa.

Ferramentas Tecnolóxicas Empregadas

Para a implementación deste graficador, empregaremos as seguintes librarías estándar de Python:

  • Tkinter: A libraría estándar para o desenvolvemento de interfaces gráficas de usuario (GUI) en Python. Proporciona os widgets necesarios (campos de entrada, botóns, etiquetas) para interactuar co usuario de forma intuitiva.
  • Matplotlib: Unha libraría amplamente utilizada para a creación de gráficos 2D de alta calidade. O seu módulo pyplot será esencial para xerar e personalizar as representacións visuais das funcións.
  • NumPy: Fundamental para a computación numérica en Python. Permite a creación eficiente de arrays homoxéneos de grandes dimensións e ofrece unha vasta colección de funcións matemáticas para realizar operacións vectorizadas, optimizando os cálculos necesarios para a avaliación das funcións.

Análise Estrutural do Código

Procederemos a desglosar o código fonte en seccións clave para unha mellor comprensión da súa lóxica e funcionalidade.

1. Importación de Módulos Esenciais

O primeiro paso en calquera proxecto Python é importar as librarías que necesitarás. Para o noso graficador, requiremos matplotlib.pyplot para debuxar, numpy para as operacións matemáticas con números, e tkinter xunto con tkinter.messagebox para a interface gráfica e a xestión de mensaxes ao usuario.

import matplotlib.pyplot as plt

import numpy as np

import tkinter as tk

from tkinter import messagebox

2. O corazón do asunto: A función plot_function()

Esta é a parte central do meu código. Cando premo o botón "Graficar", é esta función a que se activa. O que fai é recoller a función matemática que eu escribín e os límites do intervalo de x.

Despois, usa NumPy para xerar 500 puntos para o eixo x dentro dese intervalo, o que asegura que a gráfica se vexa suave. O paso máis interesante é como calcula os valores de y. Para iso, usa eval(), que interpreta a miña función escrita como código Python. Tamén engadín algunhas comprobacións para que, se me equivoco ao escribir a función, me avise cunha mensaxe de erro.

Finalmente, Matplotlib encargábase de debuxar todo. Poñíalle un título, etiquetas aos eixes, unhas liñas de referencia (nos eixes X e Y) e unha cuadrícula. O resultado era unha ventá cun gráfico claro e listo para analizar.

3. A interface: Tkinter ponlle cara á miña aplicación

Esta sección foi onde construín a ventá principal do meu graficador. Con Tkinter, creei etiquetas con instrucións e exemplos (como "x**2"), e tamén as caixas onde podo escribir a función e os límites de x. Púxenlles uns valores por defecto para que fose máis cómodo empezar.

O botón "Graficar Función" é o que conecta coa miña función plot_function(). Cando inicio o programa, Tkinter encárgase de que todo apareza na pantalla e de que funcione cando premo o botón.

A miña experiencia ao probalo


Foi emocionante ver como funcionaba! Simplemente gardei o código e executéino. Puiden probar diferentes funcións como x**2, np.sin(x) ou 1/x, e en segundos tiña a súa gráfica diante dos meus ollos. É unha sensación moi gratificante cando o teu código funciona como queres.

O meu proxecto de visualización de datos: Analizando a poboación con Python

Sempre me pareceu fascinante como os datos poden contar unha historia. Recentemente, estiven a traballar nun proxecto onde usei Python para visualizar a evolución da poboación nunha área, combinando o que xa pasou co que podería pasar no futuro. Non vos aburro con moitos detalles, pero usei as librarías Matplotlib para facer os gráficos e NumPy para manexar os números.


Que mostra o gráfico?

O gráfico que creei é unha forma moi visual de entender a poboación. Nel podedes ver:

  • Poboación Histórica (2018-2022): Representada cunha liña rosa intensa e continua. Estes son os datos reais de como foi medrando a poboación. Cada punto histórico está claro co seu valor exacto, así é doado ver os números.
  • Proxección Futura (2023-2025): Tamén en rosa, pero cunha liña descontinua. Isto é o que se espera que pase coa poboación. Como as proxeccións nunca son 100% seguras, engadín unha zona sombreada arredor da liña, que mostra o rango no que se espera que estea a poboación.

Por que me gusta este gráfico?

O que máis me gusta é como, cunha soa ollada, se pode ver o pasado e o futuro da poboación. A cor rosa vibrante fai que chame a atención, e todos os detalles como os títulos, as etiquetas e as liñas de referencia axudan a que sexa moi doado de entender. Tamén me asegurei de que se visen as notas informativas sobre a proxección e a fonte dos datos, porque a transparencia é moi importante.


En resumo, este proxecto foi unha experiencia fantástica para aplicar o que aprendo en matemáticas e informática. É unha forma xenial de ver como os datos se transforman en coñecemento visual. Aínda teño moito que aprender, pero estou orgulloso do que conseguín!