MIDILLI G-Code Generator for CNC Routers

MIDILLI G-Code Generator is a free and versatile command-line tool for creating G-Codes files to prepare box-shaped parts. It supports circular drill holes, rectangular cutouts, and precise dimensions in metric units. The generated G-code files are compatible with CNC routers supporting GRBL, ensuring seamless design preparation.

Slightly changed version of the example project, with screws, screw heads, recesses, and component rotations.

Derived from the in-house MIDILLI Tech Automation Suite, this tool is a simplified yet robust solution.

It is offered free for non-commercial use. You can find the full license details here.

Please choose a topic from below to read.

Features

  • Box Creation:
    • Generate rectangular shapes with up to six sides to form a complete box structures.
    • Option to omit any side during box design.
    • Option to use the sizing for the inner volume or the outer volume.
  • Customizable Cutouts:
    • Create holes or rectangular cutouts (also called components) on specific sides of the box with precise locations.
    • Create screw holes on top or bottom* side with the given screw diameter.
  • Component Rotation:
    • Rotate components to any specified angle.
  • Recess Support:
    • Create flush surfaces with custom dimensions that prevent movement of e.g., button caps and improve functionality.
    • Create recesses for screw heads*.
  • Bit Diameter Compensation:
    • Compensate the bit diameter to create exactly the specified drill holes/cutouts.
    • Straight and V-shaped bits are supported.
  • Feedrate:
    • Set feedrate for movement on axes.
  • Layered Outputs:
    • Separate component, recess, outline layers’ outputs to only perform a single step at a time.
  • Material Thickness:
    • Adjust material thickness for accurate cuts and fits.
  • Box Sizing:
    • Automatically adjust box sizes for inner or outer edges, depending on user preference.

* Using recess for screws on bottom side requires manual flipping of the surface.

How does it work?

The tool takes a JSON file as input (example below) and generates G-Codes for up to six sides of a box, with each side containing its own drill cutouts, recesses, and engravings. These pieces can then be assembled to construct a 3D shape.

The exported .nc files must be sent/executed with a G-Code sender e.g., Candle (free and open-source) to complete the task.

Warning: Operating CNC routers requires a safe environment to prevent exposure to dust, debris, and high-speed moving parts. Never place your hands near moving parts. Always ensure proper ventilation, wear safety goggles, and use hearing protection. Additionally, perform a simulation to ensure the final G-code does not attempt to drill or move into restricted and/or dangerous sections.

Download

By downloading our free software, you agree to the license conditions.

Windows 64-Bit Download

Version History

  • 1.2.1 (08.02.2025)
    • Replaced height with length in JSON to avoid confusion.
  • 1.2.0 (06.02.2025)
    • V-shaped endmill type added for automatic compensation.
  • 1.1.0 (26.01.2025):
    • Separation of feedrate for x-, y-, and z-axes for more control on speeds.
      • Removed --feedrate argument.
    • Minor bug fixes.
  • 1.0.0 (22.01.2025):
    • Initial version.