Skip to content

neurobionics/spring-design-tool

Repository files navigation

Spring Design Tool

A powerful software tool designed to facilitate the creation of lightweight torsion springs.

Design Tool Interface Spring Design Animation

📥 Download

Get the latest release.

🚀 Installation

For MATLAB Users

  • Ensure you have a MATLAB license.
  • Double-click on spring_design_tool.mlappinstall (found here).
  • Open MATLAB and find the tool under My Apps.

Without MATLAB License

  • Compatible with PCs.
  • Open the DesignToolStandalone zip folder
  • Check the readme.
  • Double-click spring_design_tool to install and open the Design Tool as a desktop application.

🛠️ Usage

  • Hover over labels or data fields for explanations of each input.
  • For 'Optional' arguments, inputting 0 lets the tool calculate values automatically.
  • Once inputs are set, click Create Spring to generate your custom design.
  • For optimal performance, enter a 'Run Time' of 15-30 seconds.
  • If satisfied with the design, select your output 'File Type' and 'Units' and click Download Design.
    • Choose the 'File Type' based on your CAD software (e.g., .txt for Solidworks, .csv for Fusion360 and Onshape).

📄 Outputs

The tool outputs xyz-coordinates for your spring design with various curve options:

  • Raw: The precise spline of one flexure as optimized by the tool (no added tip or fillets).
  • Pattern: The raw spline of one flexure, but with circular tip and fillets added.
  • Wedge: A single wedge-slice of the full spring geometry (includes outer rim/dowel hole).
  • Inner: The inner curve of the full spring, including all flexures, tips, and fillets.
  • Outer: The outer curve of the full spring with all semi-circular cutouts for the dowels.
  • Cam_profile: The complete curve of the camshaft, including all gear-like teeth.
  • Cam_raw: The curve of the contact surface (no fillets or extra geometry).

If you forget which settings you selected for your spring design, check README_spring_properties in the output folder!

🧩 Create Solid Model

For OnShape Users (recommended)

  • Ensure you downloaded the curves as .csv files with m for units.
  • Copy this template to your preferred OnShape folder.
  • Import raw_m.csv and cam_raw_m.csv to your copied workspace.
  • In the Variable Studio, update workspace variables with the values found in README_spring_properties (in the output folder).
  • In the Part Studio feature tree, edit Cam_Raw CSV and Raw CSV by updating their respective tables to reference your new .csv files.
  • Open the first sketch (Spring & Cam Geometry) and resolve errors:
    • Delete curves with broken relationships.
    • Click on new curves and convert to sketch (u).
    • Make any adjustments to ensure the geometry is closed.
  • Exit the sketch and resolve any final details (the fillets often lose their reference).
  • Make any custom modifications you'd like!

For Other CAD Software

You will need the following resources to import the spring geometry:

  • SolidWorks: Curves Through XYZ Points
  • Fusion 360: ImportSplineCSV (UTILITIES > ADD-INS > Scripts and Add-Ins)
  • Other: Search for tutorials using "CAD_SOFTWARE_NAME curve through xyz points" for guidance.
⚡ Quick Model
  • Spring:
    • Import inner and outer using your preferred CAD package.
    • Start a sketch on the same plane and pull both curves into the sketch.
    • Extrude the enclosed area.
  • Cam:
    • Import cam_profile and extrude.
🔍 Detailed Model
  • Spring:
    • Import raw using your preferred CAD package.
    • Start a sketch on the same plane and pull the raw curve into the sketch.
    • Sketch the rim wedge to close the open end of the flexure.
    • Extrude the enclosed area.
    • Sketch and extrude the flexure tip according to 'tip radius' and 'contact radius' as defined in README_spring_properties.
    • Add fillets at the tip geometry (same radius as 'tip radius') and flexure root (approximately 1/2 the rim thickness).
    • Use circular patterning to duplicate the model based on the number of flexures (n) defined in README_spring_properties.
  • Cam:
    • Import cam_raw and pull the curve into a new sketch on the same plane.
    • Sketch the root geometry allowing clearance for the flexure tip.
    • Close the rest of the sketch.
    • Extrude.
    • Mirror the body across the centerline of the flexure.
    • Use circular patterning for the cam by the number of flexures (n) defined in README_spring_properties.

📚 Examples

Explore possible applications for torsional springs, and notice the mass and volume savings that can be achieved with this design tool:

Spring Examples

About

a software tool that facilitates the design of lightweight torsion springs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages