Skip to content

wjo277/ProfileCutOptim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Profile Cutting Optimizer

A Python application that optimizes cutting of profile raw materials (steel, aluminum, etc.) to minimize waste.

Features

  • Best Fit Decreasing (BFD) algorithm with local swap optimization
  • Support for miter cuts (Gehrung) with angle tracking
  • Excel output with 3 sheets (Cutting Plan, Unfulfilled Demands, Summary)
  • Print-ready formatting for direct use on the shop floor
  • Simple GUI interface for easy operation

Installation

# Navigate to project directory
cd c:\Projects\ProfileCutOptim

# Create virtual environment (optional but recommended)
python -m venv venv
venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Usage

GUI Application

python -m src.main

Running Tests

python -m pytest tests/ -v

Input Files

Stock Inventory CSV

Column Description
part_number Profile part number
lot_batch Lot/batch identifier
length Length of stock piece
length_limit Max piece length (optional)
storage_location Storage location
uom Unit of measurement

Demand List CSV

Column Description
order_no Order number
line_no Line number
component_part_number Required part number
part_description Description
lot_size Assemblies in order
required_qty Pieces per assembly
length Length per piece
demand_date Required date (YYYY-MM-DD)
cut_type straight or miter
angle_left Left angle (degrees)
angle_right Right angle (degrees)
cutting_code Cutting code reference
uom Unit of measurement

Parameters

Parameter Default Description
Cut Thickness 3.0 mm Material lost per cut (kerf)
Timespan 30 days Days to include in optimization
Min Remnant Length 100 mm Minimum to save as remnant
Good Enough 5% Waste threshold to stop optimization

Output

The application generates an Excel file with:

  1. Cutting Plan - Hierarchical view of cuts per stock piece
  2. Unfulfilled Demands - Orders that couldn't be fulfilled
  3. Summary - Waste statistics per part number

License

MIT License

About

Profile Cutting Optimization tool with BFD algorithm, GUI, and pattern visualization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages