Skip to content

A heuristics driven approach to generate sheet metal part designs

License

Notifications You must be signed in to change notification settings

maxim-moellhoff/hgen-sm-preview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

118 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Screenshot 3 Screenshot 4

Screenshot 1 Screenshot 2

Screenshot 3 Screenshot 4

⚠️ Repository Preview Notice

Note: This repository (hgen-sm-preview) is a restricted preview version of the full hgen-sm project.

This work was developed as part of my Master's Thesis at the IPEK - Institute of Product Engineering at KIT, under the supervision of Professor Matthiesen.

Certain core logic files related to automated geometry generation and strategy selection are currently withheld from public view as they are part of an active academic/technical publication. These files have been replaced with placeholders in this version.

Requesting Full Access

If you are a reviewer, researcher, or collaborator and require the full source code for evaluation, please contact me directly:

I am happy to provide the complete repository to verified parties upon request.

How it works

The user gives two rectangles as an input, and the program tries to find different ways to connect those two rectangles in way, that is manufacturable. Solutions are generated in two ways. Either by finding the intersection of the two planes and connecting them, or by selecting 2 points from one rectangle and 1 point from the other, and creating an additional tab on that plane.

How to run it

  1. Open the main folder in an IDE or in the console
  2. Create a virtual environment python3.13 -m venv ./venv
  3. Activate the virtual environment source venv/bin/activate
  4. Install dependencies (the . at the end is important) pip install -e .
  5. Run the program python -m hgen_sm

How to use it

In user_input.py you can provide the input values you want. In config.yaml you can configure what should get plotted.

Explanation of Abbreviations

  • BP = Bending Point

  • CP = Corner Point

  • FP = Flange Point

  • 0,1,2,... = ID of Tab

  • A,B,C,D = Corner Points of user input rectangle

  • L = Left Side of Flange

  • R = Right Side of Flange

Development Goals

  • Part generation
    • Generate solutions for 1 bend
    • Generate solutions for 2 bend
    • Extend part generation to multiple rectangles
    • Filter solutions that are unsuitable
    • Improve flange visuals
    • Introduce collision filter
    • Improve angle filter
    • Introduce more complex sequences
    • Introduce mounts
    • Introduce rule "Minimum distance mount from bend"
    • Generate solutions by separating surfaces
  • Export
    • Create JSON Export
    • Connect to Onshape API (Creates Onshape Featurescript)
    • Check parts with TruTopsBoost
  • README
    • Extend installation guide
    • Explain function more precisely

Miscellaneous

Image Gallery

About

A heuristics driven approach to generate sheet metal part designs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages