Created by: gwideman, Jul 13, 2012 3:00 am
Revised by: gwideman, Sep 29, 2012 10:49 pm (12 revisions)

Laser-units-P7080096-15.jpg

Background

This page is the entry point for several pages of notes regarding laser cutters and related software.
Recently I joined Makerplace, which has shops for working with wood, metal, fabric and electronics. Makerplace has several computer-controlled laser cutters, which are highly useful for cutting intricate shapes from sheets of thin plywood, acrylic plastic, and other thin materials.
The laser cutters are relatively inexpensive Hurricane brand units, originating in China. They are driven by software called LaserCut for Windows.

LaserCut software

This software was evidently written in Chinese, and some of the UI is rather roughly translated, as is the manual, so its operation is somewhat mysterious.
LaserCut provides facilities for creating the drawings for cutting and engraving, along with associated settings for laser power and speed. It is also responsible for composing this data into instructions that the laser cutter unit understands, sending them to the cutter, and running the cutting/engraving job.
Because LaserCut's drawing environment is not fully-featured, and also because the Chinglish UI is frustrating, in actuality many users prepare their drawings in CorelDRAW, AutoCAD or Adobe Illustrator, and import those drawings into LaserCut only for preparing and sending the final output instructions to the cutter.
Indeed, LaserCut anticipates this mode of operation -- it provides plug-ins for CorelDRAW and AutoCAD so that LaserCut's functionality can be launched from there, and treated more like a print driver than as a separate application. At least in theory.

VisiCut

Shortly after joining Makerplace I ran into fellow member Jan, who is in town on sabbatical, and is closely associated with the VisiCut project, an open-source project which seeks to provide a uniform and intelligent interface to a wide range of laser cutters. As part of the quest, Jan is interested in the Hurricane laser cutters, as they represent a class of unit whose utility is held back by its obtuse software.

Question 1: Adapt VisiCut to drive Hurricane?

So arose the question -- "how feasible would it be to adapt VisiCut to drive a Hurricane?"
At a first naive glance, it seemed that it ought to be straightforward, as the PC simply talks to the Hurricane over USB, and surely the communication exchange would consist of some simple variant of the "obvious" vocabulary for laser cutters -- move the laser, turn it on and off, adjust the power and speed, and so on (and as already understood by the Visicut team, for Epilog cutters).
It turns out not to be so easy. The notes here document what we've learned.

An additional wrinkle: The LaOS project

There is an open source project called LaOS (Laser OS) to build a laser cutter controller board, and its operating system software. (Blog, Wiki). This becomes salient because if the software and controller of lasers such as the Hurricane are too obtuse, it could become worthwhile to substitute an entirely different controller. The VisiCut project is already collaborating with the LaOS project, so VisiCut + LaOS board and software could become a solution for some scenarios.

Question 2: What features does laser cutter control require anyway?

If it's actually reasonable to consider replacing existing controller cards, then as a possible consumer of such replacements, what controller features might be on the requirements list? Studying the Hurricane's Leetro Lasercut software sheds some light on one company's approach.

Overview of Notes

The notes here cover several branches of investigation:
  • Overview of the electronics in the Hurricane.
  • The Hurricane's Leetro controller. The characteristics of the USB interface to the laser unit are determined by the controller. This turns out to be the Leetro (aka Step-Servo Co) model MPC6515, which is used in quite a few laser cutters from China, and is also sold by itself.
  • Notes on the LaserCut software
    • Software overview: Description of the functions and scope of the LaserCut software
    • Software components: description of the Lasercut software structure, the constituent components and their relationships.
    • PrintDriver: discusses this DLL which provides plugin "print directly to the cutter (sort of)" functionality for CorelDRAW and other applications
    • Driver DLL APIs: This page examines the roles and APIs of the DLLs which drive different models of laser cutter, particularly mpc05ls.dll and CommM05.dll which pertain to the MPC 6515 controller card.
    • Drawing DLLs COM API: This page accounts for the DLLs which provide Lasercut's drawing environment
    • Possible interventions: Having examined all parts of the application structure in the above pages, this page discusses the merits and difficulties that a custom application would encounter in trying to interact with different points in Lasercut's processing steps.