Releases: IridiumIO/PolyCut
Version 0.9
Highlights
- New Fill Patterns — Spiral, Triangular Hatch, Diamond Crosshatch, and Radial fills.
- Multipass Cutting/Drawing — repeat passes with a configurable Z delta between each
- Toolhead XY Offsets — per-printer offset applied to all generated GCode paths
- Grid Snapping — hold
Ctrlto snap drawing, moving, and resizing to the grid - Overhauled GCode Preview — Pause/Resume/Step controls, a live tool cursor, and customisable preview colours
- Major performance improvements — fill generation is many times faster; reduced memory usage; GCode preview is significantly snappier
Changes
- New Fill Patterns
- Added four new fill types: Spiral, Triangular Hatch, Diamond Crosshatch, and Radial
-
Multipass Support
- Added
Number of PassesandZ Offset Per Passsettings — cut or draw the same paths N times, stepping down in Z between each pass - Useful for thicker materials that need multiple light passes rather than a single deep cut
- Added
-
Toolhead XY Offsets
- Added
Tool Offset X/Tool Offset Yto printer configuration to adjust where your knife/pen is relative to the toolhead.
- Added
-
Grid Snapping
- Hold
Ctrlwhile drawing, moving, or resizing any shape to snap to the canvas grid - Works for single and multi-element selection during resize. It is however broken if the object is rotated before snapping (I'll fix the math on this eventually)
- Hold
-
GCode Preview Overhaul
- Added Pause, Resume, Step Forward, and Step Back controls
- Added a live tool cursor indicator that follows the current preview position
- Preview lines and cursor colours are now fully customisable
- Added a Tool Config tab directly on the Preview Page so you can tweak settings and preview them faster
- UI Improvements
- Redesigned sidebar elements list — groups are no longer nested, and Boolean operation controls have moved directly into the elements list
- Rearranged File menu — Import SVG and Load Project now appear at the top
- Tweaked transform gizmo — rounded edge handles, refreshed colours, and better rotate handle positioning
- Dimension labels are now always visible during any selection, not just while actively resizing or moving
- Canvas grid is now toggleable from the View menu; the old cutting mat SVG overlay has been removed in favour of the configurable grid
- Preview Page now uses a solid background canvas for better visual contrast, and makes use of the configurable grid as well.
Tweaks
- SVG Import default stroke thickness changed from
1to0.1, to ensure visual positioning is more consistent with the mathematical position (mathematical position is based on a stroke width of 0). - Improved blade entry-point selection for better cut quality on complex shapes
- Improved the virtual Mica effect and font picker styling
Bug Fixes
- Fixed Start and End GCode not being exported — these were silently omitted from all exports (whoops)
- Fixed SVG Import inflating shape sizes — shapes with thick strokes were being measured including the stroke, causing oversized GCode output
- Fixed Klipper preview speed being hardcoded to 5 mm/s regardless of your configured Drawing Speed
- Fixed ghost elements persisting after Import SVG → Undo → Redo → Delete
- Fixed line shapes being mirrored or flipped incorrectly when resized
- Fixed a crash in the fill processing pipeline
- Fixed various incorrect bounds calculations on the canvas
Installation
Binaries
PolyCut.exe (20MB): Smaller size, but requires .NET 10 Runtime to be installed
PolyCut.mono.exe (74MB): Fully self-contained and embeds the necessary .NET 10 librariesChecksums
MD5: 34DCA3B04BF85BAF578565C8D2E6499B
SHA-256: 14C6B1253A5E33FF733553B11048A7898799D2F76640B6700275DF20E135880FLike this project?
Please consider leaving a tip on Ko-Fi :)
Full Changelog: v0.8...v0.9
Version 0.8
Changes
-
Klipper Export: Preview Bounding Box Pass
- Added the ability to send a preview rectangle that encompasses all cutting/drawing moves to Klipper. This preview runs in the travel layer above the surface, so you can check if your materials are properly aligned before anything is actually cut/drawn. #12
- Added
Preview Start GCodeandPreview End GCodeto the Printer configuration menu that are run when the preview export is used
-
Colour selection improvements
- Added an eyedropper to the colour picker UI
- The
Extract Single Colourconfiguration option now uses the colour picker instead of being a textbox
-
Grid Improvements
- Added full configuration support for the canvas grid, including spacing, offsets and colour options
- Added full configuration support for the canvas grid, including spacing, offsets and colour options
-
Added copy/cut/paste support
- Shapes can be copied and pasted using
Ctrl+C/Ctrl+X/Ctrl+Vas you'd expect - Added an
Editmenu with these buttons.
- Shapes can be copied and pasted using
Tweaks
SVGGroupsupport on imports - no longer flattens all SVG layers/groups anymore- UI Polishing and layout tweaks
- Improved object selection gizmo performance and rendering.
Bug Fixes
- Fixed a regression that broke zero-width SVG paths (i.e. perfectly vertical or horizontal lines) from being imported
Installation
Binaries
PolyCut.exe (20MB): Smaller size, but requires .NET 10 Runtime to be installed
PolyCut.mono.exe (74MB): Fully self-contained and embeds the necessary .NET 10 librariesChecksums
MD5: B3E28B0943A0DC13DB1FCE32CD81D600
SHA-256: 03BB71EDF4EAFA0BB784D47E1814C4DF6BE4F24B069D8E9F23D478BA1796ABF2Like this project?
Please consider leaving a tip on Ko-Fi :)
Full Changelog: v0.7.1...v0.8
Version 0.7.1
Changes
- Export Canvas as SVG
- You can now optionally export everything as an SVG
- This will be important as a future update will introduce
groupsupport which will break existing saves files, so this version will be necessary to export projects to SVG first so they can be imported in newer versions.
- This will be important as a future update will introduce
- You can now optionally export everything as an SVG
- Performance Improvements
- Refactor SVG Importer to avoid breaking down imported paths into tiny lines. This means major performance improvements particularly for larger files, which should no longer be as laggy on the canvas.
- This also improves the quality of imported paths as they are no longer approximated (except arcs. I can't do arc math)
- SVG Feature support
- Added support for:
SvgPolygonSvgPolyline- Improved
SvgLinesupport to now allow clipped lines to "work"
- Improved
- Added matrix transform support for imported shapes
- Added support for:
Fixes
- Fix improper scaling if an imported SVG had a
Viewboxset or had undefined units - Fix
SVGLineimport process for accurate rendering - Fix ordering of imported SVG shapes
- Fix inadvertently adding strokes to shapes that shouldn't have one on import
- Tweaked - open paths that have a fill applied will now implicitly close themselves when generating GCode so that visual fills are more intuitive.
Installation
Binaries
PolyCut.exe (20MB): Smaller size, but requires .NET 10 Runtime to be installed
PolyCut.mono.exe (74MB): Fully self-contained and embeds the necessary .NET 10 librariesChecksums
MD5: 7B9B8EE6F7D3BAF1A3481E2321F4E461
SHA-256: F0DBB3AB8AC80F842E0C7E5C2F3C831388B624153F2D5795DBAC116CB2B793EALike this project?
Please consider leaving a tip on Ko-Fi :)
Full Changelog: v0.7...v0.7.1
Version 0.7
Highlights
- Project save/load - Save and reload full projects
- Shape Handling - Major rework, now supports: multi-select and transform, undo/redo, editing of stroke/fill. Shapes can also be merged using boolean union/subtract/exclude/intersect modes.
- Redesigned GCode Preview - Improved layout, performance and added syntax highlighting
- Printer (Machine) Management - Add/remove machines with independent config.
- Custom Start/End GCode - added support for custom GCode that can be stored per-printer profile
- Added Shape fill features - control shading detail of shapes when using
Drawmode
Changes
- Project Save/Load
- Save and load projects to/from disk
- Currently doesn't save independent config settings (planned)
- GCode Generator
- Major performance and functional improvements
- Cutting Mode:
- Added an initial swivel to ensure the knife faces the correct direction before the first cut.
- Now optimises path selection to account for the swivel direction of the blade between each shape. For example, if one shape finishes being cut in an easterly direction, the optimiser will choose to start the next shape on an easterly path too in order to avoid accuracy issues with the blade swiveling to the new direction. This improves the accuracy and quality of cuts especially on fine details.
- Other optimisations to reduce tearing at corners of shapes
- All modes: Improved travel and path functions for faster completion as well as fixing several artifacts.
- Canvas Editing
- Shapes can now have their fill/stroke edited in the canvas, including editing of imported SVG shapes
- Note that the thickness of the stroke does not affect the output GCode, it is purely for visual separation. However, setting it to zero will disable the stroke in the output as you would expect
- Shapes can now have their fill/stroke edited in the canvas, including editing of imported SVG shapes
- Shape Combining
- Shapes can be combined using
union,intersect,subtractorexcludemodes.
- Shapes can be combined using
- Undo/Redo Support
- Added support for undo/redo operations. This is still in process so not everything is implemented yet, however most shape-related transformations are supported.
- New GCode Preview
- Improved GCode preview and rendering
- Added syntax highlighting to make it look pretty
- Much better performance when scrolling through large Gcode
- Printer Configs
- Printer configs now open in a separate window, and different printers can be added/removed
- Canvas alignment / cutting mat selection has also been moved to the printer configuration section
- Transform Gizmo Rework
- Made the transform overlay for shape manipulation much more robust; it now supports multi-object selection and manipulation, as well as better scaling/zoom support
- New Processing Options
- Shading density controls to let you control hatch/fill outputs based on the brightness of colours
- Hovering over the
Thresholdconfiguration option will show/hide shapes on the canvas depending on which ones meet the threshold.
- Hovering over the
- Option to choose between fill first or stroke first when drawing.
- Shading density controls to let you control hatch/fill outputs based on the brightness of colours
- SVG Import
- All imported SVGs are now converted to native shapes for simplified processing
- Basic (I mean basic) support for clipped and masked imported shapes
- Note: Gradients and other fancy SVG features are not supported (for best results, always convert everything to paths first anyway)
- Platform
- Update to .NET 10
- Update WPFUI to 4.2.0
Tweaks
- Mirroring shapes now correct for shape rotation, and is intuitive
- Keyboard Shortcuts: (TODO)
- Made preview lines transparent in the preview pane to see crossing lines more easily
- Element types are now listed next to their name in the sidebar
- Added a toggleable Grid overlay to the canvas.
Fixes
- Hidden objects on the canvas are no longer added to generated GCode
- Fixed cutting mode generator to reduce corner-tearing artifacts
- Fixed
Overcutsetting jumping to the start of a line if it isn't part of a closed shape - Drawing mode now respects whether a shape has a fill colour or not before it renders fill Gcode
- Fixed several crashes when trying to import funky SVGs.
Installation
Binaries
PolyCut.exe (20MB): Smaller size, but requires .NET 10 Runtime to be installed
PolyCut.mono.exe (74MB): Fully self-contained and embeds the necessary .NET 10 librariesChecksums
MD5: 7C63BFC4F45E988C1C761540BD727C65
SHA-256: 8A7F152D1F3E102A6254E5246A1C5CE597B847D7E0E653E2BCA08CFABEF8CC4DLike this project?
Please consider leaving a tip on Ko-Fi :)
Version 0.6
Changes
- Improved
Fill Processor- massive performance increase using
PolyCut.Corewhen generating complex filled paths (over 10x faster) - fixed overall logic of the processor to fix several bugs and unwanted effects.
- massive performance increase using
- New configuration options
- Filltype is now a dropdown list (to make way for new filltypes soon)
- You can now choose whether pens can draw over shape boundaries to speed up hatching designs (rather than lifting the pen after each stroke) - previously this was assumed.
- New GCode Preview Page
- Optimised rendering of GCode paths - lines now smoothly trace out from start to end rather than rendering the whole line at once. It looks glorious
- Added new preview speed controls
- Spent an obnoxious amount of effort to emulate the Mica effect on the Preview toolbar (please notice this :) )
Fixes
- Fixed issues with hatch/crosshatch filling:
- Some shapes would not be filled if they were too far from other shapes
- Some lines would "shortcut" across gaps they shouldn't when filling
- Fixed GCodePlot not honouring the
Optimisationsetting. See here: arpruss/gcodeplot#43 - Fixed
Cutting MatandWorking Areavisibility switches not working - Fixed crash when adding a textbox after switching back from the preview page.
- Tabbing between number boxes in the
Element Propertiestab now selects the number for quicker editing.
Known Issues
-
Note Stroke widths on all objects are not included in geometry calculations. If you have massively thick strokes on your shapes, the processor will ignore it when calculating shape outlines and locations, and the resulting size of the shape will be incorrect. You should consider a stroke as a guideline for the tool path, rather than a component of the shape itself.
Full Changelog: v0.5.1...v0.6
Installation
Binaries
PolyCut.exe (19MB): Smaller size, but requires .NET 8 Runtime to be installed
PolyCut.mono.exe (80MB): Fully self-contained and embeds the necessary .NET 8 librariesChecksums
MD5: B8A9183FEB07D812B9668B1AB6C6DFAB
SHA-256: 98859EB9BAC10D9B31D5849FBC775349548CF343880BEA8BA486C39066239188Like this project?
Please consider leaving a tip on Ko-Fi :)
Version 0.5.1
Changes
- Predominantly bugfix release
- UI Tweaks
- Updated canvas colour and removed laggy drop shadow
- Sidebars can now be resized
- Added hover highlight to
Elementslist for visual feedback - Fixed default scaling/positioning of main canvas
- Backend
- started splitting massive
SVGPage.xamlfile into smaller UserControls
- started splitting massive
Fixes
- Fixed duplication of generated toolpaths when parsing SVG files (every shape would get processed twice, resulting in double cuts/draws - whoops)
- Reduced thickness of drawn shapes to help with size accuracy when processing
- No longer generates a
PolyCut.exe.WebView2folder in your working directory (which can be annoying) - this is now generated in theTempfolder instead
Known Issues
-
Note Stroke widths on all objects are not included in geometry calculations. If you have massively thick strokes on your shapes, the processor will ignore it when calculating shape outlines and locations, and the resulting size of the shape will be incorrect. You should consider a stroke as a guideline for the tool path, rather than a component of the shape itself.
Full Changelog: v0.5...v0.5.1
Installation
Binaries
PolyCut.exe (19MB): Smaller size, but requires .NET 8 Runtime to be installed
PolyCut.mono.exe (80MB): Fully self-contained and embeds the necessary .NET 8 librariesChecksums
MD5: 8A3A9E520749EBF1561F2DF62EC4C0A1
SHA-256: A17AB7385BD3F8C1D77DC0FEF5FB8AEA1288D8183136638F3C7D937510502436Like this project?
Please consider leaving a tip on Ko-Fi :)
Version 0.5
New Features
- Added a
Pathdrawing tool- Paths will be smoothed after drawing to minimise travel moves
- Paths will automatically be closed if the endpoint is close to the start point
- Added
Propertiestab for canvas elements- Currently contains positional transformations for all objects (position, size) and mirroring capabilities for
Textand SVG elements - Text objects created in PolyCut can now have their font and sizes edited
- Currently contains positional transformations for all objects (position, size) and mirroring capabilities for
- Improved rendering of
Fontselector when entering/editing text - More big backend changes to simplify future development and fix minor issues
- Updated WPFUI to 4.0.2
Fixes
- Fixed scaling logic for
Lineelements when being resized - Fixed incorrect scaling of the object selection gizmo
- Editing text now resizes the text container so new text is visible. This doesn't yet work when changing the font or font size from the properties menu
- Improved handling of
Tabcharacters and spacing in textboxes - Fixed being unable to delete SVG files / drawing group
Known Issues
Full Changelog: v0.4...v0.5
Important!
Because this application uses .NET 8, you have two choices of downloads:
- 19 MB: If you don't have the .NET 8 runtime installed when you try to run this, it will prompt you to download it from Microsoft
- 80 MB: Includes all libraries required to run it completely standalone.
Checksums for PolyCut.exe
MD5: 01A9CC8BA1520CA633309E2304219944
SHA-256: 21489378824758522B263AD0389ED2FDC0D16C0648A7F75009AE825C397B5586Like this project?
Please consider leaving a tip on Ko-Fi :)
Version 0.4
New Features
- Improved SVG element adorner to allow better resizing, and added rotation support.
- Text created by PolyCut can now be edited:
- Select the textbox, then
Double-Clickto edit the text - While the textbox is selected (but not in edit mode), press
Ctrl + [to make the text smaller andCtrl + ]to make it bigger
- Select the textbox, then
- Added Tooltips to all settings in the
Configuretab. - Major rewrites to canvas and shape handling / creation. Not much of this is visible, but it was a huge undertaking.
Fixes
- Fixed text being offset / resized slightly after creation, leading to inaccurate sizing
- Fixed synchronization of objects on the canvas and in the
Elementstab. - Better handling of object selection / deletion.
Known Issues
Important!
Because this application uses .NET 8, you have two choices of downloads:
- 18 MB: If you don't have the .NET 8 runtime installed when you try to run this, it will prompt you to download it from Microsoft
- 80 MB: Includes all libraries required to run it completely standalone.
Checksums for PolyCut.exe
MD5: 8D4DFD1FF59AD117E9BA5AB49A5B4656
SHA-256: 151AD71C9E6E8C8C6E380ADCB31FE54C6E861B19972FD62397CCF5A069B50742Like this project?
Please consider leaving a tip on Ko-Fi :)
Version 0.3.1
Fixes
- All GCode is now exported using a decimal point
.instead of following localized logic (some languages will use commas instead of points) in order to prevent issues with printers parsing the output GCode. Closes #4
Known issues
Important!
Because this application uses .NET 8, you have two choices of downloads:
- 18 MB: If you don't have the .NET 8 runtime installed when you try to run this, it will prompt you to download it from Microsoft
- 172 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 8 runtime instead (which is itself only a 50MB download).
Checksums for PolyCut.exe
MD5: B2AB219FB917345A31535D90C18C05F9
SHA-256: 316C954C808A16CB3E7FDF3677DA7A03A0B2D9915A1BDA1D31D9E020E9B84972Like this project?
Please consider leaving a tip on Ko-Fi :)
Version 0.3
New Features
- Added basic shapes (line, rectangle, ellipse, text) that can be drawn directly onto the canvas
- Note the tools are still buggy, for example:
- If you drag to create a shape off the page, it will glitch and may leave a ghost element behind
- Text cannot be edited after it is created; you also have to set the font and size in advance.
- Note the tools are still buggy, for example:
- Visual changes:
- The cutting mat overlay can now be hidden on the main canvas
- The canvas colour can be changed between light and dark appearances.
Fixes
- Elements are now correctly unselected when you click off them
Known issues
Important!
Because this application uses .NET 8, you have two choices of downloads:
- 18 MB: If you don't have the .NET 8 runtime installed when you try to run this, it will prompt you to download it from Microsoft
- 172 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 8 runtime instead (which is itself only a 50MB download).
Checksums for PolyCut.exe
MD5: 6BB50393E003FF24C935851662B7D253
SHA-256: 7D4D23CD7D980EA6ACC070EFF7CF50666924464DC3E3EC014161B2FA1216D32BLike this project?
Please consider leaving a tip on Ko-Fi :)



