Repository navigation
Releases
OpenPostPro 1.1.0 – Windows x64
Windows x64: the installer (OpenPostPro-v1.1.0-win64.msi, per user, no administrator rights) or the archive (unzip it anywhere and run openpostpro.exe). It needs Python 3.12 or later (python3.dll in the PATH); the Visual C++ runtime is included. The program also builds and runs on Linux (CMake). Always check the generated toolpaths and machine code (the simulator helps) before using them on a real machine.
New
- Nesting (Machining menu): parts are groups, copied on a sheet in a new layer. Three algorithms (fast, search, overlap minimization), rotations by 90, 15, 5 or 1 degree, holes of the parts used, calculation on all the cores in a thread with a waiting window and a stop button. The manual has a chapter with examples.
- File menu: recent documents, the example projects of the manual, Ctrl+N, Ctrl+O and Ctrl+Q.
- Edit menu: duplicate, array copy (columns, rows and spacings), and the preferences.
- Machining menu: the machinings (move, drilling, follow the line, go around the line, pocket) can be created from the menu, as with the icons.
- Display and Help menus: fit the drawing, grid, toolpaths with their direction and start; online manual, keyboard shortcuts, project web site and GitHub.
- Project window: multiple selection (Ctrl and Shift), delete with a confirmation for layers, shapes, operations and machinings, layers folded after a nesting.
- Texts: the link of a text to a curve is an icon of the top toolbar, checked when the text is linked.
- Docs: manuals and guides rewritten in plainer wording, with new screenshots and example projects.
Fixed
- The text of the medallion example no longer overlaps itself.
- After a machining of several separate shapes, the operation is selected instead of the last machining.
- Plasma post-processors: with "Disable Z axe" checked, the cutting feed rate was missing in the program.
- Ctrl+A selects all again on an AZERTY keyboard.
OpenPostPro 1.0.0 – Windows x64
Windows x64 archive: unzip it anywhere and run openpostpro.exe. It needs Python 3.12 or later (python3.dll in the PATH) and the Visual C++ runtime. Always check the generated toolpaths and machine code (the simulator helps) before using them on a real machine.
New
- 3D simulator (Post-processor menu, "Run and simulate"): the material is cut as the program runs, with a player (play, pause, speed slider), information cards, display options, colors of the moves in the preferences, and a summary of the program at the end. Two material models can be compared (Tiles, the default, and Grid). A Python translator turns the program into simple moves: G-code and HPGL are provided, the translator can be chosen automatically from the file extension or forced, and users can add their own.
- Tools and machines: table of tools (number of teeth, cutting data by material, computation button), torch tools (plasma, water jet, EDM) with a pierced material in the simulator, oblique plunge on an offset start, table of machines with the area, the origin and the direction of the axes, and a backdrop with the zero and the axes in the drawing.
- Operations: the groups of the machining are now called operations. The passes in Z are the outer loop, and contours and pockets are sorted to shorten the rapid moves.
- Post-processors: Mach3, Burny, NUM 1060 (mill and plasma) and HPGL. The file header and footer, the pre-command and post-command of an operation and the plasma commands (reference, start, stop) are edited on several lines, and each line is numbered when the numbering is on. A "Return to zero" option brings the tool back to X0 Y0 at the safe height at the end of the program.
- Import and export: DXF import (blocks, texts, splines) and export (R12), SVG import and export, Gerber and Excellon import.
- Texts: fonts read with FreeType (families and styles, .otf and .ttc, user fonts), the same on every platform; UTF-8 text with accents, Chinese and characters outside the first plane; symbol fonts (Symbol, Webdings, Wingdings); a table of characters to insert glyphs; linked texts which are updated after a move.
- Drawing: button and Home key to fit the drawing in the window, shortcut icons in two columns, file properties with a browse button, the view saved in the document, the arrow of the radius compensation has a tail, the icon in the About window.
- Documents: the output file is read again when the document is opened, and the pockets are computed together on all the cores.
- Docs: a manual in French and English with examples, guides of the post-processors, the CAD scripts, the tools and machines, and the simulator, with diagrams.
Fixed
- Pockets of texts and of shapes with many islands (curves merged without size limit, independent regions computed in parallel).
- A document without an output file is read without error.
- A translator or a post-processor with the same name as another module (for example
hpgl.py) no longer hides it. - Deleting a layer or a group selects the previous (or next) one; fillet and chamfer keep the name and the layer of the shapes; a shape without layer goes to the first one.
Tests
More tests in tests/: simulator core, models, frames and torch, translators (G-code, HPGL), tools, post-processors on a sample, imports and exports, fonts of the system, and a pocket from a file.
OpenPostPro 0.6.0 – Windows x64
Windows x64 archive: unzip it anywhere and run openpostpro.exe.
New
- Radius compensation (G41 / G42) on Follow, for the kerf of a plasma torch or the radius of a cutter: the tool is centered on the line, outside or inside of the shape, and the side is deduced from the direction of the path. The entry (a line or a quarter of circle) and the optional exit are managed by the group; the start point is moved so that the entry is on the side of the tool, and a second arrow shows the side of the tool.
- Check the drawing (Drawing menu): finds the shapes of length zero, the shapes drawn twice, and the free ends (open contours), with markers on the drawing.
- Edit → Select → Contour: selects every shape connected to the selection.
- Groups tab: buttons to show or hide all the toolpaths, the machining direction and the starts, and a button to compute the toolpaths again from their shapes after the drawing was modified.
- Layer lock: locked shapes can not be moved, edited, deleted, cut or extended (the magnet still snaps to them).
- Help → About with the version, the build number and the build date.
- Line creation chains the segments; a polyline is validated with a double click or a right click.
- The log window can be switched between full screen and the bottom of the window with a chevron.
- The preferences show the languages by name and code (for example "Français (fr-fr)").
Fixed
- Offsets of drawings imported from a DXF: the end of an open chain of shapes was lost in the curve (big arcs far from the drawing), and the ends of lines and arcs which are less than 0.01 apart are now joined into one contour.
- Crashes on empty or short lists (
size() - Non unsigned values), when loading a language file, when cutting a polyline, and a debug-only iterator error in the boolean operations. - Shaders are now in GLSL 3.30 core (the ES versions were not accepted by every desktop driver), and several small renderer errors were corrected (double uniforms, program link check, clear color, indexed drawing).
- A point is no longer placed twice at the same place when a polyline is validated.
Tests
The tests/cpp folder has more tests: radius compensation, drawing check, polyline and line creation, offsets from a drawing file, and the renderer on a real OpenGL context.
OpenPostPro 0.5.0 – Windows x64
An open-source CAD/CAM application for CNC machining and cutting.
This release provides a Windows x64 compiled version of OpenPostPro, an independent open-source CAD/CAM project.
OpenPostPro combines 2D drawing, geometry editing, CAM toolpath generation and customizable Python post-processors in a single application.
Features
2D CAD – Drawing and geometry
- Create points, lines, circles, arcs, ellipses, polylines, splines and text.
- Import DXF drawings.
- Apply geometric transformations: offset, symmetry, scaling and rotation.
- Chamfer operations.
- Boolean operations: union, subtraction and intersection.
- Generate geometry programmatically using Python scripts.
- Parametric geometry generation for repetitive or complex shapes.
CAM – Toolpath generation
Several machining and cutting operations are available:
- Follow: follow selected geometry.
- Offset: generate internal or external toolpaths.
- Pocket: generate pocketing toolpaths.
- Drilling: drilling cycles with peck drilling, tapping and boring options.
- Spiral: generate spiral toolpaths.
- Move To: add positioning movements.
Python scripting and post-processors
One of the key features of OpenPostPro is its Python-based extensibility.
- Python scripts can generate CAD geometry directly.
- Post-processors translate CAM operations into machine-specific G-code or other output formats.
- Separate post-processors for milling/router and plasma cutting are included.
- Configurable output format, decimal precision, line numbering, comments, headers and footers.
- Support for absolute and relative arc-centre coordinates.
- Plasma-specific settings for torch commands, start delays, reference setup and Z-axis handling.
Post-processors can be customized without modifying or recompiling the C++ application.
Interface
- OpenGL 3 rendering.
- Dear ImGui interface.
- Multilingual interface: English, French and Spanish.
- Configurable language resources.
Technical information
- C++20
- OpenGL 3
- Dear ImGui, GLFW, GLM and FreeType
- Embedded Python 3.12+ runtime interface
- Windows x64
Installation requirements
This archive contains the compiled Windows x64 application.
Required components:
- Windows x64
- Python 3.12 or later, installed with Add Python to PATH enabled.
- Microsoft Visual C++ x64 Redistributable.
Extract the ZIP archive and launch the application.
Important – Development status
OpenPostPro is an independent open-source project under active development.
Some geometric and toolpath algorithms still require improvements, particularly outline and offset calculations. Results may not be reliable for every geometry or machining situation.
Always inspect and verify generated toolpaths and machine code before running them on a real machine. Check clearances, tool definitions, feeds, speeds and machine settings.
Feedback, bug reports and contributions are welcome!
License
GNU AGPL-3.0-or-later.
Source code: https://github.com/rebisway/openpostpro