---
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_.

<!--more-->

{{< 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 <target> <symlink>`) . 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/)
