Production & Planning
Turn press, profile and process inputs into billet sizing, production quantities and technical press time.
- Geometry & productivity
- Multi-billet configurations
- Sequences & press comparison
PYTHON LIBRARY · ALUMINIUM EXTRUSION
Engineering calculations for the people
who know what goes into an extrusion.
THREE WORKING AREAS
Plan the production. Explore the engineering.
Understand the economics.
One consistent Python toolkit.
Turn press, profile and process inputs into billet sizing, production quantities and technical press time.
Explore source-traced material models and analytical mechanical and thermal tools, with explicit model boundaries.
Connect production results to costs and margins using assumptions you supply and can inspect.
ENGINEERING PHILOSOPHY
An extrusion is more than an extrusion ratio. The useful answer also depends on the press, the billet, the cuts and the time between them.
Read the model boundariesThe same inputs produce the same results. Calculations follow explicit rules and caller-supplied assumptions.
Inspect units, applied defaults, process choices and warnings. Know what each result represents.
Pressure is an axisymmetric screening baseline. Thermal tools are bounded estimates. Industrial judgement remains essential.
FROM INPUT TO INSIGHT
A worked example from the User Guide.
01 / PROCESS INPUTS
Normal complexity. Default nominal-press geometry, saw kerfs, butt rule and dead time apply.
02 / CALCULATED PLAN Target fulfilled
Technical time includes extrusion and modelled dead time between billets. It is not a full shift or delivery-time forecast.
See the complete example & assumptionsfrom pyextrusion import (
Press, Profile, Process, PlanningCase,
PlanningRequest, calculate_planning,
)
press = Press(
name="Example 8-inch press", nominal_size_in=8, table_length_m=54,
)
case = PlanningCase(
profile=Profile(linear_weight_kg_m=1.35, exits=2, profile_type="solid"),
process=Process(
exit_speed_m_min=24, cut_length_mm=7000,
trim_total_per_billet_m=2, complexity="normal",
),
)
plan = calculate_planning(press, case, PlanningRequest.bars(300))
print(plan.planned_billets) # 30
print(plan.planned_bars) # 300
print(plan.planned_good_kg) # 2835.0
print(round(plan.time_used_min, 2)) # 53.54
DESIGNED FOR PYTHON. BUILT FOR EXTRUSION.
Use the Python API in your applications and analysis tools,
or work with the JSON and command-line interfaces.

KEEP EXPLORING
Updating an existing project? v0.20.0 adds explicit production-family selection when changing cuts. Automatic mode retains the 0.19.0 behavior. Review trim topology & legacy migration before reusing older inputs.