Skip to content
Warning

This documentation is in active development. Content is being updated as feedback is reviewed. Your patience is appreciated.

Submit documentation feedback with the widget at the bottom-left of this window or by emailing [email protected].

Open a support ticket with the widget at the bottom-right or by emailing [email protected].

MillMage 0.9 Release Candidate: Pro Features Are Here!

Our MillMage 0.9 Release Candidate is available now!

With this RC, we've added several Pro features, including V-Carving, Relief Carving, and True Nesting. We've also got new additions available to both Pro and Core users, including Centerline Trace and Multi Page projects.

Download MillMage RC 0.9.00 Here

Note

True Nesting, Centerline Trace, and Multi Page support will all also be coming to the next version of LightBurn.

Since the launch of MillMage Core in February, our developers have been hard at work getting these features ready, and many of you have been hard at work bugging them to do it faster. We appreciate your efforts — they needed the extra motivation.

Now, to get MillMage Pro the rest of the way out the door, we need your help to test version 0.9 and report any bugs you encounter by email or on our forum.

Just as with LightBurn RCs, you can install MillMage RCs side-by-side with the current official release. That means if you encounter any workflow-breaking bugs in the RC, you can quickly switch back to the official release to keep working.

If you are currently using MillMage with a Core license, head to HelpLicense Management and click the Trial Pro button to get access to all Pro features for two weeks. We will extend Pro trials for our existing Core users for the duration of the 0.9 RC period.

V-Carving

V-Carving is now available — need we say more? Probably not, but we will anyway.

V-Carving is a method of dynamically adjusting the height of an angled V-Bit to perform variable-width carvings with precise details that you can't achieve with a standard end mill. It's commonly used in sign making, decorative engraving, and object personalization.

V-Carving in the Preview window

3D Relief Carving

Relief Carving utilizes a grayscale depth map to carve a three dimensional object into your material, varying depth based on shades of gray in the source image.

We've added not one but two 3D Relief Carving operations — Roughing and Finishing. Set up your Roughing pass to clear out the bulk of the material quickly, then use a Finishing pass to carve the fine details.

3D Relief Carving in the Preview window

3D Model Import

But where to get your depth maps? There are plenty of options for sourcing depth map images directly, but if all you have handy is an STL or other supported 3D file type*, we've built a solution directly into MillMage.

Go to FileImport or drag and drop your STL file into your Workspace, then adjust its orientation and other parameters, and convert it to a grayscale image ready for Relief Carving.

Demo of the STL Import Process

*Note: we currently support .3mf, .amf, .obj, .off, .ply, and .stl file types.

Texturing

Our final new operation 0.9 is Texturing, which carves patterns into your material at varying depths. You can control the depth, length, and angle of the carving, among many other options.

Texturing in the Preview window

True Nesting

Laying out graphics for maximum efficiency can result in huge savings in both job runtime and material costs — it's also just plain satisfying. With nesting, MillMage automatically arranges objects for you.

We implemented Quick Nest in our initial release — it's blazing fast, but only nests objects based on their bounding boxes. True Nest goes a step further (and takes a bit longer), arranging objects not by their bounding boxes but by their actual contours, and resulting in much more efficient layouts.

You can choose from four different optimization levels that control how long MillMage will spend calculating the most efficient layout. You can also choose to stop the calculation and use the current layout at any point in the process.

Demo of the True Nesting process with assorted aquatic themed graphics

Centerline Trace

Rather than tracing the outlines of an image, Centerline Trace produces single lines running along the medial axis of traced shapes. It's great for tracing logos, text, or sketches, and is especially valuable for generating vector graphics usable with a CNC router.

To use it, right-click an image in your Workspace and select Trace Image, then toggle on the Centerline Trace switch.

Demo of Centerline Trace of the MillMage logo

Multi Page

We now support projects with multiple pages. You can create, select, re-name, delete, duplicate, and adjust settings for pages using the controls at the top of your Workspace, or in the new Pages Window.

Demo of a Multi Page project with the front and back of a sign

Other Notable Additions

  • MillMage can now directly connect to and control CNC routers with Duet controllers over HTTP.
  • Click the View Paths button in the Job Control Window to see the toolpaths MillMage will generate and send to your machine overlayed in your Workspace.

Changelog

Click to Read our Full Changelog

Existing Feature Updates

  • Start point drawing improvement
  • Map3D faster rendering
  • Made 'Units' toggle clearer
  • Another ~6% speedup
  • More optimal raster pocket traversal
  • Added Relief operation
  • Cached operation outputs - much faster cut build / preview cycle
  • Better partial redraw logic for preview/sim
  • Added new controllers to drop down menu, with updated gcode defaults as a result.
  • Adding project out of bounds checks to account for being over the machine limits with the project depending on the coordinate offsets.
  • Control Mode drawing improvements
  • Created a dialog To edit Workpiece Origin Coordinates from the Move Widget
  • Allow read of simulation values for custom gcode machines if they are GRBL flavour.
  • Cleanup code for improper use of CutBuilder Pointer in the static sim widget
  • Improvement to Operations View to show warnings and errors and hint info.
  • Added tool drawing to 3d preview
  • Improve preview interaction rate
  • Optimize Fluting paths
  • Improved depth sim speed for tapered bits
  • Allow Cut Settings values Start Depth and Final Depth to be entered and kept as a percentage instead of in specific units.
  • Changed the Light Mode, Preview Travel Move - Line Color to the same blue as in Dark mode to be more consistent and different from Cut moves.
  • Select when pasting from other apps
  • Change Framing to handle Tool Offsets for Framing according to Cut Type Used and added ability to frame selected shapes.
  • Save & restore Undo History position & size
  • Changed QNumEntry to allow comma or dot for the decimal place and ignore previous commas and dots, show thousands separator as thin space.
  • Show 'Cmd/Ctrl-Arrow:' instead of 'Ctrl-Arrow:' in settings to indicate Mac command.
  • Filter path & weird chars out of the document title in exported AI files
  • Save simulation quality setting with project
  • For V-carve, if startDepth is not zero, drop slower
  • Increase the font preview limit to 4000 fonts, speed be damned
  • Control Mode, added GCode search options and jump to start of Operation in the right click menu of the GCode List.
  • Allow cut, copy and paste of CNC Operations in the Ops Panel
  • Update to latest VC Redist and remove unneeded version from installer
  • Break apart and Auto-join now preserve tabs
  • Improve error message when running Preview or Control Mode or job, and there is nothing to output.
  • Added custom shortcut keys for user defined macros.
  • Don't validate numeric fields on each typed character
  • Add app version number to prefs
  • Change the Export GCode "Tool" column to use the tool's Display Name instead of diameter/type
  • Double-click in node edit to convert to path
  • Highlight the current preview texture
  • Improve theme so selected items and progress bars retain part of their original blue color instead of turning white for light theme and black for dark theme.
  • Warp and Deform weren't retaining bitmap properties
  • Improved path generation of large-stepover 'missing regions' pass
  • More optimal v-carve output ordering
  • NewDeviceWizard shows a message that user does not need to edit comms settings except when resolving problems
  • Added Z Block probe type to probe wizard
  • Ensure consistent G-code in messages and gui, capitalize Error: in console.
  • If user runs probe wizard after run start, show a warning before starting the job to remove the probe and wires.
  • New comm status of Not Responding so error message can distinguish between disconnected and not responding.
  • Changes to License dialog to be more clear and have links to web pages for help

Bug Fixes

  • 3d preview multithread ARM issue
  • New project with no devices would crash
  • Choosing the SAME texture shouldn't modify the project
  • Fix to allow Ctrl-Q to close MM even when in Control Mode.
  • Prevent "Missing GCode For selected settings" warning in Device Settings dialog when inherited placeholder is valid
  • Fix confusing Troubleshooting Dialog by formatting all messages as simply as possible
  • Machine size warning was backwards
  • Chamfer wasn't properly using start/final depth values
  • Ops without shapes would get assigned to shape 0
  • Add space after emitting G53
  • Handle malformed xml data better and report more issues without crashing when loading a damaged or incorrect file.
  • Fixing the machine boundary calculations for the project out of bounds warning.
  • Fixed the Tool and GCode cursor positions when device units are in inches.
  • Some escaped characters were causing strings to visually repeat in the console log
  • New Device Wizard should reset Dwell when a new Flavor is chosen
  • Remove unnecessary M9 coolant off command at end of jobs
  • GRBL M3 Flavor jog panel got broken when switching from another Flavor that had continuous jog
  • FluidNC support was missing some connections
  • Updated GRBL-STM GCode Flavor to enable continuous jog and probing
  • SVG with OffsetFill didn't export correctly
  • Cleaned up duplicated mode & Z outputs
  • Zero Axis buttons were incorrectly greyed out for some protocol flavors
  • Fluting Start Point wasn't respected
  • Fix texture spelling
  • Removing the annoy-a-tron warning until we have a better solution to convey the problem.
  • Suppress Operations Export ATC warning when only one tool in use
  • Fixing minor syntax problem.
  • Deform tool issues with grouped base shapes
  • Limit ramp angle to 1 to 89 degrees
  • Removing the remaining annoy-a-tron warnings.
  • Custom gcode rotary diameter setting was never emitted
  • Don't escape tab characters in the console log
  • Fixed failure to read xml file if ANY unexpected key exists in the file, and key name case mismatch for tool VendorURL and Notes.
  • Custom GCode was double-scaling imperial position queries when $13=1
  • Ungrouping an array with mirrored objects looses the mirror transform
  • Ungrouping an array with mirrored objects looses the mirror transform.
  • Un-grouping native shapes after mirror transform caused flip
  • Removing tiny prims could cause open shapes
  • Fix error with drill tip measurement
  • Add unit modal to the beginning of the probe commands during the wizard.
  • Add/remove shapes in an op didn't work with grouped shapes
  • Texture op didn't work with Z-Bottom origin
  • Custom GCode CanZeroAxis was not always returning a value for less used flavors
  • Unprintable escaped characters in Custom GCode example blocks were appending odd HTML characters
  • Rest Pocket could fail on very tight tolerance areas
  • Tab changes didn't clear op cache
  • Fixed crash in Find My Laser when e-stop is engaged. WaitForCompletion and TerminateExecution now check doQuit for graceful thread shutdown.
  • Fixed device discovery polling sleeping 20 seconds instead of 20 milliseconds in ConnectJCZDevice, ConnectEZC3Device, and ConnectBSLDevice.
  • Fix start depth & top/bottom for relief
  • Don't set file type association in pre-release mode
  • Fixed typos in Quick Nest messages
  • Fixed potential memory leak when validating custom gcode settings.
  • Don't intercept the numpad while edits are active
  • Fixed loading units when coming from older versions
  • ZigZag ramp didn't work for vcarve with start depth != 0
  • Closed shapes could become open during tiny line removal if the line connected to the first node in a shape
  • Closed shapes could become open during tiny line removal in
  • Select Results option on Copy Along Path would crash
  • A change to SpatialPrimQuery for cut optimizer broke ramp fill
  • Output toggles were changing when outputting gcode
  • Ungrouping text that was bent distorts or loses the bend
  • Check for last control units was using the wrong parameter
  • Fix issue with automatically enabling tabs on add
  • Ensure web files are always loaded
  • Show correct offset table when reading scanning offsets
  • Fixed MessageBox display of Rich Text vs Regular Text messages.
  • Fixed title casing in probe configuration
  • Some Custom Gcode values were getting unit conversions when they shouldn't
  • Removing SSL certificate generation and usage for the API to be HTTPS
  • Exporting to SVG could crash with inner shapes that had no operation
  • Launching and immediately closing could cause a crash in the webtool loader
  • Make virtual keyboard show when using tablet and touching a spin box or custom num editor (Windows only)
  • Changing device (even on startup) set modified flag
  • Medial offsetter should make closed shapes
  • Fix Bitmaps with invalid XFORM causing crashes and problems loading and in UI
  • Bitmap relief transform was incorrect if grouped
  • Fixed title casing in require control mode toggle
  • Virtual array caused problems with cached ops
  • Stale pointer could cause crash when switching units
  • Cached operation errors prevented op from rebuilding
  • Cached tool info not updated on tool change
  • Fixed issue causing viewport of 3D import dialog not rendering.
  • Tell QSerialPort not to restore the pre-open DCB on close so closing the port no longer reverts DTR back to
  • Further hardening against race condition crash
  • Fixed typo in depth map converter
  • WebTools was only generating a timestamped URL once at start
  • Fixing the Buy MillMage button wrongly displaying "Buy LightBurn" on first start.
  • Medial offset missed some segments
  • Layer names were not being copied to cut library
  • Min tabs was not always being respected
  • Apply Mask allowed reusing a shape already applied as a mask
  • Engrave Acceleration Z in Additional Device Settings was being read from the controller as incorrect units
  • Default tool def should be marked as a project tool
  • Fix numeric entry equation parsing issue with comma vs period
  • Probe definition dialog had different input limits that probe execute.
  • Probing allowed 0 value for XYZ search distance. Changed to sensible minimum.
  • Prevent probing from trying to continue sequence if failure occurred.
  • Updated dogbone tool to use double-precision math to reduce failure cases
  • Keep edited workpiece dimensions when switching device profiles in the project wizard.
  • Handle new text width properly after a copy paste to prevent font position changes.
  • Renderbuffer being rebuilt constantly due to incorrect comparison.
  • Coordinate pocketing parameters in UI
  • Fix double jpg extension on export
  • Set Qt::AA_DontShowIconsInMenus to false
  • Fix title case across all entries in the right click menus.
  • Fix framing bounds computation to be more accurate to selected outputs.
  • Bad slot virtuals caused some update functions to not be called in the operations UI

User Interface Updates

  • New Warning icon added with better contrast at smaller sizes.
  • Tab key now changes focus on Tool Library notes text input instead of indenting.
  • Tool Library Feeds and Speeds layout rows now have uniform heights.
  • Created outlined labs icon with white border for visibility on dark device logos
  • Added checks to ensure the Tool Library dialog window is not drawn outside the screen boundaries.
  • Improved visibility of toolbar drag handles and overflow arrows.
  • Added padding between items in the main toolbar.

New Features

  • Show Custom GCode Flavor in Device List
  • Marlin 2.1 support in MillMage
  • Support for Duet / RepRap GCode Flavor
  • DragonDrop file transfer wizard - initial iteration
  • Ability to wrap web-based tools into integrated app features
  • Center Line Trace
  • Adding a local & network-available REST API.
  • Adding DragonDrop support per device profile.
  • Adding target buffer override for gcode devices in case the firmware doesn't or incorrectly reports the buffer size.
  • Added 3D model import feature.
  • Added depth map creation from imported 3D models.
  • Add filtering for FluidNC flavor to clean [MSG] spam in the Console
  • New Duet/RRF HTTP flavor for Custom GCode
  • Support for Duet/RRF M291 message box commands
  • Added AcceLaser hybrid Gantry + Galvo device support.
  • Added LiDAR surface scanning with height-compensated engraving.

Code Refactors

  • Add LE_DeviceReconnect and send event from device settings dialog
  • GCode Thread protocol checks
  • SupportsToolProbe() query method added to GCode Protocols
  • WaitForProbeParse() modified for Marlin
  • Cleaning out some warnings
  • Initial import of WebApi library and creation of connection type
  • Modified device shutdown logic to cleanly release device resources
  • Disallow LaserEvents after mainwindow has already closed
  • Added GCodeDisplayFlavors and UserGCodeBlockManager::FillFlavorComboBox
  • Split or reassign protocol destructors to Release methods

Infrastructure

  • Added core_icontools to build system via CoreGui.pri and core_code.cpp

Miscellaneous

  • Allow trialing Pro mode with a valid Core license
  • Update Buy and Upgrade links to be ready for MM Pro
  • Allow pasting of valid URLs into Web Tool browser
  • Added legal warning that must be accepted before SVGNest can be used
  • Added 'Paste in Place' to right click context menu

For more help using MillMage, please visit our forum to talk with MillMage staff and users, or email support.