I decided to cover more detail in case someone who is designing tubing assemblies needs to know a little more about calculations for a tube bender. I know many here actually design and plan to do their own bending.
Note, these are examples.
Say you have one inch steel tubing with a 4 inch radius die from the manufacturer.
If you are going to calculate bends for the bender, the first step is bend a 90 degree bend with some extra on the legs.
You can use machinist marking blue to be more accurate. With straight edges find the start of the bend and measure the actual setback the die bent.
Lets's say that the actual setback is 4.04. So for the setback radius use 4.04.
The bend allowance radius is tricky. Many times just using the die centerline radius works.
Sometimes you need to add to that:
Code: Select all
Add .04 X 2 = .08 to the Bend Allowance (BA).
BA for 4 inch = .0174533 x 4 x 90 = 6.283188
New BA is 6.283188 + .04 + .04 = 6.363188
Then:
.0174533 x 90 x new radius = 6.363188
6.363188 / 1.570797 = 4.05092956 or 4.051
BA radius is 4.051
Code: Select all
So when calculating setbacks and bend allowances:
SETBK1 = math.tan(math.radians(.5 * A123)) * SBR
SETBK2 = math.tan(math.radians(.5 * A234)) * SBR
LGBD1 = .017453 * BAR * A123
LGBD2 = .017453 * BAR * A234
SBR = setback radius
BAR = bend allowance radius
There are some cases where you have to actually use a smaller BA radius.
For example:
SB radius: 4.04
BA radius: 3.98
Each die, tube material, and whether using a mandrel or not make a difference. Also try the new setback radius and die stamped radius first.
Another technique I have seen, but not used yet, see image:
On the sample 90, measure 3 or 4 chords and the segments for those chords.
Then:
Code: Select all
# -*- coding: utf-8 -*-
# By Jim Whitaker
import FreeCAD, FreeCADGui
import Draft
import math
import csv
# from math import math.cos, math.sin, radians
from PySide import QtGui
convert = 25.4
TOTAL = 0
getDouble = QtGui.QInputDialog.getDouble
Vector, Placement = App.Vector, App.Placement
doc = App.ActiveDocument
start_point = Vector(0, 0, 0)
#length, ok = getDouble(None, "Ouija Central", "Length:", decimals=3)
CHD, chdflag = getDouble(None, 'example', 'Chord length', decimals=4)
#RTT *= convert
SEG, segflag = getDouble(None, 'example', 'Segment length', decimals=4)
HCHD = CHD / 2
X = HCHD ** 2 / SEG
D = X + SEG
R = D / 2
print('Radius', R)
You measure across for chord and center of chord to center. Use the same distance on each side from curve end (bend begin point)
In softer tubing usually just one radius can be used for the bend allowance radius and setback.
Springback
I have seen some complex equations for this. But if you make a graph of some bends like:
Code: Select all
Bent to | Amount sprung back
I would suggest at least 4 test bends, maybe a 30, 45, 70, and 90. Maybe even do one 110 or 120.
Also a side note, you could have two of the same dies from the manufacturer, yet one can produce slightly different bends.
Tube bending is never an exact science, especially springback, it's all empirical data.
WIth a chart, you can line up and get close.
Notching
I will just add, I like the curves workbench flatten face feature.
If just eye balling all of this, there are several Youtube videos on making a cheater to figure your bends. I have done both in the past.
Code: Select all
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.2.29177 +426 (Git)
Build type: Release
Branch: (HEAD detached from 0.20.2)
Hash: 930dd9a76203a3260b1e6256c70c1c3cad8c5cb8
Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.3
Locale: English/United States (en_US)
Installed mods:
* Curves 0.6.9
* Help 1.0.3