Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Threaded Insert Connections for Autodesk Fusion

Create matching screw holes and heat-set threaded-insert pockets in Autodesk Fusion 360 from a few selections. The add-in is designed for 3D-printed parts where two bodies need to be joined with a screw and a brass heat-set threaded insert.

Current development version: 0.6.0
The version is also shown in the Fusion dialog after the add-in has loaded.

See it first

🎬 Demo placeholder — Add a short GIF or 30–60 second screen recording here showing: pick sketch points → let the sketch fill the Screw Entry Face → choose the insert profile → preview → create.

Suggested file: docs/demo.gif or a short linked YouTube/Loom video.

What it does

You select the screw-entry surface and one or more sketch points. Threaded Insert Connections then creates and keeps aligned:

  • a blind heat-set threaded-insert pocket with a lead-in countersink;
  • a through screw-clearance hole in the second body; and
  • a Button Head or Cap Head clearance pocket.

The head-seat surface does not need to exist. The add-in creates it at the selected Head Seat Distance from either the Screw Entry Face or the Screw Exit Face. The Exit Face option is the default because it directly controls the remaining material thickness between the screw head seat and the body exit. With automatic face detection enabled, you only select the screw-entry face; Fusion finds the matching opposing planar face when the geometry is unambiguous.

Quick start

  1. Install the add-in with Install Fusion Add-in.cmd. The repository stays outside Fusion so it remains easy to update.
  2. In Fusion, open Solid > Create > Insert Connection.
  3. Keep the main assembly active and select the sketch points first. The sketch automatically fills the Screw Entry Face when it is based on a planar face. Then choose matching insert and screw profiles, set the optional hole tolerance, preview, and create.

During development, use this short update loop:

  1. Change the files in the repository.
  2. Run Install Fusion Add-in.cmd to copy the changed runtime files into Fusion's Add-ins directory.
  3. Use Solid > Create > Reload Threaded Insert Connections.
  4. Check the version shown in the dialog.

The reload command reloads this add-in from the installed Add-ins directory without opening Fusion's Scripts and Add-Ins dialog. It does not download from GitHub, watch the repository, or reload other add-ins. If the repository files were not installed first, the button will simply reload the previous installed copy.

The reload is intended for normal Python and library-data iterations. It recreates this add-in's commands, event handlers, and dialog, so the current dialog state, selections, and temporary preview are discarded. Existing Fusion model geometry is not deleted. Use Fusion's native Utilities > Scripts and Add-Ins dialog when the add-in is stopped, the reload command is missing, the startup code has a syntax/import error, or the manifest, add-in ID, folder, or startup structure changed. The native dialog is also required to reload other add-ins or to recover from a failed in-process reload.

The default workflow is intentionally short. Detailed manual selection, editing, profile authoring, automatic-face-detection rules, and limitations are documented below.

Is it a good fit?

Use it when two solid bodies or body occurrences meet across parallel planar faces and the connection locations can be represented by sketch points. The bodies may live in different or nested components of the active assembly. It is useful for printed housings, covers, brackets, and other parts that need repeatable screw-and-insert alignment.

It currently does not infer curved or angled interfaces, arbitrary multi-body stackups, or broken references after major model changes. Automatic face detection is limited to a unique opposing planar face in the direction into the Screw body. The detector first finds the Screw body's exit face and measures the configured tolerance only from that exit to the Insert Entry Face. Its default gap tolerance is 0.2 mm, and the dialog accepts any positive value up to 100 mm; the last entered value is remembered for the next start. Manual face selection is available when the geometry is unusual.

Command and selections

Open Solid > Create > Insert Connection. The Action dropdown switches the same dialog between Create New and Edit Existing.

For the default Create New workflow, create a sketch on the face where the screw is inserted, add the connection points there, and select:

  • Locations: one or more sketch points on that face. This comes first;
  • Auto-fill Screw Entry Face from Sketch: enabled by default. The face hosting the sketch is suggested automatically when Fusion exposes it as a planar face;
  • Screw Entry Face: review the suggestion. Clear it to turn off the suggestion for this dialog, then select another matching planar face manually.

With Auto-detect Insert Face enabled, Fusion finds the opposing planar face on another solid body in the active component context, including nested occurrences when the main assembly is active. The detector follows each connection axis from the Screw Entry Face through the Screw body, finds its next planar exit face, and then searches for the Insert Entry Face beyond it. The candidate must face the Screw body, cover every selected location, and be within the selected Auto-detect Gap Tolerance of the Screw-body exit. If multiple candidates are equally close or no unique candidate is found, the command stops safely and explains how to switch to manual selection.

Disable Auto-detect Insert Face when the geometry is unusual or ambiguous. The manual fallback then exposes the original two-face workflow: select Insert Entry Face and Screw Entry Face explicitly. The location points must still lie on the selected Screw Entry Face.

For Create New, select:

  • Insert Entry Face: the outside face where the heat-set threaded insert is installed;
  • Screw Entry Face: the outside face from which the screw enters the screw-side body; and
  • Locations: one or more sketch points defining the connection axes. In the normal workflow this is the sketch-host face used above.

The body owning each selected entry face is always a cut participant. Use Insert Cut Participants (Optional) and Screw Cut Participants (Optional) to add only the other solid bodies or component occurrences that should be cut. Leaving them empty limits each side to its face body. Selecting a component occurrence includes all solid bodies inside it, including nested occurrences; to exclude one of those bodies, remove the component selection and select only the desired bodies individually. A body cannot participate on both sides.

For Edit Existing, select the managed Connection Set and change its Thread Size, Threaded Insert Profile, Insert Hole Diameter Tolerance, Screw Profile, Head Shape, Head Seat Position Reference, Head Seat Distance, or Additional Insert Clearance Depth. The original faces and points are reused.

Head Seat Position Reference controls what the distance means. From Screw Exit Face measures the material thickness between the screw head seat and the face where the screw leaves the screw-side body. From Screw Entry Face keeps the original behavior and measures inward from the outside screw-entry surface.

Preview is available for both actions and is off by default. During preview, the two affected bodies use a temporary 35% opacity override so internal cuts are easier to inspect. The original opacity is restored when preview is disabled or the dialog closes. Orphaned metadata is excluded from Edit Existing when its timeline group or managed features no longer exist.

Hardware library

hardware_library.json contains separate insert and screw profiles. Thread Size filters both profile dropdowns, so mismatched profiles cannot be selected. Each screw profile supplies distinct Button Head and Cap Head clearance diameters.

Insert Hole Diameter Tolerance adds a positive diameter offset to the selected insert profile. The available values are 0.00, 0.05, 0.10, 0.15 and 0.20 mm; for example, a 4.00 mm M3 profile becomes 4.05 or 4.10 mm. This is a simple hardware-fit allowance, not slicer compensation, and it affects only the cylindrical insert hole.

Auto-detect Gap Tolerance is an editable distance in millimetres. When it changes while automatic detection is enabled, the Insert Entry Face is recomputed immediately and the detected face is refreshed without reselecting the Screw Entry Face.

Add Insert Clearance is off by default. When enabled, Additional Insert Clearance Depth extends the insert-side blind hole beyond the nominal insert length. When disabled, the profile depth is used unchanged.

The library includes RUTHEX M2, M3, M4 and M6 threaded-insert profiles (including Short and VORON variants where applicable), plus researched M2/M3/M4/M6 Button Head and Cap Head screw profiles. The complete RUTHEX metric catalogue and screw-dimension sources are documented in RESEARCH_hardware_dimensions.md. Generic example profiles remain available for comparison but are intentionally approximate. Verify every value against the actual hardware datasheet, screw standard, printer/material process, and required tolerances.

Terminology

This project uses threaded insert as the general hardware term and heat-set threaded insert when the installation method matters. This follows the terminology used by RUTHEX for its products and by 3D-printing references for inserts installed with heat. Insert Entry Face remains the geometric UI term for the planar face from which the insert pocket is created.

Restart the add-in after editing the library so its dropdowns reload the data.

Lightweight profile editor

Open hardware_library_editor.html in a Chromium-based browser. When browser permissions allow it, the editor automatically loads an adjacent hardware_library.json or reopens the previously authorized file. On the first file:// launch, browser security can require choosing Open Library once. The self-contained editor supports:

  • creating, editing, duplicating, and deleting Insert and Screw profiles;
  • filtering profiles by thread size;
  • validating required fields, unique IDs, positive dimensions, and clearance relationships; and
  • saving through the browser's File System Access API or downloading a replacement hardware_library.json when direct file access is unavailable.

Browser security requires an explicit file selection and save confirmation. Restart the Fusion add-in after saving profile changes.

For the simplest Windows workflow, double-click Open Hardware Library Editor.cmd. It starts the bundled PowerShell loopback server and launches the editor with the adjacent library already loaded. Save writes the validated JSON directly back to the same folder. Close the PowerShell window to stop it. No Python installation, administrator rights, or other runtime setup is required for the normal Windows workflow.

MVP constraints

  • Capture Design History must be enabled.
  • Both targets must be different solid body instances. They may be in different or nested components when selected through the active main assembly.
  • In manual mode, Insert Entry Face, Screw Entry Face, and the location sketch must be parallel.
  • All locations must be sketch points from the same sketch.
  • Assembly occurrence proxies are supported for the selected faces, sketch points, and cut participants. Curved faces, arbitrary cutter bodies, and automatic reference repair are not supported yet.
  • Automatic Insert Face detection supports planar opposing faces only; it does not infer curved, angled, or multi-body stackups.
  • Connection Sets use native Hole features, linked projection sketches, a construction plane, User Parameters, Design Attributes, and a named timeline group.
  • Helper sketches share a numbered HIC <id> name prefix so they remain adjacent in the Sketches folder. Fusion's public modeling API does not currently expose custom Sketches subfolders.

Installation

Keep the Git repository outside Fusion so it can be updated normally with Git. On Windows, clone it for example to:

%USERPROFILE%\Documents\GitHub\FusionHeatInsertAddIn

Easiest Windows installation from a ZIP

  1. Download Code > Download ZIP from the GitHub repository.
  2. Extract the ZIP to a normal folder. Do not run the files from inside the ZIP archive.
  3. Double-click Install Fusion Add-in.cmd.

The script copies only the Fusion runtime files to the current user's Fusion Add-ins directory. It does not require Git, Python, administrator rights, or a fixed Windows user name.

Installation from a Git clone

From the repository directory, double-click Install Fusion Add-in.cmd, or run:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\Install-FusionAddIn.ps1 -Clean

The script copies only the Fusion runtime files to:

%APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\FusionHeatInsertAddIn

%APPDATA% resolves to the current Windows user's profile, so the script does not contain a fixed user name. Use -FusionAddInsRoot only when Fusion uses a non-default add-in location.

The profile editor remains in the repository. Double-click Open Hardware Library Editor.cmd to start a small loopback-only PowerShell server and open the self-contained HTML editor in the default browser. Python is not required for this normal workflow, and the editor can load and save the adjacent hardware_library.json directly. Close the PowerShell window to stop the local server. Save the updated library there, then double-click Install Fusion Add-in.cmd again to copy it into Fusion. The -Clean switch removes repository-only files left by older direct-copy installations.

The Python loopback server remains available for development, but it is not needed for normal users.

The manifest enables startup loading. If Fusion is already running, use Solid > Create > Reload Threaded Insert Connections after replacing the files. The native Utilities > Scripts and Add-Ins dialog remains the fallback if the add-in is not currently running or if its startup code cannot load.

Validation boundary

Local tests cover the library, metadata, syntax, and configured Hole directions. These checks do not prove geometry inside Fusion. Before production use, create and edit a Connection Set and visually verify direction, dimensions, save/reopen behavior, and feature health.

AI assistance disclosure

This project was created and maintained with substantial assistance from OpenAI Codex. The repository maintainer directed the work, made the project decisions, and is responsible for reviewing and using the result.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages