5. Referencia de Objetos

Los Objetos de FlatCAM son los documentos sobre los que opera el programa. Para una introducción, vea Objetos y Operaciones.

5.1. Objeto Gerber

5.1.1. Formato

El Formato Gerber especifica poligonos. Figuras que contiene área. Comúnmente, regiones de cobre en una capa específica de una placa de circuito impreso. Se utiliza también para máscaras de soldadura, pasta de soldadura, y serigrafia.

Un breve archivo Gerber se muestra a continuación:

G04 This line is a comment an is ignored.*
G04 Coordinate format specification:*
%FSLAX25Y25*%
G04 Set units to inches:*
%MOIN%
G04 Define an aperture:*
%ADD10C,0.100*%
G04 Change polarity to DARK:*
%LPD*%
G04 Select the the previously defined aperture:*
D10*
G04 Set interpolation mode to linear:*
G01*
G04 Move to (0, 0) without drawing:*
X0Y0D02*
G04 Draw to (5, 5) using aperture 10:*
X500000Y500000D01*
G04 Enf of file:*
M02*

5.2. Soporte

El Formato Gerber es totalmente soportado por FlatCAM (versión 8.2) con la siguientes excepciones:

  • Perforaciones en aperturas estándar.
  • Interpolación es siempre realizada mediante aperturas circulares, inclusive cuando se indica una apertura no circular. FlatCAM calcula un tamaño equivalente a partir de las dimensiones de la apertura y utiliza este valor como diámetro para una apertura circular. Esta limitación no afecta a la gran mayoría de archivos Gerber para circuitos impresos. Esta limitación no afecta los destellos (“flashing”).
  • Paso y repetición (“Step and Repeat” SR) no está soportado.

5.2.1. Creación

Los Objetos Gerber pueden ser creados mediante los siguientes métodos:

  • Abrir un archivo Gerber utilizando la opción del menú File→ Open Gerber.
  • Abrir un archivo Gerber utilizando la opción del menú File→ Open Recent.
  • Abrir un archivo Gerber utilizando el comando open_gerber en la interfaz de línea de comando (Interfaz de Línea de Comando).
  • Importando un archivo SVG utilizando el comando import_svg en la interfaz de linea de comando (Interfaz de Línea de Comando).

5.2.2. Operaciones

5.2.2.1. Enrutamiento de Aislación

Parámetros:

  • Tool dia (Diámetro de la herramienta) \(d\): Diámetro de la herramienta de corte.
  • Width (# passes) (Ancho (# de pasos)) \(n\) : Ancho de la ruta de aislación en número de diámetros de la herramienta de corte.
  • Pass overlap (Traslapo de paso) \(\theta\): Fracción del diámetro de la herramienta para traslapar cada paso.

Genera un Objeto Geometry que describe la ruta de la herramienta para cortar en el exterior del perímetro de los polígonos descritos en el archivo Gerber. El primer paso de la herramienta se realiza a una distancia \(D = d/2\) fuera del polígono. Si \(n>1\), habrá \(n-1\) pasos adicionales a una distancia \(D = d(1-\theta)\) con respecto a los pasos anteriores.

Enrutamiento de aislación puede realizarse mediante la GUI y a través del comando import_svg en Interfaz de Línea de Comando.

_images/iso.png

Ejemplo de enrutamiento de aislación con \(n=2\).

5.2.2.2. Recorte de placa

Parámetros:

  • Tool dia (Diámetro de la herramienta) \(d\): Diámetro de la herramienta de corte.
  • Margin (Margen) \(m\):
  • Gap size (Tamaño de los espacios) \(g\):
  • Gaps (Espacios): Tiene los posibles valores:
    • 2 (T/B): Dos espacios en los lados superior y posterior.
    • 2 (L/R): Dos espacios en los lado izquierdo y derecho.
    • 4: En los cuatro lados del rectángulo.

Genera un Objeto Geometry con una ruta rectangular alrededor de los elementos del Objeto Gerber. La ruta incluye espacios que previenen que la placa se desprenda de la placa superior durante el corte.

La operación de Recorte de Placa se encuentra disponible en la GUI o a través del comando cutout en Interfaz de Línea de Comando.

_images/cutout.png

Dimensiones en la operación de Recorte de Placa.

5.2.2.3. Remoción de Áreas de Cobre

Parámetros:

  • Boundary Margin (Margen de límites) \(m\): Distancia con respecto a la mínima caja de margen.
  • Rounded Corners (Esquinas Redondeadas): Si se selecciona, las esquinas se dibujaran redondeadas con radio \(m\).

Genera un Objeto Geometría con polígonos que cubren las superficies sin cobre en el Objeto Gerber.

_images/non_copper.png

Generación de áreas de remoción de cobre. (a) Ejemplo con cero margen.. (b) Ejemplo con margen distinto de cero.

La operación de Remoción de Áreas de Cobre se encuentra disponible a través de la GUI.

5.2.2.4. Caja de Margen

Parámetros:

  • Boundary Margin (Margen de límites) \(m\): Distancia con respecto a la mínima caja de margen.
  • Rounded Corners (Esquinas Redondeadas): Si se selecciona, las esquinas se dibujaran redondeadas con radio \(m\).

Genera un Objeto Geometría con una ruta rectangular alrededor del Objeto Gerber a una distancia \(m\) de la caja de margen más pequeña posible. Si se selecciona esquinas redondeadas, el radio de curvatura será también \(m\).

_images/bounding_box.png

Generación de caja de marge para Objetos Gerber. (a) Sin esquinas redondeadas. (b) Con esquinas redondeadas.

La operación de Caja de Margen se encuentra disponible mediante la GUI.

5.2.2.5. Escala

Parámetros:

  • Factor \(k\): Factor por el cual multiplicar todas las distancias en el objeto: Ejemplo: 2.54.

Modifica el Objeto Gerber cambiando sus dimensiones. Los polígonos en el Objeto Gerber son multiplicados por el factor indicado. P.e. si el factor es \(k=2\), los elementos geométricos se duplican en tamaño. Consecuentemente, cualquier coordenada que se encontraba originalmente a una distancia \(d\) del origin, ahora se encuentra a una distancia \(2d\).

La operación de Escala se encuentra disponible mediante la GUI y el comando scale en Interfaz de Línea de Comando.

5.2.2.6. Desplazamiento

Parámetros:

  • Vector \(v\): Coordenadas del vector por el cual trasladas las geometrías del objeto. Ejemplo: (1.0, -2.0).

Modifica el Objeto Gerber trasladando sus coordenadas. El vector se suma a todas las coordenadas. P.e. si \(v=(x_v,y_v)\), entonces, todos los puntos \((x,y)\) serán trasladados a \((x+x_v, y+y_v)\).

La operación de desplazamiento se encuentra disponible mediante la GUI y mediante el comando offset en Interfaz de Línea de Comando.

5.2.2.7. Seguimiento

Note

La operación de seguimiento no es 100% funcional en este momento. Para ver un resumen de cómo opera visite el blog Tracing the Silkscreen with FlatCAM.

5.2.2.8. Espejo

Parámetros:

  • Mirror Axis (Eje de simetría): Eje alrededor del cual reflejar el objeto. P.e. X o Y.
  • Axis Location (Ubicación del eje): La ubicación del eje se puede especificar de dos maneras:
    • Un Punto por el cual pasa el eje. P.e. (1.0, -2.0), luego, si el eje es X, el eje de simetría es una línea horizontal que pasa por \(y=-2.0\). Si es el eje Y, el eje de simetría es una línea vertical que pasa por \(x=1.0\). Esta opción solo se encuentra disponible en la herramienta de Placa de doble cara.
    • Un Rectángulo, en cuyo caso el eje de simetría lo divide en el medio. En este caso se debe especificar un Objeto Geometría que contenga un único rectángulo.

Refleja la geometría del objeto con respecto al eje de simetría especificado.

Esta operación se encuentra disponible mediante la herramienta Placa de doble cara (ver Placas de Doble Cara) y el comando millholes en Interfaz de Línea de Comando.

5.3. Objeto Excellon

5.3.1. Formato

El Formato de Archivo Excellon especifica como una placa de circuito impreso debe ser perforada.

Un archivo Excellon contiene especificaciones de herramientas y coordenadas de perforaciones. Un breve ejemplo de un archivo Excellon se muestra a continuación:

; This line is a comment and is ignored
; The next line starts the "header":
M48
; Units and number format:
INCH,LZ
; One tool is defined with diameter 0.04 inches,
; drill rate of 300 inches/minute and 55000 RPM.
T1C.04F300S55
; End of header, M95 or %, and beginning of body:
M95

; Use tool 1 defined in the header
T1
; Drill at points (123.45, 234.5) and (12.345, 234.5):
X12345Y23450
X012345Y234500
; End of program;
M30

Desafortunadamente, el formato Excellon no está bien definido y deja espacio para ambiguedad. Muchas aplicaciones CAD implementan el formato incorrectamente lo que hace imposible interpretarlo correctamente. FlatCAM hace un esfuerzo por seguir estrictamente las especificaciones originales del formato y asume los siguientes comportamientos por defecto cuando no se especifican claramente en el archivo:

5.3.2. Soporte

  • FlatCAM solo soporta perforaciones. Las directivas de enrutamiento no están soportadas.
  • La unidades por defecto son PULGADAS.
  • El formato numérico es 000.000 para milimetros y 00.0000 para pulgadas.
  • El formato de ceros es Precedente (Leading). Si se proveen menos de 6 dígitos, FlatCAM agrega ceros a la derecha hasta completar 6 dígitos. Por lo tanto FlatCAM asume que los ceros precedentes están precedentes de antemano.
  • FlatCAM no soporta la definición de herramienta en el cuerpo del documento (después de M95).

5.3.3. Sustitución de Valores por Defecto

Para sustituir el formato de ceros por defecto, defina el valor del parámetro de sistema excellon_zeros en:ref:shell:

set_sys excellon_zeros T

5.3.4. Creación de Objetos Excellon

Puede crear objetos excellon de las siguientes maneras:

5.3.5. Operaciones

5.3.5.1. Crear un Trabajo CNC

Parámetros:

  • Cut Z (Z de corte): Profundidad de la broca bajo la superficie de cobre: P.e. -0.1.
  • Travel Z (Z de desplazamiento): Distancia sobre la superficie de cobre para movimientos en el plano X-Y.
  • Feedrate (Velocidad de alimentación): Velocidad de la broca al perforar (Movimiento en el eje Z) en unidades por minuto. P.e. 50.
  • Tool Change (Cambio de herramienta): Si se selecciona, incluye la secuencia de cambio de herramienta en el código G-code resultante.
  • Tool Change Z (Altura para cambio de herramienta): Distancia sobre la superficie de cobre necesaria para cambiar la herramienta.
  • Tools (Herramientas): Lista de herramienta a incluir en el trabajo CNC.

Crea un Objeto CNC Job para perforaciones.

El Objeto CNC Job para objetos Excellon puede ser creado mediante la interfaz GUI del objeto o mediante el comando drillcncjob en Interfaz de Línea de Comando.

5.3.5.2. Fresar Perforaciones

Parámetros:

  • Tool dia (Diámetro de la herramienta): Diámetro de la herramienta para fresar.
  • Tools (Herramientas): Lista de herramientas que se incluirán en la operación.

Crea un Objeto Geometría con rutas para fresar las perforaciones indicadas en el Objeto Excellon.

5.3.5.3. Escala

Parámetros:

  • Factor \(k\): Factor por el cual se multiplican todos los elementos geométricos del objeto. Ejemplo: 2.54.

Modifica el Objeto Excellon cambiando sus dimensiones. Las coordenadas de las perforaciones en el Objeto Excellon se multiplican por el factor indicado. P.e. si el factor es \(k=2\), los puntos originalmente ubicados en \((x, y)\) son trasladados a \((2x, 2y)\). Esto no afecta el diámetro de las perforaciones.

La operación de escala está disponible mediante la GUI y mediante el comando scale de Interfaz de Línea de Comando.

5.3.5.4. Desplazamiento

Parámetros:

  • Vector \(v\): Coordenadas del vector por el cual trasladar las geometrías del objeto: Ejemplo: (1.0, -2.0).

Modifica el Objeto Excellon trasladando sus coordenadas. Se suma el vector provisto a todas las coordenadas del objeto. P.e. si \(v=(x_v,y_v)\), todas las coordenadas \((x,y)\) son trasladadas a \((x+x_v, y+y_v)\).

La operación de desplazamiento se encuentra disponible mediante la GUI y mediante el comando offset de Interfaz de Línea de Comando.

5.3.5.5. Espejo

Parámetros:

  • Mirror Axis (Eje de simetría): Eje alrededor del cual reflejar el objeto. P.e. X o Y.
  • Axis Location (Ubicación del eje): La ubicación del eje se puede especificar de dos maneras:
    • Un Punto por el cual pasa el eje. P.e. (1.0, -2.0), luego, si el eje es X, el eje de simetría es una línea horizontal que pasa por \(y=-2.0\). Si es el eje Y, el eje de simetría es una línea vertical que pasa por \(x=1.0\). Esta opción solo se encuentra disponible en la herramienta de Placa de doble cara.
    • Un Rectángulo, en cuyo caso el eje de simetría lo divide en el medio. En este caso se debe especificar un Objeto Geometría que contenga un único rectángulo.

Refleja la geometría del objeto con respecto al eje de simetría especificado.

Esta operación se encuentra disponible mediante la herramienta Placa de doble cara (ver Placas de Doble Cara) y el comando millholes en Interfaz de Línea de Comando.

5.4. Objeto Geometría

Los Objetos Geometría son el núcleo de las representaciones geométricas en FlatCAM. Pueden ser manipulados de distintas maneras, incluyendo la conversión desde y hacia otros formatos y tipos de objeto.

5.4.1. Creación de Objetos Geometría

5.4.1.1. Desde cero

Puede crear un Objeto Geométrico en blanco mediante:

5.4.1.2. Desde otros objetos

A continuación se listan los tipos de objetos y las operaciones asociadas que resultan en la creación de un nuevo Objeto Geometría.

  • Objeto Gerber:
    • Enrutamiento de aislación
    • Recorte de placa
    • Remoción de áreas de cobre
    • Caja de Margen
    • Seguimiento
  • Objeto Excellon:
    • Fresar perforaciones
  • Objeto Geometría:
    • Pintar superficie

5.4.1.3. Desde SVG

FlatCAM puede importar archivos “Scalable Vector Graphics (SVG)” (Gráficas de geometría escalable) como Objetos Geometría. Puede realizar esta operación mediante:

Esta prestación permite a FlatCAM generar G-Code para figuras de mayor complejidad que aquellas que normalmente puede exportar desde una aplicacion de edicion de PCB.

Los archivos SVG utilizan un sistema de coordenadas con el origen en la esquina superior izquierda. Al importar un archivo SVG, FlatCAM modificara el origen situandolo en la esquina inferior izquierda basándose en las dimensiones de la imagen.

Puede crear archivos SVG mediante software gratuito de código abierto como Inkscape o software comercial como Adobe Illustrator.

Flatcam también puede exportar un Objeto Geometría en formato SVG. Vea a geo2svg.

5.4.2. Operaciones

5.4.2.1. Edición

Los Objetos Geometría pueden ser editados manualmente utilizando el Editor de Geometría.

5.4.2.2. Creación de Trabajo CNC

Parámetros:

  • Cut Z (Z de corte): Profundidad de corte (valor negativo) bajo la superficie de cobre.
  • Travel Z (Z de desplazamiento): Distancia sobre la superficie de cobre durante los movimientos horizontales mientras no esta cortando.
  • Feed rate (Velocidad de alimentación): Velocidad de corte en el plano X-Y en unidades por minuto.
  • Tool dia (Diámetro de la herramienta): Diámetro de la herramienta de corte.
  • Spindle speed (Velocidad del eje): (Opcional) Velocidad del eje en revoluciones por minuto (RPM).
  • Multi-Depth (Pasos múltiples) y Depth/pass (Profundidad por paso): Utilice múltiples pasos para limitar la profundidad de corte en cada paso al valor especificado.

Crea un Objeto CNC Job trazando la ruta definida por el Objeto Geometría.

Esta operación se encuentra disponible mediante la interfaz GUI y mediante el comando aligndrill en Interfaz de Línea de Comando.

5.4.2.3. Pintar Superficie

Parámetros:

  • Tool dia (Diámetro de la herramienta): Diámetro de la herramienta de corte.
  • Overlap (Sobrepaso): Fracción del diámetro de la herramienta para sobrepasar en cada paso.
  • Margin (Margen): Distancia a mantener con respecto al perímetro de los polígonos en el objeto.
  • Method (Método): Los siguientes métodos se encuentran disponibles:
    • Estándar: La ruta se define mediante el encogimiento del polígono una distancia igual al diámetro de la herramienta repetidamente hasta que no quede superficie.
    • Semilla: Se calcula un punto dentro del polígono, y este punto se amplía una distancia igual al diámetro de la herramienta repetidamente hasta que el círculo resultante contiene el polígono completamente.
  • Polygon (Polígono): Polígono que define el área a ser pintada. El polígono se identifica automáticamente especificando un punto dentro de este.
_images/paint.png

Geometría generada por la operación Pintar Superficie aplicada al mismo polígono utilizando (a) El método estándar y (b) el método semilla.

Esta operación se encuentra disponible mediante la interfaz GUI del objeto y mediante el comando paint_poly en Interfaz de Línea de Comando.

5.4.2.4. Escala

Parámetros:

  • Factor \(k\): Factor por el cual multiplicar todas las distancias en el objeto: Ejemplo: 2.54.

Modifica el Objeto Geometría cambiando sus dimensiones. Los polígonos en el Objeto Gerber son multiplicados por el factor indicado. P.e. si el factor es \(k=2\), los elementos geométricos se duplican en tamaño. Consecuentemente, cualquier coordenada que se encontraba originalmente a una distancia \(d\) del origin, ahora se encuentra a una distancia \(2d\).

La operación de Escala se encuentra disponible mediante la GUI y el comando scale en Interfaz de Línea de Comando.

5.4.2.5. Desplazamiento

Parámetros:

  • Vector \(v\): Coordenadas del vector por el cual trasladas las geometrías del objeto. Ejemplo: (1.0, -2.0).

Modifica el Objeto Geometría trasladando sus coordenadas. El vector se suma a todas las coordenadas. P.e. si \(v=(x_v,y_v)\), entonces, todos los puntos \((x,y)\) serán trasladados a \((x+x_v, y+y_v)\).

La operación de desplazamiento se encuentra disponible mediante la GUI y mediante el comando offset en Interfaz de Línea de Comando.

5.5. Objeto CNC Job

Los Objetos CNC Job son una representación simple de código G-code en FlatCAM. Existen pocas operaciones posibles para este tipo de objeto. La mayoría de las opciones son definidas al momento en que el objeto es creado.

5.5.1. Soporte del formato G-Code

FlatCAM interpreta el codigo G-Code segun la especificacion NIST G-Code Guidelines, sin embargo, soporta solo un subconjunto pequeño de instrucciones. Solo aquellas necesarias para trabajos en dos dimensiones. Al importar G-code, todas aquellas instrucciones inconsecuentes con el despliegue 2D en FlatCAM son ignoradas.

5.5.2. Creación de Objetos CNC Job

Los Objetos CNC Job pueden ser creados de distintas formas:

  • Al abrir un archivo G-Code mediante: * La opción de menú File→Open G-Code. * La opción de menú File→Open Recent. * El comando open_gcode en Interfaz de Línea de Comando.
  • Desde un Objeto Geometría * Crear un trabajo CNC
  • Desde un Objeto Excellon * Crear un trabajo CNC

5.5.3. Sustitución de Valores por Defecto

5.5.3.1. Formato de Coordenadas

El formato de coordenadas G-Code generado por FlatCAM es por defecto:

X%.4fY%.4f

Por ejemplo: X12.3000Y0.4090.

Este formato puede ser modificado, por ejemplo, para modificar la precisión, agregar un espacio entre los valores de X e Y, o utilizar minúscula, definiendo el valor del parámetro de sistema cncjob_coordinate_format en Interfaz de Línea de Comando:

set_sys cncjob_coordinate_format "x%.3f  y%.3f"

5.5.3.2. Velocidad en el eje Z

La velocidad en el eje Z durante movimientos positivos (arriba) es por defecto el máximo de la máquina (G00) y es la misma que en movimientos en el plano X-Y durante movimientos negativos (abajo).

La velocidad por defecto en movimientos negativos (hacia abajo) puede ser modificada estableciendo el valor del parámetro de sistema zdownrate en Interfaz de Línea de Comando:

set_sys zdownrate 3

El valor es en unidades por minuto, dónde “unidades” son aquellas que se encuentran activas en el proyecto actual

5.5.4. Operaciones

5.5.4.1. Exportar G-Code

Parámetros:

  • Prepend to G-Code (Preceder al G-Code): Texto para agregar al principio del archivo G-Code.
  • Append to G-Code (Adjuntar el G-Code): Texto para agregar al final del archivo G-Code.
  • File Name (Nombre del archivo): Nombre del archivo a escribir.

Guarda el código G-Code del objeto en el archivo especificado.

Esta operación se encuentra disponible mediante la interfaz GUI y mediante el comando set_sys en Interfaz de Línea de Comando.