Utiltizar la màquina CNC

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Proveïdors

Planxes d'alumini

Comprar planxes d'aliumini:

Plaques de circuit imprés

Em registro a http://es.aliexpress.com: joanqc@gmail.com / joanqc

Doubleside 10*20cm 0.8mm fr4 de fibra de vidrio en blanco revestido de cobre placa de circuito impreso 10*20 universal prototipo de pcb caliente de la venta http://es.aliexpress.com/item/doubleSide-10-20cm-0-8MM-FR4-Glass-fiber-Blank-Copper-Clad-Printed-Circuit-Board-10-20/766823666.html

Freeshipping 10pcs/lot de un solo lado 15*20 fr4 fr-4 de fibra de vidrio en blanco revestido de cobre placa de circuito impreso universal prototipo de pcb http://es.aliexpress.com/item/Freeshipping-10pcs-lot-Single-Side-15-20-FR4-FR-4-Glass-fiber-Blank-Copper-Clad-Printed/1737323061.html

Faig una comanda, són 18e per 10 plaques d'una sola cara de 15x20cm, surt a:

1,81e / 300cm2 = 0,0060 e/cm2 = 60e/m2

Broques per a circuit imprès

NOTA: veure l'apartat de compra de broques.

Cercar a eBay per: Micro Carbide PCB CNC Route Drill Bits. Sembla ser que és important que els bits siguin de carbide (que seria una mena d'acer al carboni, crec). Hi ha broques-bits de diferents mides. També hi ha les broques V-Type, que poden ser interessants de cara a fer el milling (TBD). Les V-Type ha d'especificar el número de graus, per exemple, 60º.

La diferència entre les broques normals (end-mill) i les V-type estan explicades a http://pcbgcode.com/. En principi les V-type són més barates i el resultat més groller. Però després de passar paper d'estrassa el resultat seria acceptable.

Plàstics tècnics

Llistat de plàstics tècnics:

El nylon (material típic per fer engranatges) pot anar en barres, o en plaques/planxes. el nylon va en barres de diferent diàmetre. Per ex, Servei Estació barres de 1m i de 6mm a 60mm de diam (0,60e). Secció de bricolatge.


Metacril.lat

Al Servei Estación, entrant a mà dreta. Metacrilato colores fluor dina3 de 3mm: 8,85e

Es tracta de metacril.lats transparents o opacs de diferents colors. Poden servir per fer els inserts dels pinball.

Poliuretà d'alta densitat

En aquesta emrpesa de senyalètica el fan servir molt per fer les lletres:

Program exceeds machine maximum on axis X

És un tema de lògica. El meu codi g-code fa un recorregut en els tres eixos, i el recorregut del programa no ha de sortir de les dimensions de la màquina. D'altra banda, les dimensions de la màquina han d'estar ben especificades, i la manera correcta de fer-ho és en el fitxer de configuració que es genera en el wizzard. Després aquest fitxer de configuració es pot editar manualment, està en la carpeta que s'ha generat, i és el fitxer .ini. Per ex, la primera instrucció és:

GO Z 15.000

que significa que s'aixeca la broca 15mm per sobre la superfície per fer el desplaçament. Per tant, les dimensions del AXIS_2 (eix z) han de ser les adequades. Per ex:

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
STEPGEN_MAXACCEL = 37.5
SCALE = 20.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -10.0
MAX_LIMIT = 20.000
HOME_OFFSET = 0.0

Com veiem, el MAX_LIMIT=20 és adequat, però si fico un valor inferior a 15 em donarà l'error Program exceeds machine maximum on axis Z.

El mateix podem aplicar per a les dimensions de l'eix X i Y, que de fet seran les dimensions efectives de la màquina CNC. Una altra cosa a considerar és l'origen de coordenades.

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
STEPGEN_MAXACCEL = 37.5
SCALE = 20.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 400.0
HOME_OFFSET = 0.0

[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
STEPGEN_MAXACCEL = 37.5
SCALE = 20.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -10.001
MAX_LIMIT = 400.0
HOME_OFFSET = 0.0

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
STEPGEN_MAXACCEL = 37.5
SCALE = 20.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -10.0
MAX_LIMIT = 20.001
HOME_OFFSET = 0.0

Plaques PCB amb CNC

Està explicat a:

Aconseguir la profunditat adequada

Utilitzem dxf2gcode (amb altres programes hauria de ser similar). Treballo un cercle bàsic que vull fresar a -3mm (l'exemple està tret del dxf2gcode, fitxer dxf/1.dxf, on només activo la capa del cercle).

Veig que amb el dxf2gcode les úniques unitats que hi ha són inches, tot i que el dxf està definit en mm (això de moment no li faig cas, té fàcil solució, veure més endavant).

En el dxf2gcode veig com vull aprofondir fins a -3mm (encara que posi inches), amb fresats de -1.5mm:

Per tant, com que el infeed -es de -1.5mm, i vull arribar a una profonditat de -3mm, necessito dues passades. Aquestes dues passades és veu en el codi que es genera:

(Generated with: DXF2GCODE, Version: PyQt4 Beta, Date: $Date:: 2014-02-11 12:27:10#$)
(Created from file: /home/joan/dxf2gcode-read-only/dxf/1.dxf)
(Time: Fri May 16 16:02:26 2014)
G20 (Units in inches) G90 (Absolute programming) G64 (Default cutting) G17 (XY plane) G40 (Cancel radius comp.) G49 (Cancel length comp.)
G0 Z  15.000 

(*** LAYER: 0 ***)
T1 M6
S6000

(* SHAPE Nr: 0 *)
G0 X -33.536 Y  26.464
M3 M8
G0 Z   3.000 
F150
G1 Z  -1.500
F400
G2 X -26.464 Y  33.536 I   3.536 J   3.536
G2 X -33.536 Y  26.464 I  -3.536 J  -3.536
F150
G1 Z  -3.000
F400
G2 X -26.464 Y  33.536 I   3.536 J   3.536
G2 X -33.536 Y  26.464 I  -3.536 J  -3.536
F150
G1 Z   3.000
G0 Z  15.000 
M9 M5
G0 X   0.000 Y   0.000
M2 (Program end)

Veig com es fan dos cercles, un arriba fins a -1.5, i l'altre arriba fins a -3mm.

Efectivament s'aconsegueix un cercle amb el codi G2, tal com s'explica a (de fet, per aconseguir un cercle s'han de fer dos arcs de circunferència. El paràmetre -I és el X offset, i el paràmetre -J és el Y offset):

dxf2gcode: inches i mm

NOTA: això no és problema. Si treballo amb el Librecad amb mm, quan importo em surt tot en mm. El problema que vaig tenir és que els dxf d'exemple que estan en el projece del dxf2gcode estan en inch, i quan es fa la importació d'un projecte DXF es recuperen les unitats correctes:

/home/joan/dxf2gcode-read-only/source/DxfImport/.svn/text-base/Import.py.svn-base:        g.config.metric = self.Get_Unit(str_)
/home/joan/dxf2gcode-read-only/source/DxfImport/Import.py:        g.config.metric = self.Get_Unit(str_)

Per defecte el dxf2gcode treballa en inches (per tot el que acabo d'escriure, això no és correcte), tot i que en el fitxer dxf2gcode.py trobem:

g.config.metric = 1 # default drawing units: millimeters

En qualsevol cas no té molta importància. La qüestió és que el codi generat .ngc té la comanda G20 (inches), i hauria de ser G21 (mm). Per tant, n'hi ha prou en editar el fitxer i canviar G20 per G21. És només això. El millor és editar el fitxer dxf2gcode.py per tal de què es mostri tot en mm, i que en fer l'exportació ja surti el codi G21.

Rètol de fusta

Retol fusta 0.png
Retol fusta.png

Dissenyo amb LibreCad el rètol.

Les fonts que permeten accents són:

wqy-unicode
italicc
italict
romanc
romans
scriptc
scripts
simplex
standard
unicode

Potser la millor és wqy-unicode. Dissenyo el rètol de fusta amb Librecad (escullo unes dimensions A3).

Un cop fet el disseny, amb dxf2gcode puc convertir el dxf a gcode (valgui la redundància), i veig els problemes que hi ha. El primer que s'ha de resoldre és que el text no s'exporta bé. I és que he de convertir el text a formes geomètriques, en el LibreCad. He de convertir el text a spline. Es fa amb modify > Explode.

Obtinc el fitxer .ngc, i ara ja puc obrir-lo amb el LinuxCNC. Per poder fer proves escullo un simulador (sim-mm), i el problema que em trobo és que el rètol està fora de les coordenades. Suposo que el problema es pot resoldre a dins del LinuxCNC (TBD), però mentrestant el problema també es pot resoldre des del dxf2gcode.

En el dxf2gcode hi ha l'opció Options > Move WP Zero. D'aquesta manera puc canviar l'origen de coordenades. Per ex, ho movem -100, -100. D'aquesta manera, quan obri el fitxer en el LinuxCNC ara les dimensions del rètol ja entren dins de les dimensions de la màquina.

Ara ja puc començar la simulació. Els botons estan d'entrada deshabilitats. La idea és que el simulador ha de seguir els mateixos passos que la màquina real. Per tant, per habilitar els botons i poder fer play a la simulació hauré de fer Toggle Emergency Stop (F1) i Toggle Machine Power (F2). Ara ja comença la simulació i puc veure el camí que segueix el router.

Hi ha diferents alternatives per fer el engraving de les lletres:

hi ha conversors de ttf a cxf:

Lletres bàsiques: Librecad > dxf2gcode

A vegades faig unes lletres senzilles amb el LibreCAD, i quan vull veure el projecte en el dxf2gcode no es veu res. És un error de concepte. Les lletres del LibreCAD és un objecte tipus MText que el dxf2gcode no reconeix. Només cal veure els missatges d'error. La solució passa per fer el Explode de les lletres, i així convertim les lletres en figures geomètriques.

Buidat de les lletres

La tècnica del buidat és el pocketing. Hi ha scripts per fer pockets, però de moment no he trobat res per fer el pocket de les lletres, a no ser que sigui utilitzar una broca el més ampla possible.

Una possibilitat manual és utilitzar un gúbia (http://ca.wikipedia.org/wiki/G%C3%BAbia) per buidar la lletra u cop s'hagi fet el fresat i s'han definit els límits.

Hatch.png

solució. En el LibreCAD existeix el Draw > Hatch, que representa fer una malla/trama en l'objecte seleccionat. Prèviament hem fet el explode de la lletra. Possibles trames que es poden fer servir:

iso03w100 (són rectes, també es pot especificar l'angle)
iso03w100a (són rectes, també es pot especificar l'angle)
kerpele (són diagonals)
plastic (és una graella)
square (és una graella)
ar-brstd
ar-hbone
ar-parq1
brick
dolmit
earth

NOTA: hi ha un problema amb el dxf2gcode: no importa bé les trames de hatching.

Buidat de les lletres: truetype-tracer

Hatch2.png
Hatch3.png

La idea que perseguim és una tècnica general per fer un buidat de les lletres amb qualsevol tipus de font. La solució que es proposava en un enllaç anterior és truetype-tracer, i efectivament funciona.

Descarrego truetype-tracer_3.0-2_i386.deb

$ sudo dpkg -i truetype-tracer_3.0-2_i386.deb (funciona)
truetype-tracer(1)            The Truetype Tracer           truetype-tracer(1)

NAME
       The Truetype Tracer

SYNOPSIS
       truetype-tracer [-?] [-u] [-f font.ttf] 'Text to trace'

       truetype-tracer-dxf [-?] [-u] [-f font.ttf] 'Text to trace'

DESCRIPTION
       truetype-tracer  is used to generate vector outlines of truetype fonts.
       The output format is either G Code meant for use by EMC  (the  Enhanced
       Machine  Controller)  or DXF, a popular drawing interchange format read
       by AutoCad and many other CAD programs.  These generated  outlines  are
       useful  for  running  engraving  machines.  Output is on stdout, so you
       will want to redirect it to a file.

Per tant:

$ truetype-tracer 'hola' > hola.ngc

i genera el codi G-code. Però no tinc control sobre les dimensions. És millor generar el fitxer dxf i aleshores el puc obrir amb el Librecad:

$ truetype-tracer-dxf 'hola' > hola.dxf

i amb el LibreCAD puc obrir el dxf generat, i escalar-lo i aplicar-li una trama (hatch). Sobretot, allò important és que puc escollir el tipus de lletra:

$ truetype-tracer-dxf -f /usr/share/fonts/truetype/tlwg/Kinnari.ttf 'Maria i Pere' > maria_pere.dxf

tabbing: a good way to keep a part from moving. La idea és que si s'ha de tallar una peça no es talla tota, sinó que es deixa una part molt petita sense tallar de manera que la peça queda quieta. Video:

NOTA. Quan genero el dxf a partir del text amb el truetype-tracer-dxf funciona bé. Però quan en el LibreCAD faig el Explode i el hatching, he tingut problemes. Aquests problemes no els he tingut quan he generat el text des del Inkscape: Utiltizar_la_màquina_CNC#Gr.C3.A0fics_vectorials:_treballar_amb_inkscape

Cas pràctic: cartell estil western

Western1.png
Western2.png
Western3.png
Western4.png
Western5.png
Western6.png

Descarrego de http://www.1001freefonts.com/western-fonts.php la font trocadero (no té accents, i no té minúscules). Per instal.lar la font a Ubuntu està explicat a OpenGL#SDL_TTF.

$ sudo su
$ cp -r /home/joan/Baixades/Trocadero.ttf /usr/share/fonts/truetype/500fonts
$ exit
$ sudo fc-cache -fv 

Ja puc generar el dxf amb truetype-tracer:

$ truetype-tracer-dxf -f /usr/share/fonts/truetype/500fonts/Trocadero.ttf 'Rancho Grande' > rancho_grande.dxf

Aleshores ara s'ha de pensar si es vol un alt relleu de les lletres o un baix relleu, per tal de determinar en quina zona he de fer hatching. Recordar també que no cal fer hatching, sinó que es pot utilitzar unes gúbies per extreure la fusta. D'altra banda, tampoc és obligatori fer hatching: potser n'hi ha prou en marcar on van les ombres i la pintura ja s'encarregarà de fer l'efecte relleu. En definitiva, hi ha moltes possibilitats.

En aquest cas escullo que tot el que sigui negre en la font s'haurà d'extreure, i ho faria amb una gúbia, de manera que no cal fer hatching. (el fet de fer-ho amb una gúbia fa que el tallat no sigui uniforme, i això pot ser bo perquè és un efecte artístic interessant).

Un altre tema a considerar són les dimensions. Per defecte hauria d'escollir en el Librecad paper A3-Landscape. El truetype-tracer genera el dxf molt gran. Per veure quan de gran és respecte les dimensions del paper he de fer el File > Print Preview.

Per defecte el Print Preview em dóna l'escala per tal que la imatge ocupi tota la pantalla, i em diu el factor d'escala, per ex, 1:197.614. Això vol dir que he de reduir 1/197 = 0,005 per tal de què ocupi ben centrat el A3.

He de fer el escalatge adequat (Modify > Scale) i després moure-ho a l'origen de coordenades (Modify > Move), i comprovar amb Print Preview que estic amb les dimensions correctes. Gravo.

Ara és el moment de generar el codi g-code. Utilitzo dxf2gcode (LinuxCNC_(EMC2)#dxf2gcode):

$ cd dxf2gcode-read-only/source
$ python dxf2gcode.py

Nota: en el dxf2gcode tinc l'oportunitat de canviar l'origen de coordenades (Options > Move WP Zero), que pot ser més ràpid que haver de tornar a editar el dxf.

En el dxf2gcode fico tots els paràmetres oportuns. Export > Optimize and export shapes, i es genera el fitxer rancho_grande.ngc. És un fitxer de 52000 línies:

(Generated with: DXF2GCODE, Version: PyQt4 Beta, Date: $Date:: 2014-02-11 12:27:10#$)
(Created from file: /home/joan/rancho_grande.dxf)
(Time: Thu May 15 15:58:23 2014)
G21 (Units in millimeters) G90 (Absolute programming) G64 (Default cutting) G17 (XY plane) G40 (Cancel radius comp.) G49 (Cancel length comp.)
G0 Z  15.000 

(*** LAYER: 0 ***)
T1 M6
S6000

(* SHAPE Nr: 0 *)
G0 X   3.568 Y   0.382
M3 M8
G0 Z   3.000 
F150
G1 Z  -1.500
F400
G1 X   3.562 Y   0.467
G1 X   3.558 Y   0.549
G1 X   3.557 Y   0.627
G1 X   3.558 Y   0.696
G1 X   3.563 Y   0.758
...

Ara ja puc obrir aquest fitxer amb el Linux CNC.

És possible que el meu disseny estigui fora de les dimensions de la meva màquina: Program exceeds machine maximum on axis X. Això està explicat més amunt.

truetype-tracer-dxf i accents

$ truetype-tracer-dxf -f /usr/share/fonts/truetype/500fonts/VideoPhreak.ttf 'Mària i Pere' > /home/joan/maria_pere.dxf
$ truetype-tracer-dxf -f /usr/share/fonts/truetype/ubuntu-font-family/UbuntuMono-B.ttf 'Mària i Pere' > /home/joan/maria_pere2.dxf

L'aplicatiu aquest funciona molt bé, si no fos perquè no importa bé els accents. No passa res. Sempre puc fer els accents manualment amb un spline... Per tant, no he de mirar el tema que les fonts ttf no treballin bé amb els accents. És un mal menor.

Buidat d'una salamandra: splines i hatching

Hatching.jpg

Aquí el que volem és, partint d'una figura dibuixada (salamandra), fer un buidat.

El concepte de spline és bàsic. Es tracta de poder fer figures complexes a base de definir nodes. Com més nodes defineixi puc fer una corbatura més precisa. Cerquem a google per dxf cnc examples, i molts exemples que es troben són formes que es poden fresar. Per ex:

Quan obrim amb LibreCAD aquest exemple, veig que tota la salamandra està definida amb nodes (spline). Ctrl-A (select All) per veure els nodes. Segueixo el tutorial:

Primer he de fe Modify > Explode (veure en el tutorial les icones per fer aquestes accions). I després ja puc fer un hatch (veure en el tutorial la icona per fer aquesta acció). Pitjo en següent (les dues fletxetes de sota). Escullo per exemple un hatching ansi31, i ja obtinc la trama.

Salamandra.png

Ara ja puc anar al dxf2gcode i definir la profunditat; i anar al LinuxCNC i fer la simulació per comprovar el que estic fent i que les dimensions entren a dins de la màquina.

Si ara faig jo una prova senzilla i ràpida, per exemple, un cor, entendré per què s'ha de fer le Explode. Suposem que faig el cor amb 15 punts/nodes. Faig un modify > Explode > i Següent (important el següent, les dues fletxetes. Si no, l'operació no està acabada). I penso que no ha passat res... però si faig Ctrl-A, ara veig que la densitat de nodes ja és molt més gran. Ara fer un hatching ja funciona. Crec que si la densitat de punts no és prou forta, el hatching no funciona.

Miro com és la meva salamandra, i mirant els dits de la salamandra veig que vull una precisió de 1mm. Faré servir una broca de 1mm.(o hauria de ser de 0.5mm?)

Problemes amb el hatch... no veig el hatch! La solució és mol fàcil: tenia actiu sense voler el mode Draft (és una de les icones amb lupa que hi ha a la capçalera)

Un cop tinc el hatch, ho he de seleccionar tot, i tornar a fer Modify > Explode, de manera que les línies de hatching es converteixin en entitats. Això és important. Si en el dxf2gcode no em surt el hatching, és que m'he oblidat aquest pas.

dxf2gcode: Short elements. Length of some elements to short! Length must be greater than tolerance. Skipped geometries.

I per tant, no es carrega bé tot el hatching de la salamandra. En el dxf2gcode, la tolerància està definida a Options > Tolerances. Si la meva precisió és de 1mm, una tolerància de 0,1mm hauria d'estar bé. Modificant la tolerància s'ha de veure amb precisió tot el contorn i les línies de hatching.

Ara ja puc exportar a g-code, i importar a LinuxCNC. En el LinuxCNC puc fer tota la simulació i veure tots els camins per fer el buidat de la salamandra. En teoria, l'ull de la salamandra s'ha de conservar amb alt-relleu.

Matriu de punts (forats dels altaveus)

En el LibreCAD hi ha l'eina Single Points. Dibuixo els meus punts.

En el dxf2gcode, com que ja té en compte la implementació de la màquina CNC, ja puc ficar el gruix de la broca, per veure com quedarà finalment la geometria. En el Layers, veig que per cada shape puc escollir el diàmetre de la broca i el Start Radius (no sé què és). Puc afegir una nova tool a: Options > Configuration > Tools Table (compte!, en un dels ordinadors tinc una versió del dxf2gcode que no hi ha l'opció Options > Configuration (maig'14). Això és important perquè puc definir les meves broques, i canvi de broques durant el camí.

El G-Code resultant és bastant entenedor. Per fer un forat:

(* SHAPE Nr: 0 *)
G0 X   0.000 Y   0.000
M3 M8
G0 Z   3.000 
F150
G1 Z  -1.500
F400
(Drilled hole)
F150
G1 Z  -3.000
F400
(Drilled hole)
F150
G1 Z   3.000
G0 Z  15.000 
M9 M5


F150 (Set the feedrate to 150mm/minute)
F400 (Set the feedrate to 400mm/minute)

Crec que la idea és que quan comença a foradar la peça va una mica més lent, i després ja puc anar més ràpid. Si el que es vol és tornar a pujar la broca una mica abans de continuar foradant, potser s'ha de programar manualment, o potser hi ha una opció (TBD).

Touch off. Reposicionar la peça

Si vull fer els forats de la graella de l'altaveu, la referència per dibuixar els forats en el LibreCAD i per fer els forats en la peça de fusta és el centre dels punts. Quan porto el disseny al LinuxCNC, la meitat del cercle queda fora dels eixos X i Y. Això té fàcil solució. He de reposicionar els eixos X i Y amb la comanda G54. Això es por fer fàcilment des de la interfície gràfica amb l0opció Touch off. Fico -50mm a l'eix X i -50mm a l'eix Y, per ex, de manera que tots els forats quedin en la part positiva dels eixos X i Y. Ara ja no protestarà dient que estic fora dels eixos.

Això també seria aplicabe a l'eix Z.

3. So if you're lost, what should you do
Having trouble getting 0,0,0 where you want it for your gcode Start by getting rid of all the sources of offsets

 Move to the machine origin.         MDI G53 G0 X0Y0Z0 (A0B0C0)

 Clear the G92 coordinate offset.    MDI G92.1

 Use the G54 coordinate system.      MDI G54

 Set the G54 coordinate system to be identical to the machine  coordinate system.                  MDI G10 L2 P1 X0Y0Z0 (A0B0C0)

 Turn off tool offsets.              MDI G49

 Turn on Relative coordinate display from the menu

Che Guevara

NOTA: El hatching a vegades és difícil de fer. Només es pot fer sobre closed contours.

Invalid hatch area. Please check that the entities chosen form one or more closed contours.
The bug.dxf file doesn't contain a closed contour, as you may find out by zooming in around the supposed connection areas.

Per fer uns contorns adequats s'ha d'anar amb compte, i utilitzar les següents eines:

Pot ser útil dividir una figura complexa en troços més petits, i puc fer rectes per dividir la superfície en varis troços. Aquests troços han de ser contorns tancats. Sobre aquests contorns tancats puc fer un explode per tenir més punts, i aleshores fer hatching.

Quan faig select contour, si el contorn està ben tancat, se'm selecciona el contorn.

Costa bastant crear contours tancats. Potser el millor és importar al Librecad una imatge del Che Guevara (no cal que sigui vectorial), crear una nova capa, i amb les eines de línies, polilínies i splines anar traçant contorns, que després serà fàcil fer hatching.

També és important fer snap free/snap on endpoints per tal d'assegurar-me de que tanco els contorns.

NOTA: no n'hi ha prou que els contorns estiguin tancats. A més a més, en els punts que s'uneix per exemple una recta i un spline, en aquest punt n'hi ha de faltar cap punt, n'hi ha de sobrar cap punt. Molt de compte en les interseccions. Si no, el hatching no es fa.

A l'hora de fer el hatching hem de tenir en compte el detall que tenim en el motiu. El hatching ha de ser amb més resolució que el detall que hi ha en el motiu, i la broca també. Per tant, m'he de fixar en la resolució mínima que té el motiu, i a partir d'aquí decidiré de quan ha de ser la broca i la distància entre les línies del hatching.

Recordar que en el LibreCAD és convenient utilitzar capes. Per exemple, una capa pels contorns, i una altra capa pel hatching.

De cara a fer el Che Guevara, el millor és partir d'una imatge vectorial svg. Però si només disposo d'una imatge, no passar res. Amb una mica de pràctica eś bastant fàcil i ràpid fer els contorns dibuixant splines. En una capa tinc la imatge, i en una altra capa vaig dibuixant els contorns.

Fitxers molt grans

De moment les proves que he fet amb el Che Guevara són fitxers molt grans, i que el dxf2gcode no carrega.

Coses a fer:

La idea és no generar fitxers grossos.

Fitxers molt grans II

Ull che.png

Ara ja puc treballar amb el dxf2gcode en línia de comandes, i és interessant perquè veig que si hi ha algun problema per la pantalla vomita el problema, mentre que amb la interfície gràfica es queda penjat i no saps si és que està pensant o s'ha quedat penjat.

El primer problema és que he importat un clip art del Che Guevara que he generat des del inkscape. Quan obro aquest fitxer es fica en la capa 0, una capa que jo no puc editar les propietats. He intentat moure'l a una altra capa, però de moment no ho sé fer. El problema és que passar pel dxf2gcode aquest clipart que veni del inkscape ja peta.

Possible solució. Importo una imatge png del Che (Draw > Image) en una capa expressa, que faré IGNORE. I en una altra capa vaig fent els splines i els hatchings. El que he de tenir molt present és que els splines generen molt g-code (com és lògic), i el hatching també. A mode d'exemple, fer un spline de l'ull esquerra i el seu hatching m'ha generat un g-code de 4500 línies (en un dibuix gros que ocuparia uns 25cmx30cm). Imaginem què passaria si fes tot el Che.

Per tant, he de ser conscient de quins treballs són factibles...

Però allò principal és que he trobat la manera correcta de fer-ho, encara que els treballs segurament han de ser més petits i senzills. Una conclusió és que no s'ha d'abusar dels splines allà on es pugui utiltizar formes geomètriques més simples. En aquest sentit, és important aprendre a fer polinínies combinant trossos rectes amb corbes (que encara no m'ha sortit).

Engranatges / gears

Fer un engranatge amb Librecad:

El que he trobat més simple de fer és fer engranatges amb inkscape (hi ha una extensió específica), tal com s'explica a: http://makezine.com/2010/06/28/make-your-own-gears/

Un cop hem dissenyat els engranatges, es pot exportar a format DXF, i s'obre si es vol amb el Librecad, i aleshores es pot acabaar de dissenyar. Llegir bé el link per als conceptes de la geometria dels engranatges, que és important.

Involute gears g-code generator :

$ python gearsgcode.py -n 20 -m 1 -c 0.5 -f engranatge.dxf

Gràfics vectorials: treballar amb inkscape

El inkscape treballa amb el format svg, però pot exportar a dxf. L'exemple interessant seria trobar una imatge vectorial del Che Guevara, portar-la a dxf, fer un hatching de la zona ombrejada, i portar-la al linuxcnc.

Hauria de ser un flux de treball típic de com portar imatges vectorials a una màquina CNC. ==Text amb Inkscape. Flux Inkscape > LibreCAD==ç He tingut problemes amb el truetype-tracer-dxf, o sigui que un mètode alternatiu que va bé és utilitzar el Inkscape. El text, que serà un objecte, l'he de convertir a camins vectorials:

Per veure que realment tenim el contorn de les lletres en forma de camí, hem de seleccionar l'eina Edita el camí pels Nodes (F2), i efectivament veurem que tenim el contorn de les lletres. Ara ja podem gravar com a dxf i obrir-lo en el LibreCAD.

La gràcia dels formats vectorials és que es pot ampliar sense pèrdua de resolució. Pensar bé el tamany amb què vull mecanitzar. Per exemple, en l'exemcple stencil_maria_pere, primer genero les lletres amb el Inkscape i després exporto a LibreCAD. Com que hi ha algun problema en l'exportació, ho arreglo manualment. Després decideixo fer un scale de 2, i això implica fer un explode, que significa arxius del dxf i del cnc molt més grans. Era millor haver l'escalat directament en el Inkscape, abans de fer tota la feina d'arreglar manualment les imperfeccions.

Fer els arxius més petits. Salvar temps

Sol.jpg

Si faig hatching per fer un buidat, he d'intentar fer amb una broca grossa tot el que pugui per tal d'anar més ràpid. Ara bé, el buidat del detall s'ha de fer amb una broca més petita, tenint en compte la resolució que tinc en el disseny.

En el LibreCAD he de treballar amb capes. I cada capa pot tenir el seu hatching, amb la resolució tenint en compte el detall que tinc i la broca que faré servir. A més, al treballar amb capes, en el dxf2gcode s'importaran les capes, i els shapes estaran agrupats per capes. D'aquesta manera, puc definir un tool de 10mm per la capa del mig, i un tool de 1mm per la capa exterior que té el detall. Per tant, estic exportant al G-Code el canvi de tools, amb la comanda T:

(*** LAYER: gros ***)
T10 M6
S6000
...

(*** LAYER: detall ***)
T1 M6
S6000

Drag Knife

Bild 1.png

És per tallar cartró, vinils, pell.

en el dxf2gcode es pot configurar la màquina per drilling o bé drag knife, per tenir en compte l'offset, tal com es veu a la imatge.

A Google Images hi ha moltes imatges de com es construeix la Drag Knife, però no em queda clar la manera com s'uneix tota la peça al collet, ni com s'uneix la peça que talla a la peça principal. Al final sembla ser que amb epoxy n'hi ha d'haver prou.

The stem that goes into the collet is simply a 1/2" OD aluminum tube stock that is press fit into the top plate with a bit of epoxy.
The square peg at the top of the knife holder is slightly chamfered (1/32") and press fit into the bearings. The left over 'D' spaces could be filled with epoxy as a forever solution (I didn't). The bearings used were these.. http://www.vxb.com/page/bearings/PROD/1-2inch/Kit7527 just because I had them laying around. There are much lower profile bearings that would change the holder geometry and make it much smaller diameter although this has no real bearing on function.

Alumini

Per mecanitzar l'alumini s'ha d'anar molt més en compte que amb la fusta o plàstics. S'ha de tenir una calculadora CNC, i s'hauria de conèixer les RPM del meu router. També és necessari treure els chips (amb un compressor d'aire) i refrigerar la peça.

Les broques han de ser de carbide/carbur, del tipus TiAlN. Oblidar-se de les broques HSS o de cobalt.

Scripts python

Són script parametritzables per fer diferents tasques. Per exemple, python.py

Tinc la idea de fer un pocket amb la z varialbe, buidar una casc polar d'una semiesfera. Suposo que he d'agafar el script pocket.py, i afegir un paràmetre Z-variable.

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines