sábado, 20 de junio de 2015

From Thoughts to Photons :: Going from CAD to LASERING in 60 seconds

By Juan Julio Peña M.

Safety First

Laser radiation (light) from a hobby-grade laser cutter CAN and WILL cause permanent eyesight damage if it hits the naked eye. Reflected laser radiation is equally harmful. A bare metal or glass 3D printer bed is, for all safety concerns, a huge reflective surface that could act as a light collector lens with unexpected beam exit paths.

Always wear eye protection rated for the laser wavelength that it's been used. Even if you encase the build area with laser-shielding panels, always use personal eye protection.

An electric key-switch cost less than 10 US dollars and can prevent accidental laser activation. It's a must-have if your laser is permanently mounted/hardwired. Remember: Other people could use the printer and activate the laser without even knowing it.

Laser cutting is a thermal process with great heat and smoke output. KEEP A FIRE EXTINGUISHER NEARBY. At the very least it should be rated for A & C fires. Dry-chemical extinguishers will suffocate the fire and most likely kill your electronics for good, clean agent extinguishers are better on that regard but could be harmful to the ozone layer. Consult your local fire safety code.

PROCEED AT YOUR OWN RISK. I'm not endorsing nor vouching for the safety characteristics of any of the products/methods mentioned on this site.


What you need:

  • Some 2D or 2.5D CAD software that can export to .DXF file format.
  • Dxf2Gcode (http://sourceforge.net/projects/dxf2gcode/) - I've successfully tested the process with the 2015-6-9 build, let me know if future versions break compatibility).
  • A 3D printer/CNC mill with a laser attachment and controlled by Marlin compatible firmware. Non-marlin derivatives could work, but I haven't tested it. I'm using a RigidBot 3D printer (http://rigidbot.com/) with an L-CHEAPO laser cutter tool (http://robots-everywhere.com/re_wiki/index.php?n=Main.LCheapo) that I got from 3DSupplySource (http://3dsupplysource.com/L-Cheapo).
  • Control software for your printer that wont' freak out when it sees G-Codes coordinates placing the print/tool head below the bed height or that never extrudes a single mm of filament. So far PrintRun Pronterface (http://www.pronterface.com/) works fine for this, CURA and Repetier Host doesn't. - Funny bit: Repetier Host will still give you a time estimate for the job to complete. Let me know if you find another control software that works.
  • These little files (http://robots-everywhere.com/re_wiki/index.php?n=Main.LCheapoDXFFiles) that modify Dxf2Gcode behavior (big 'thank you' to Matteo for hosting them). They are plain text files, don't be afraid to look under the hood :-)
    • config.cfg goes to your config directory (rename the original config.cfg for safe keeping). This file sets the default settings for any DXF you process trough Dxf2Gcode. The ones I put there are:
      • Start the laser at your Z end-stop hardwired height.
      • Do 5 passes for each cut, taking away 0.05 mm from the top surface each pass.
      • Move the laser at 3,000 mm/minute while cutting.
      • Move the laser at 200 mm/minute when not cutting (laser is OFF).
      • Change the meaning of the "%" character when found inside a DXF layer name (more about that down below).
    • Laser Cut Heater.cfg goes into your postpro_config directory and will generate ready-to print G-Code for a laser hooked to your heater port on the first installed extruder. It will set your laser height at 85 mm above the hardwired Z end-stop height. (You should edit those 85 mm to whatever is YOUR optimum focusing height).
    • Laser Cut Fan.cfg also goes into your postpro_config folder and -you guessed- will do the same but for a laser hooked to the part fan port on your first extruder. But it does something extra:
      • Since the laser intensity is regulated by software on that port, it will give you a 10 seconds pause with the laser set at 2% of it's full power intensity parked over the bed origin (X0,Y0) spot. This way you can visually verify and correct the start point before each job.

How-to (the short version):

  1. Set your CAD app to draw in mm or inches (most apps will default to meters, keep that in mind).
  2. The 0,0,0 coordinates origin of the CAD file will coincide with your printer's bed homing position. Also keep that in mind when placing your drawings.
  3. (Optional) You can have laser settings pre-set from the CAD file by renaming the layers using the notation explained at http://sourceforge.net/p/dxf2gcode/wiki/LayerControl/ - The provided config.cfg changes the ":" to "%" so that Dxf2Gcode becomes compatible with the official DXF format definition that doesn't allow ":" as part of a layer name. For example, instead of using "Md: 1" you now use "Md% 1". Per the definition, layer names can't be longer than 256 characters, BTW.
  4. Export you drawing as a DXF file.
  5. Open your drawing in Dxf2Gcode. If the drawings looks funky go back to your CAD app and make liberal use of the explode/decompose command to reduce it to lines, arcs and splines. Hatches and text objects are not supported by Dxf2Gcode at this time, so you need to explode/decompose those as well.
  6. (Optional) Inside Dxf2Gcode you can select shapes or entire layers and change the laser settings for that selection. Settings are in the "layers" tab (even when you are not selecting an entire layer). Removing the check-mark will ignore the selection for G-Code output purposes.
  7. Go to "Export" menu and choose "Export Shapes". You'll now see two new G-Code flavors under the "Save as type" menu.
  8. Load the exported G-Code into PrintRun Pronterface.
  9. Put on your laser eye protective gear.
  10. Hit print and enjoy :-)
  11. (Optional) If you are going to be re-printing the same G-Code in a series (let's say you are engraving 300 wood boxes with the same design, or you are cutting/engraving very thick materials, you might want to comment out the first "G0 Z   0.000" on the exported g-code (should be around the 5th line of the file) so that the printer doesn't lower the head/lens at the start of each print.


-- This is work in progress, more text and diagrams coming soon --


So.. lately I've been experimenting with small scale additive manufacturing on a robotic Cartesian system (which is a fancy way to say that I've been geeking out with a desktop 3D printer) and it has been brought to my attention that once you get computerized control over the X,Y & Z planes additive manufacturing is just a fraction of all that you can do.

Think about it and you will see the same underlying principles applied to all CNC CAM techniques, both additive and subtractive. In fact, is not uncommon to find 'transformer machines' that can go from one manufacturing technique to another just by switching out the tool-head. Check this obscenely oversimplified table:

Controlled Axis Example Machine Usual initial design software tool
CNC Lathe
2D Cad Software
Old-school large format plotter
2D CAD software
Laser/Plasma/Waterjet cutter
2D CAD software
CNC Mill / Router / Laser engraver
2.5D CAD sofware
3D Printer
3D CAD Software
4 or more
4 or 5 axis robot miller
3D CAD Software

As you can see, control wise, there isn't that much difference between a CNC Mill and a Laser Engraver, the main difference between them is that on the first the cutting action is made by a rotating drill bit attached to the spindle and is physically touching the work piece, while on the second the cutting action is done by focused energy coming out of the lens, itself attached to the laser housing. More-so, both should remain at a certain (supposedly) constant distance from the workpiece. For the mill that distance is called "Tool Lenght" and on the laser it's called "Optimal Focus Distance".

To clarify, take a long look at this diagram:

How it works

Dxf2Gcode is mostly designed for CNC Mills and it's cousins. In essence the provided "post-processor" files take a design originally meant to be milled and introduce some changes into the output to account for the "minimal" differences between milling and laser engraving/cutting.

Ideally, everything happens in this sequence:

  1. The designer creates the CAD files assuming that the top surface of the work-piece is always at 0.00 Z height. This way the design becomes independent of the final "Start Mill Depth", as it may change at production time.
  2. At production time, the Laser operator already knows both the "Optimal Focus Distance" for the Laser and the "Start Mill Depth" for the Workpiece, and add them together to get the "Focusing Offset" or "Net Initial Focusing Height". 
  3. This offset is either set-once-and-forgotten within the post-processor file or is changed on a case-by-case basis by editing the G-Code output (the lines dealing with the "Focusing Offset" are clearly marked, just open the output with a text editor and will be easy to spot.
  4. The output G-Code tells the printer to raise the Laser to the operator determined "Focusing Offset" and re-programs that height as the new virtual 0.00 Z height.
  5. The design is cut/engraved as usual.
  6. Once finished, the "Focusing Offset" is de-programmed from the printer and the machine is once again ready to be used either as a printer or as a laser tool. 

Dxf2Gcode Settings Translated

Since Dxf2Gcode's interface is designed with CNC Milling in mind, some mental translation needs to be done in order to correctly alter the lasering settings, as follows:

Sensible Value
Tool Number (drop list)
The extruder/fan where your laser is getting power from.
"1", for single extruder printers.
Could be changed to "2" but you need to edit the post-processor files. It's possible to run dissimilar lasers side-to-side this way.
Z Retraction Area
The laser beam can "disappear" on command, so it doesn't need to physically retract like a milling drill.
Z Workpiece Top
As explained before, the CAD is assumed to be workpiece agnostic, so leave it at 0.
Z Infeed Depth
How deep can you laser cut/sublimate cleanly in a single pass without excessive smoke or material deformation.

This should be a negative number.
Start with your focused spot diameter, adjust up/down depending on the workpiece material light absorption properties.
Z Final Mill Depth
Measuring from the workpiece top, how deep you want your cut.

Should also be a negative number.
If larger than the "Z Infeed Depth" extra passes will be generated as needed, each one deeper than the previous.
Feed Rate XY
How fast will travel the laser over the workpiece while it is cutting.

This number is in mm/minute.
As fast as possible while still achieving the desired "Z Infeed Depth" for the given material.

Anything slower will produce rough / smoked / over-burn edges.
Feed Rate Z
The post-processor uses this as the speed to move the laser housing while the laser is turned off.

Should be slow enough to avoid laser over/under shoots due to unwanted inertia or electronics/firmware reaction latency.
Start fast and adjust downward until you get precise start/stop points for each shape.

Could be considered as the Draft vs. Final Quality setting for the engraving.

Dxf2Gcode GUI

· config.cfg
· Post-processors
· Storing the settings inside your CAD file
· Batch conversion

Mastering Coherent Light:

  • Material Light Absorption
  • Material heat conductivity
  • Focus distance, beam geometry and smoke: Going fast versus going deep

Further reading:

miércoles, 26 de octubre de 2011

De 'fofo' a 'ripeado' (...and back, and forth)

Ok, esto se suponía que lo iba a postear a principio de año, pero más vale tarde que nunca. De antemano les pido disculpas por la poca información sobre la dieta. No soy muy metódico con eso. Algunos amigos hasta pesan cada porción de proteína, carbohidratos y grasa por separado y llevan un diario full (diario físico: papel y lápiz!!). Yo no me complico tanto. Me pongo una estrategia general e intento seguirla. Quizás por eso los resultados no son tan dramáticos, pero ya uno tiene demasiado estrés en el día a día.

Salvo que se indique lo contrario, todas las fotos y medidas fueron tomadas en frío, o sea, sin haberle lado a los hierros o hacer cardio ese día.

domingo, 21 de agosto de 2011

Directamente Proporcional

En cierto modo me duele admitirlo, pero hoy mientras me ejercitaba en el parque al fin me convencí -o mejor dicho, dejé de negarmelo. La atracción inicial que puedo sentir por alguien tiene una relación directamente proporcional a sus abdominales e inversamente proporcional a su panza. Ahí está, al fin lo he dicho !

¿Estoy siendo superficial? Si, totalmente. ¿Honesto? Aún más! El intelecto y la personalidad importan, pero el amor entra primero por los ojos. Y los hombres somos increíblemente visuales.

Fotografías obtenidas bajo licencia Creative Commons. Fuente 1, Fuente 2.

viernes, 18 de marzo de 2011

Jingle de Claro República Dominicana

Recientemente la telefónica Claro de República Dominicana ha sacado al aire una campaña publicitaria con un jingle super pegajoso. Estuve preguntando y nadie me supo decir dónde conseguir una grabación "oficial" del mismo, así que hice una yo mismo de la radio.

La voz del cantante se me hace muy conocida, no se si será Rando u otro de los sospechosos habituales, pero la verdad que hay que felicitar al talento creativo que estuvo detrás de la pieza.

"Hoy desperté pensado en tí,
y recordé que no estabas aquí.
Yo sólo se que aunque estés lejos,
siempre podré tenerte aquí.

Todo el día yo me pregunto
¿cuántas veces pienso en ti?
He tratado de contarlas
y no llego al fin
(y no llego al fin).

Hay tantas cosas que quiero decirte,
a toda hora puedo hablar contigo.
Lo que yo quiero es tenerte cerca,
que tú me escuches no importa el motivo.

Que no hay distancias que nos separen,
Llegar a tí es mi único destino.

Cuando yo quiero puedo estar contigo,
Para alcanzarte tengo muchos caminos.
Oohh uuuoo, oohh uuuoo.

Hay muchas maneras de decir lo que sientes,
Claro, la red donde todo es posible.

Desde que consiga una grabación de mejor calidad veré como la pongo por aquí, porque se que somos muchos los que nos identificamos con la pieza y estamos detrás de la pista de audio para ponerla en nuestros celulares.

miércoles, 2 de febrero de 2011

Habemus Domus !! (Parte 2)

A estas alturas de juego ya has decidido que vas a comprar (vs. alquilar), has escogido una institución de financiamiento y sabes cuánto podrías financiar en ella, e imagino que ya has hablado con tus padres, familiares cercanos y/o espos@ para ver si te pueden ayudar financieramente (algo muy común, por cierto). Si encima de esto ya has diseñado y estás ejecutando un plan de ahorros es bastante probable que desde ahora puedas calcular cuánto dinero dispondrás para invertir a la hora de la compra.

Aquí viene la parte interesante: ¡Ese número no es tu precio máximo de compra, ni siquiera remotamente!

domingo, 30 de enero de 2011

Habemus Domus !! (Parte 1)

Después de un período aproximado de 2 años de ejecución y sabrá Dios cuantos más de planificación, al fin estoy a punto de cumplir el sueño de tener techo propio. Si todo va bien, me deben entregar las llaves en unas dos semanas. Ha sido un viaje largo y con muchos giros, sorpresas y desvíos, pero ya casi llego a feliz término. Fueron muchas las noches en vela, las conversaciones con amigos, charlas con mis familiares y viajes a bancos, amén de una o dos relaciones sentimentales disueltas por diferencias serias sobre el tema. Durante el proceso creo haber aprendido varios puntos que le pueden servir de ayuda y motivación a los que están considerando la idea, así que sin más preámbulo...

Consejos para el que busca adquirir una vivienda:

martes, 30 de marzo de 2010

Porciento de Grasa

Ayuda motivacional para los que se preocupan de su porciento de grasa corporal. Tomado de AskTheTrainer.com

Los porcientos de grasa y su categorización, para hombres según rango de edad:

Y para el que piensa que el porciento de grasa es algo púramente estético:

martes, 2 de febrero de 2010

How Not to Date (Me)

Let this be counted as DOI part 3. Some pointers on things and attitudes that I find either mood killers or all the way deal breakers. Maybe you can relate as well.

  1. (Don't) Be needy/over-eager to start a relationship. Stealing from certain TV comedy tittle, please "curb your enthusiasm ". I don't know about most people, but no matter how good the first impression was, I still need time and old-fashion interaction to evaluate a potential relationship with somebody.
  2. (Don't) Be submissive. I'm not a submissive person, and as a personal taste, really can't see myself on a relationship with somebody whose default answer is "whatever you say is fine with me".
  3. (Do) Allow for both of us to meet at the middle. Don't rush going trough the motions. If the interest is mutual so will be the signs. Make sure to give me signs that you are ready to take things to the next step and wait for signs of my own before you commit a relationship faux pas. I.e., suggesting to start dating exclusively right from the first date. See point num. 1
  4. (Do) Be honest about your own emotions and intentions. If you don't see relationship potential between us, then please say so. If all you are looking is for something casual, also say so. That's a courtesy you can expect from me if the tables where turned around and is the right way to save a friendship. Doing otherwise is a sure way to get yourself into the Persona Non Gratae list.

domingo, 10 de enero de 2010

DOI - Part 2

¿Por qué buscamos a alguien?

Para que al final de la semana, cuando se acerca el lunes y hay que volver a trabajar, y no estás en ánimo de salir a conocer gente nueva... para en ese momento poder llamar a ese alguien especial, pasar por su casa (o regresar a casa) y terminar el domingo en un sofá, acurrucado y en silencio, sabiendo que hay alguien que tiene un lugar fijo en tu corazón y él/ella en el tuyo.

¿El físico importa? Claro, pero más importa esa noche tranquila de domingo.

viernes, 13 de noviembre de 2009

Paz y Guerra

A próposito de mucho y nada:

Hace Calor, Hace calor
Yo estaba esperando que cantes mi canción
y que habras esa botella y brindemos por ella
y que hagamos el amor en el valcón

Mi corazón, mi corazón
es un músculo sano pero necesita acción
dame paz, y dame guerra
y un dulce colocón
y yo te entregaré lo mejor

Aaaaa Aaaaa

Dulce como el vino
Salado como el mar
princesa y vagabunda
garganta profunda
sálvame de esta soledad

Uiuiui uiuiu
Uiuiui uiuiu
Aaaaa Aaaaa
Uiuiui Aaaaa

Hace Calor, Hace calor
Yo estaba esperando que cantes mi canción
y que habras esa botella y brindemos por ella
y que hagamos el amor en el valcón

Mi corazón, mi corazón
es un músculo sano pero necesita acción
dame paz, y dame guerra
y un dulce colocón
y yo te entregaré lo mejor

Aaaaa Aaaaa

Dulce como el vino
Salado como el mar
princesa y vagabunda
garganta profunda
sálvame de esta soledad

Uiuiui uiuiu
Uiuiui uiuiu
Aaaaa Aaaaa
Uiuiui Aaaaa

Hace Calor, Hace calor
ella tiene la receta
para estar mucho mejor
sin fruto y sin prisa
me entrega su sonrisa
como una sacerdotiza del amor

Luna de miel, luna de papel
luna llena, piel canela
dame noches de placer
habeces estoy mal,
habeces estoy bien
te daré mi corazón
para que juegues con el

Aaaaa Aaaaa

Podrían acusarme de
que es menor de edad
iremos a un hotel
iremos a cenar
pero nunca iremos juntos al altar

Uiuiui uiuiu
Uiuiui uiuiu
Aaaaa Aaaaa
Uiuiui Aaaaa

Uiuiui uiuiu
Uiuiui uiuiu
Aaaaa Aaaaa
Uiuiui Aaaaa

"Hace Calor" de Los Rodriguez / Enanitos Verdes

lunes, 9 de noviembre de 2009

Declaration of Intent

Buscando material para otro post, encontré algunos datos curiosos sobre las costumbres y los rituales de cortejo humano en otras culturas. Lo siguiente son generalizaciones, teniendo en cuenta que siempre aparece alguna excepción a la regla.

En China
  • Las citas casuales no existen. Toda cita tiene una segunda intención clara y precisa: Matrimonio.
  • La forma más común de conocer parejas prospectivas es una cena informal entre amigos. Quién organiza la cena tiene una idea previa de quién pudiera atraer a quién y se asegura de sentarlos con una o dos personas de por medio, nunca uno al lado del otro. De ahí en adelante la química y las habilidades conversacionales de ambos tienen que hacerse cargo de hacerlos notarse.
  • Después de la primera cena informal, si la joven asiente a una "primera cita" es que ya te considera un candidato viable para matrimonio. Si accede a una segunda cita, hay posibilidad real de matrimonio. La tercera cita implica que ambas partes tienen intenciones de casarse en un futuro no muy lejano.
  • La mayoría de la población china soltera (un 60%) considera que la virginidad es un requisito para el matrimonio.
  • No obstante, una "buena muchacha" estará más que dispuesta a irse a la cama en la segunda o la tercera cita. La oferta del acto sexual se considera un acuerdo formal (¿cómo se traduce "binding contract"?) y debe ser respondida como tal.
  • Si una muchacha te invita a conocer a sus padres, especialmente a su madre, te está invitando a formalizar el matrimonio. El conocer a los padres tiene la misma carga simbólica que el intercambio de anillos de compromiso en la cultura occidental.
En Vietnan
  • La forma más aceptada de iniciar una relación es pidiéndole a alguien que te presente a sus padres. Toda visita a los padres va acompañada de regalos y presentes tales como vinos y flores para la familia.
  • Después, y solamente despúes, de múltiples interacciones con la familia de la muchacha es socialmente aceptable que salga en una cita con un hombre.
  • El hombre debe iniciar y planificar la primera cita, nunca ella.
  • Ella debe hacerse de rogar. Demostrar interés inmediato, incluso durante las primeras citas, es un signo de inmoralidad.
  • Una invitación al cine es totalmente inmoral como primera cita (¿obscuridad y cercanía física?). Igualmente, los PDAs (Public Displays of Affection) son algo inexcusables antes del matrimonio.
  • Evitar a los padres de la persona que te interesa es una gran falta de respeto y te puede costar la relación.
  • Formalizar una relación es un proceso de semanas y hasta meses de conocer y conquistar a la familia. Pero si el hombre espera demasiado para declarar formalmente sus intenciones a los padres se está cerrando las puertas al matrimonio.

Aquí comienza Declaration of Intent (DOI), una serie corta de artículos breves sobre las relaciones interpersonales y el arte de las citas.

Foreing Teachers Guide to Living and Working in China
Vietnamese Dating Etiquette

domingo, 1 de noviembre de 2009

El Chivo

Las respuestas correctas:
  1. Entre 20 y 40
  2. Atractivo
  3. Clean-Cut
  4. En forma
  5. Independiente
  6. Inteligente
  7. Seguro de sí mismo (y se nota)
  8. Out going
  9. Opinioned
  10. Atento al detalle
Condicio Sine Qua Non