Skip to content

AndreasOKircher/ThreadMeister

Repository files navigation

Windows Tested macOS Pending Fusion 360 Add-In Python MIT License Distribution

ThreadMeister – Heat-Set Insert Add-in for Fusion 360

ThreadMeister Logo

An add-in for Autodesk Fusion 360 that automates the creation of heat-set insert holes for 3D printing, using insert dimension recommendations from CNC Kitchen.

Features

  • Pre-configured insert sizes - CNC Kitchen’s recommended dimensions for common sizes (M2, M2.5, M3, M4, M5, M6, M8, M10, and 1/4"-20 camera thread)
  • Blind holes and through holes - Automatically calculates correct depths
  • Automatic top chamfer (0.5 mm × 45°; fully customizable)
  • Automatic bottom fillet (0.5 mm radius; fully customizable)
  • Multiple holes at once - Select multiple sketch points to create several holes in one operation
  • Timeline grouping - All operations grouped with descriptive names for easy management
  • Direct integration - Holes are cut directly into your part, no manual combine operations needed
  • User-friendly interface - Button in SOLID > MODIFY menu with intuitive dialog

ThreadMeister in action

Why ThreadMeister?

Tired of googling insert dimensions every time you need a bore for a heat-set insert? ThreadMeister has them built in — just pick your size and it creates the hole directly in your model. No more manual circle sketching, no more wrong depths, no more manual extrude cuts.

Platform Support

  • Windows: Fully tested
  • macOS: Expected to work; not yet fully verified due to lack of hardware
    • Code uses cross‑platform paths (os.path.join)
    • No Windows‑specific APIs
    • Icon loading and geometry creation should behave identically

Installation

Method 1: Manual Installation

  1. Download this repository (Code → Download ZIP)
  2. Extract the ThreadMeister folder
  3. Copy the folder to your Fusion 360 Add-Ins directory:
    • Windows: C:\Users\[YourUsername]\AppData\Roaming\Autodesk\Autodesk Fusion 360\API\AddIns\
    • macOS: ~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/
  4. Restart Fusion 360
  5. Go to UtilitiesAdd-InsScripts and Add-InsAdd-Ins tab
  6. Find ThreadMeister and click Run
  7. Optional: Check Run on Startup to load automatically

Autodesk App Store Installation

ThreadMeister is also available on the Autodesk App Store (pending approval).
The App Store version installs automatically and updates cleanly.

Method 2: Git Clone

cd "C:\Users\[YourUsername]\AppData\Roaming\Autodesk\Autodesk Fusion 360\API\AddIns\"
git clone git clone https://github.com/AndreasOKircher/ThreadMeister.git ThreadMeister

Usage

Quick Start

  1. Create a sketch and place sketch points or use existing line/arc endpoints where insert holes should be created.
  2. Finish the sketch
  3. Click the "ThreadMeister" button in SOLID → MODIFY menu
  4. Select your target body (the part to add holes to)
  5. Select one or more sketch points
  6. Choose your insert size (e.g., M3 x 5.7mm standard)
  7. Choose Blind Hole or Through Hole
  8. Enable/disable top chamfer and bottom fillet (recommended: enabled)
  9. Click OK

Insert Specifications

All dimensions follow CNC Kitchen's official recommendations:

Insert Size Hole Diameter Insert Length Min Wall Thickness
M2 x 3mm 3.2mm 3.0mm 1.5mm
M2.5 x 4mm 4.0mm 4.0mm 1.5mm
M3 x 3mm (short) 4.4mm 3.0mm 1.6mm
M3 x 4mm (short) 4.4mm 4.0mm 1.6mm
M3 x 5.7mm (standard) 4.4mm 5.7mm 1.6mm
M4 x 4mm (short) 5.6mm 4.0mm 2.0mm
M4 x 8.1mm (standard) 5.6mm 8.1mm 2.0mm
M5 x 5.8mm (short) 6.4mm 5.8mm 2.5mm
M5 x 9.5mm (standard) 6.4mm 9.5mm 2.5mm
M6 x 12.7mm 8.0mm 12.7mm 3.0mm
M8 x 12.7mm 9.7mm 12.7mm 4.0mm
M10 x 12.7mm 12.0mm 12.7mm 5.0mm
1/4"-20 x 12.7mm 8.0mm 12.7mm 3.0mm

Note: For blind holes, the total extrude depth = insert length + extra depth + chamfer (if enabled). For example, with an M3 x 5.7 mm insert and default settings: 5.7 + 1.0 extra + 0.5 chamfer = 7.2 mm. The chamfer is added to the extrude length because it cuts into the top of the bore and would otherwise reduce usable depth for the insert.

Customize settings

Edit config.ini to adjust behavior. The file is located in the add-in folder. The config is organized into four sections:

[Settings] — Design parameters

Parameter Default Description
chamfer_size 0.5 Top chamfer size in mm (45° chamfer). The chamfer cuts into the top of the bore, reducing usable depth for the insert.
blind_hole_extra_depth 1.0 Extra depth added to blind holes in mm. Compensates for chamfer depth and provides clearance below the insert.
bottom_radius_size 0.5 Bottom fillet radius in mm (blind holes only)

[Inserts] — Insert specifications

Each line defines an insert: name = hole_diameter_mm, insert_length_mm, min_wall_thickness_mm

You can add custom inserts by adding a new line, e.g.:

M3 x 6mm (custom) = 4.6, 6.0, 1.8

[UI State] — Remembered menu state (saved automatically between sessions)

Parameter Default Description
chamfer_enabled_default True Chamfer checkbox state
bottom_radius_enabled_default False Bottom fillet checkbox state
show_success_message True Show confirmation dialog after operation
hole_type_blind True Hole type: True = Blind, False = Through
last_selected_insert M3 x 5.7mm (standard) Last selected insert size

[Developer] — Debug options (for development and support)

Parameter Default Description
enable_logging False Write debug messages to Fusion's Text Commands palette
enable_debug_export False Show "Export Debug JSON" checkbox in the dialog

Screenshots

Located in the Modify Menu
Easy configure hole according insert spec



Creates entry into the timeline
Bore is associated with sketch dimensions and all features a grouped in the timeline

Requirements

  • Autodesk Fusion 360
  • Python support (built into Fusion 360)
  • Windows or macOS

Tips

  • Print orientation matters: Test hole sizes for your specific printer and orientation
  • Wall thickness: Always ensure adequate wall thickness around holes
  • Multiple holes: Select multiple points to create several holes efficiently
  • Timeline: All operations are grouped - you can easily undo or suppress the entire set

Troubleshooting

Button doesn't appear:

  • Make sure the add-in is in the AddIns folder (not Scripts folder)
  • Restart Fusion 360
  • Check that the add-in is running in the Add-Ins tab

Inserts or holes are the wrong size:

  • Add your own insert specifications to the config file (or change existing definitions)

Chamfer or fillet radius missing:

  • The chamfer and fillet radius can be selected in the config menu

Changelog

v1.2.2 — 2026-03-16

  • Config.ini reorganized into 4 sections ([Settings], [Inserts], [UI State], [Developer])
  • Improved error messages with per-point failure details
  • Chamfer size now added to blind hole extrude depth (was missing before)
  • Info text updates dynamically when toggling chamfer checkbox

v1.2.1 — 2026-03-14

  • Added privacy policy (required for Autodesk App Store)
  • Added packaging script for App Store submissions

v1.2.0 — 2026-03-14

  • Clean temp sketch approach: bore circles are now created in a projection-free temporary sketch, eliminating profile selection failures caused by Fusion 360's auto-projected body edges
  • Parametric association maintained — moving the original sketch point updates the bore automatically
  • Temp sketches named TM_{insert}_P{n}, grouped in timeline
  • User's original sketch is never modified

v1.1.2 — 2026-03-13

  • Added debug export and visualization tools for profile analysis
  • Added curve-point filter to profile selection algorithm

v1.1.1 — 2026-03-11

  • Added pytest test suite (49+ unit tests, zero Fusion 360 dependency)

v1.1.0 — 2026-03-10

  • Split monolithic ThreadMeister.py into 6 focused modules (core/tm_*.py)
  • Refactored findProfileForCircle() into testable sub-functions
  • No functional changes — internal refactoring only

v1.0.1 — 2026-03-07

  • Switched license from GPL-3.0 to MIT
  • Added animated GIF demo and README improvements

v1.0.0 — 2026-02 — Initial public release

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Credits

License

This project is licensed under the MIT License. See the LICENSE file for details.

Disclaimer

This add-in is not affiliated with or endorsed by CNC Kitchen or Autodesk. All insert specifications are publicly available from CNC Kitchen's documentation. Use at your own risk and always verify dimensions for your specific application.

Support

If you find this add-in useful, consider:

  • ⭐ Starring this repository
  • 🐛 Reporting issues or suggesting improvements
  • 🛒 Supporting CNC Kitchen by purchasing their high-quality inserts

Known Technical Limitations

Through‑hole extrusion instability

Fusion 360 may fail to create through‑hole extrusions in certain situations. This typically occurs when the sketch or target body contains complex or ambiguous geometry that prevents Fusion from resolving a clean cut.

Symptoms include:

  • Missing through‑hole cut
  • Partial cut that stops before exiting the body
  • “Profile not found” or “Operation failed” errors

Common causes:

  • Complex or thin‑walled bodies
  • Ambiguous extrusion direction
  • Overlapping or poorly defined profiles

Workarounds:

  • Simplify the geometry around the bore location
  • Ensure the target body has clean, manifold geometry
  • Move the bore point into a separate sketch

Sketch profile overload (resolved in v1.2.0)

In earlier versions, ThreadMeister drew the bore circle in the user's existing sketch. If that sketch had many intersecting lines or Fusion's auto-projected body edges near the bore location, profile selection could fail.

Since v1.2.0, ThreadMeister creates a clean temporary sketch containing only the bore circle, eliminating this issue entirely.

Privacy Policy

ThreadMeister does not collect, store, or transmit any personal data or usage information. All operations are performed locally within Autodesk Fusion 360. No data is sent to external servers, third parties, analytics tools, or advertising networks. No data retention or deletion policies are required as no data is collected. Since no data is collected, there is no consent to revoke or data to request deletion of.


Happy 3D printing! 🎉