--- weight: 4 title: "Notas de FreeCAD" date: 2021-06-28T09:35:03+0200 draft: true summary: "Notas sobre FreeCAD" categories: - notes tags: - freecad --- Apuntes **muy incompletos** sobre _FreeCAD_. {{< image src="/images/FreeCAD-Logo.png" >}} {{< admonition type=warning title="Work in progress" open=true >}} Estos apuntes son personales y no valen para aprender, mejor búscate un buen tutorial en la red {{< /admonition >}} ## FreeCAD ### Ejecutar varias versiones de FreeCAD con sus configuraciones independientes Yo uso las Appimages de FreeCAD, para cada configuración independiente necesitamos un directorio diferente. En mi caso uso tres directorios: * `~/apps/freecad/fc019` Para FreeCAD 0.19 * `~/apps/freecad/fc020` Para FreeCAD 0.20 * `~/apps/freecad/fcrt` Para FreeCAD RealThunder Cada vez que descargo una nueva versión de Appimage, la descargo al directorio correspondiente. En cada directorio tengo un enlace simbólico `current` apuntando a la Appimage que quiero ejecutar (el enlace simbólico se crea con el comando `ln `) . Por ejemplo, en el directorio `fc019` ahora mismo tengo: ```bash ls -l ~/apps/freecad/fc019 total 1647152 lrwxrwxrwx 1 salvari salvari 56 Jun 28 09:12 current -> FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage -rwxr--r-- 1 salvari salvari 839349440 Apr 26 21:55 FreeCAD_0.19-24276-Linux-Conda_glibc2.12-x86_64.AppImage -rwxr--r-- 1 salvari salvari 847320256 Jun 28 08:55 FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage ``` Por último tengo tres scripts en `~/.local/bin` que se llaman `fc019`, `fc020` y `fcrt`. Pongo el contenido de `fc019` como ejemplo: ```bash #!/usr/bin/env bash export HOME=/home/salvari/apps/freecad/fc019 export FREECAD_USER_HOME=$HOME ~/current --user-cfg ~/user.cfg --system-cfg ~/system.cfg --module-path ~/Mod ``` Con estos scripts puedo lanzar los tres FreeCAD y las configuraciónes de cada uno quedarán guardadas en su respectivo directorio. ### Letras con FreeCAD e Inkscape En Inkscape: * Escribimos el texto que nos interese. Hay que fijarse en darle ya las dimensiones que queremos en realidad * Selecionamos el objeto texto y ejecutamos el comando `Path::Object to Path` (también vale `Ctrl+alt+C`) * Salvamos el texto en un fichero `texto.svg` En FreeCAD: * Abrimos un nuevo fichero e importamos el SVG como geometría. * Para cada letra del texto tendremos uno o varios `path`: uno con el contorno de la letra y uno por cada "hueco". Nos aseguramos de estar en el *Draft Workbench* y para cada `path` hacemos un `Modification::Downgrade` y un `Modification::Upgrade`, con eso transformamos cada `path` en un `wire` * Ahora pasamos al *Part Workbench* y a cada `wire` le aplicamos un `Part::2D offset`. * Volvemos al *Draft Workbench* y al objeto `2D offset` le hacemos un downgrade. Esto descompone el objeto en el `wire` original y un conjunto de `edges` (que quedan seleccionados). Si a continuación hacemos un upgrade (con todos los `edge` seleccionados) tendremos un `wire` para la silueta externa de la letra y otro `wire` para la interna (conviene renombrarlos) * Para que todo vaya bien (no tengo otra explicación) hay que pasar los `wire` a objetos `Shape2DView`, y a cada uno de los objetos resultantes aplicarles la operación `Draft to Sketch`. Con eso obtendremos dos objetos `sketch` para los contornos exterior e interior de la letra respectivamente. * Es muy conveniente pasar al *Sketcher Workbench* y validar ambos objetos `sketch` buscando y arreglando los `open vertexes`. * Ya podemos ir al *Part Design Workbench*, antes de nada conviene crear un objeto `Part` en la raiz de nuestro documento y un objeto `body` dentro del `Part` * Arrastramos el `sketch` exterior al `Body` y hacemos un `pad` a nuestro gusto * Arrastramos el `sketch` interior al `Body` pero teniendo cuidado de mapearlo a la cara superior de nuestra letra. * Con el `sketch` mapeado en la cara superior creamos un `Pocket` controlando la profundidad podemos hacer que nuestra letra sea una caja o solo una pared ## Tutoriales ### Rafael García [Aquí](https://www.youtube.com/watch?v=136sG-7zins&list=PLvDOxR8gzkX_3LtuEKBIoNLFFgJK_AXkE&index=1) * FreeCAD 001: Intro * FreeCAD 002: Más intro con el sketcher * FreeCAD 003: Más intro con el sketcher (un poco de splines) * FreeCAD 004: Boceto sobre caras y algo de matrices polares * FreeCAD 005: Revolución de sketches * FreeCAD 006-01: Pieza solucionada con Dar espesor a un sólido * FreeCAD 006-02: Continuación * FreeCAD 007: Pieza de los 200 ejercicios * FreeCAD 008: Simetrias y multitransformación en Part Design * FreeCAD 009: Pantalones de caldereria * FreeCAD 009_bis: Planos técnicos con Techdraw * FreeCAD 010: Una T de fontanería * FreeCAD 011: Enlazar diseño paramétrico con una hoja de datos * FreeCAD 012: Caja con tornillos * FreeCAD 013: Extruir caras de nuestros sólidos * FreeCAD 014: Uso de imágenes para crear proyectos * FreeCAD 015: Primera pieza de la cizalla * FreeCAD 016: Cuchilla de la cizalla hidráulica * FreeCAD 017: Más cuchilla * FreeCAD 018: Materiales * FreeCAD 019: Pasadores para la cizalla * FreeCAD 020: Más cizalla * FreeCAD 021: Todavía más cizalla * FreeCAD 022: Algunos trucos en sketcher * FreeCAD 023: Tiralineas * FreeCAD 024: * FreeCAD 025: * FreeCAD 026: * FreeCAD 027: * FreeCAD 028: * FreeCAD 029: * FreeCAD 030: * FreeCAD 031: * FreeCAD 032: * FreeCAD 033: * FreeCAD 034: * FreeCAD 035: * FreeCAD 036: * FreeCAD 037: * FreeCAD 038: * FreeCAD 039: ### MangoJelly - [FreeCAD: Learn Python](https://invidious.snopyta.org/playlist?list=PLWuyJLVUNtc15o92Bo6SgtYzXt7zlSIsh) ver también [doc](https://wiki.freecadweb.org/Power_users_hub) - [FreeCAD 6 for Beginners](https://invidious.snopyta.org/playlist?list=PLWuyJLVUNtc0UszswD0oD5q4VeWTrK7JC) ### Misc - [Apuntes de Federico Coca](https://fgcoca.github.io/Mis-notas-de-FreeCAD/6-TD/)