VisiCut manual - t-oster/VisiCut GitHub Wiki

This manual needs work, please contribute if you can. ("Edit" button on the top right of this page)

If you find that VisiCut does not do what it should, please create an Issue instead of documenting the workaround here, as this will only cause confusion and will quickly be outdated.

Loading Files

Directly in VisiCut

Visicut supports the following filetypes: svg, dxf, eps, ls (laserscript), JPG (only for engraving), ...

Please note that some files, especially svg, should better be opened from the Inkscape extension, or must be created with special settings (see below: Application Settings).

Inkscape and Illustrator extensions

Especially when using inkscape, it is recommended to use the VisiCut extension instead of opening the svg file directly from VisiCut. The extension does some cleanup, converts text to path etc.

In VisiCut, select Extras -> Install Inkscape extension... to install the extension to Inkscape. Then restart Inkscape.

After installing the VisiCut-extension you can find it in Inkscape in Extensions > Lasercut-Path > Add to/ Open in VisiCut. If you have selected one or more objects, only these will be sent to VisiCut.

If the installation does not work, for example with Inkscape Portable, copy,,, visicut.inx, visicut_export.inx from the share/inkscape_extension folder of your VisiCut installation (or from to the path shown in Inkscape: Edit > Preferences > System: User extensions.

TODO document the illustrator extension

Application Settings for Exporting to VisiCut

Affinity Designer

Use the following settings in the SVG export:

  • 90 dpi
  • flatten transforms
  • set ViewBox disabled

Corel Draw X8

In the SVG export, set "form options = display attributes" (in German: "Formoptionen = Darstellungsattribute")

If you map by color, it is best to use RGB colors.

Illustrator CC

In the SVG export, set "CSS Properties = Style Attributes".

If you map by color, it is best to use RGB colors.

Rhino 3D 5.0

Export as: DXF R12 Natural

Lasercutting Basics


For each combination of material and thickness, different laser settings (speed and power) are stored for each laserprofile (cut, engrave, etc.).


The mapping determines which objects are cut, marked, engraved or ignored.

It is easiest to map by color, e.g. cut red objects, ignore blue ones and engrave the rest.



The operations like cut, engrave, etc. are not fixed. You can edit them and create custom ones. For example if you cut with too low power, you just mark the material.

The default laserprofiles are:

  • Cut: Cutting through the materials. Vectors are sorted by a chosen sorting strategy.
  • Mark: Leaving markings on materials by cutting with less power or more speed.
  • Engrave: Take a bitmap and "dither" it to black or white pixels (using different algorithms with different results: Dithering algorithms)
    Then make a raster job where every black pixel is "laser-on" and every white pixel is "laser-off"
    Resolution: Resolution of conversion. Lower resolution makes bigger pixels and less vertical lines. Less vertical lines means you might see the actual lines and you cut less deep. See following image, top gradient was 500dpi, bottom 200dpi. Effect of resolutions Using resolution of 100dpi, 200 dpi and 300 dpi (Floyd-Steinberg dithering algorithm): Effect of resolutions
  • Engrave 3d: Take a bitmap and convert it to GREYSCALE. Make a raster-job where every pixel is black=laser 100%, white laser=0% and all in between linearly interpolated.
    The LAOS firmware does not support engrave 3d by default (yet), there is only some old code, converting the raster to a vector job it also doesn't overshoot, making it cut deeper at the edges. I do not know if it works properly, because this mode is rarely used. The Epilog cutters however fully support engrave3d.


You can adjust the settings of every laserprofile. Below are the properties. You can add multiple treatments to one profile, which is useful for cutting very thick material in two steps.

Some settings are only available on certain lasercutters.

  • Power: Which percentage of max power should be used.
  • Speed: Which percentage of max speed should be used.
  • Focus: Focus of the laserbeam. Focus is counted from the top of the material, higher numbers mean greater distance between focus lens and object. Focus -1 means that the focus is inside the material, 1mm below the surface.
  • Frequency: Use low values (500) for flamable materials (wood), higher values (5000) for acrylic.
  • Ventilation: TODO, Whether the Lasercutter should ventilate.
  • Purge: TODO

Positioning, resizing and rotating

Use the Preview Window to graphically move, rotate and resize your job. It should be pretty self-explanatory (such as in Inkscape or Corel Draw): Click on the laser job (drawing) to select it, click again to toggle between move and rotate. Drag to move/rotate, or click on any measurement to edit it.

The same is possible with the Position tab.

X/Y is the distance between the machine origin point (top left corner of the machine bed, if not configured differently) and the reference point your drawing.

The "reference point" control allows to choose which point of your drawing is used for the X/Y settings, e.g., if you want to place the drawing's center at a specific point and not the drawing's top-left edge. (This is not the "startpoint" -- also called "Origin" in other lasercutting software. See below for that).

Setting the start point (Origin)

The recommended usage of VisiCut is to have your lasercutter referenced to the machine bed, so that the VisiCut preview panel corresponds to your machine bed. This is strictly required if you use a camera image.

However, certain lasers also support setting a different origin, usually by manually moving the machine to a certain point and setting it as the new origin (Epilog Zing: Press X/Y Off, move to desired origin, press GO). If nothing is changed in VisiCut, this origin point will then correspond to the zero point of your preview window (typically top-left, see the ruler labels). To set another point in the drawing as zero point, do the following:

  • Make sure your drawing is not selected in the preview panel (click somewhere beside your drawing, such as in the area below).
  • Right-click and choose "set startpoint"

Advanced usage

Using a camera

With VisiCam you can see your lasercutter bed as an image inside VisiCut and use it for positioning your objects. If setup correctly, the precision is within some millimeters. See the VisiCam Wiki for installation and usage instructions.

Example of VisiCut and VisiCam: From preview to lasercut result

VisiCut fetches the image via network from a HTTP server (VisiCam). The server address can be configured in the lasercutter settings, where you can also find a button for auto-detection. The VisiCam server runs on a normal Linux computer and fetches the image from a USB webcam. You can also use the Raspberry Pi 2 with its camera module.

As an alternative to VisiCam, you can also use any IP camera that supports HTTP and JPEG. However, VisiCam has the benefit of automatic perspective correction, so that you don't need to re-calibrate if your lasercutter or camera has moved.

Camera calibration

The camera needs to be calibrated so that VisiCut knows which pixel in the camera image corresponds to which position on the lasercutter bed. example


  • Set up the Camera URL for your lasercutter in Preferences -> Manage Lasercutters -> Edit. Use the Search button to automatically find a VisiCam server, or manually enter the URL like If you open this URL with a web browser, you should see a (JPEG or PNG) image of the laser bed, for example this.
  • You need one sheet of material that covers your whole laser bed, for example a large sheet of paper. In the following, calibration marks will be cut into this material.
  • Make sure you can cut this material with VisiCut and your lasercutter. Better use another small sheet of material for that.

Calibrating the camera:

  • Load a sheet of material that covers the whole laser bed.
  • Select this material in VisiCut. The material settings you have selected now will be used for the following calibration job.
  • Open the lasercutter lid.
  • Options -> Calibrate Camera
  • Choose the profile for the calibration job, usually "cut". This should be the profile you tested before.
  • Number of calibration points: 4 is recommended, a larger number may be slightly more precise.
  • Click on Send calibration job.
  • Run the job on the lasercutter. It will cut four calibration marks that look like crosses with a number below.
  • Open the lasercutter lid. Do not move the material!
  • Click on Update the photo. You should now see the result of the calibration job.
  • Using the mouse, drag each red cross to the corresponding calibration point in the photo. Make sure that the numbers match (1-4 dashes below the cross).
  • Press OK.
  • Test your settings: If you cut a rectangle somewhere, it should match the photo within a few millimeters.

TODO: Please test these instructions and add some screenshots where it is helpful.

Further recommendations:

  • Thick architect-style cardboard is well suited (Finnboard - German: Finnpappe). You can reuse the material by placing a Post-it sticky note over the engraved areas.
  • For large laser cutters, the camera resolution is not fine enough to see the calibration marks well. In this case, place colored Post-it sticky notes such that the corner is at the "cross" of the calibration mark. These stickers are easy to see on the camera image.




Importing and exporting settings

The settings are stored in a .visicut folder in your home directory (~/.visicut for Linux/Mac, %USERPROFILE%\.visicut for Windows).


See also How-to-add-default-settings-for-your-lab

Lasercutter properties

These properties are often specific to the device type that you use.

IP and Port: If you get Timeout or other errors, please make sure you can ping your lasercutter. The standard port should be correct, you can test it a port scanner like nmap. For Epilog laser devices, USB is not supported, and due to firmware limitations you have to unplug the machine's USB port and switch it off and on again before the Ethernet port will work.

Additional space per Raster line: How much the laserhead overshoots the drawing so it can accelerate and deaccelerate. This makes sure the laser doesn't engrave deeper towards the edges because of speed differences.

Debug output file: If you fill in a filename here VisiCut will create a text file with the code that's send to the lasercutter (or other data useful for developing, depending on the driver). This file will be placed in the same folder as the VisiCut installations, if you have the permissions. Otherwise you can specify an absolute path as C:/Users/Myname/Desktop/visicutdebug.txt on Windows or /home/myname/visicutdebug.txt on Linux.

Usage with a Mac

  1. You need to have administrative privileges on the computer you're working on to set this up (but shouldn't need them after the initial set-up.)
  2. Use the Platform independent ZIP.
  3. Unzip and move folder to Applications folder.
  4. Open folder and ctrl-click the .MacOS file.
  5. Choose Get Info and U=use the Open With drop down to select Other.
  6. Switch to All Applications and choose Terminal from the Utilities folder.
  7. Close the Get Info window.
  8. Double-click Visicut.MacOS to open VisiCut. The first time, you will get a warning about it being unsigned. Go to System Preferences and then to Security. There will be a note there about VisiCut. Tell the computer (twice) that it’s ok to run this and then close System Preferences.
  9. Assuming you're using a Mac laptop and thus have no ethernet port, get a USB to ethernet adapter and plug it into one of your USB ports.
  10. Open System Preferences and select Network.
  11. Select AppleU...Adapter.
  12. Set ConfigureIPv4:to Manually.
  13. Set IP Address: to almost the same as your laser cutter but make it one or two off in the last set in the dotted quad (so if your laser cutter has the default, you could use Your computer must have a dif- ferent address from the laser cutter but the two need to be in the same part of the network.
  14. Set Subnet Mask:to
  15. Click Apply.