View Full Version : CNC Bender Mathematics Questions


FishGuy876
03-23-2007, 01:02 PM
I hope this is the right forum to post in =) If not, I can always move the post.

I am a programmer with a company that produces semi-rigid circular cable parts. We currently employ the use of 5 CNC benders that use XYZ tables to bend the cable into the shapes we need for our customers designs. Some examples of what we build can be found on http://www.rosenbergerna.com We use cable that ranges in size from 0.070 to 5 inches thick, some are solid copper / aluminium, some are more flexible.

The benders that we currently use are MS-DOS-based, using Parker AT6400 controller cards. Two of the benders are older than that, and contain a huge controller device hooked up via serial port that uses Parker / DigiPlan controllers and relays. Some pics of this ancient beast can be seen at http://www.f1-software.com/gallery/thumbnails.php?album=17

One of the projects that I am working on here is to work on some new software to bring these machines up to a more modern perspective. I have purchased the ACR1505 controller card from PArker along with the SDK's etc. and will be developing a new bending tool in c++ to work with these, plus additional machines.

Problem I am running into is with the mathematics regarding the cable bending process. When a design is submitted to us, a customer typically sends us an X, Y,Z table, which is used to compute the cable in 3d. All points except the first 2 are virtual, meaning they may expand out until they meet, then the arc of the bend sits on either side of the intersection. What I am looking for is links or reference material to how to manually compute this information so I can teach my program how to correctly compute the segment lengths etc. from this data. Any help at all would be appreciated as I have been trying to find it for quite some time.

If you require any more information, please let me know and I will be glad to provide it.

Thanks

Andy Kellett

lerman
03-23-2007, 03:43 PM
I did some coding for a similar problem about 40 years ago, for bending hydraulic lines in aircraft. I believe that the first and last points were actual coordinates, while the middle points were "virtual", to use your term.

I assume that the problem you wish to solve is where to begin each bend given the geometry, that is, the radius of the bend and the bend angle. If an angle of zero represents no bend, then the bend must start a distance equal to the radius of the bend times the tangent of the bend angle before the next point.

The bender I worked on required three items: (1) the distance to feed the tubing before the next bend, (2) an amount to rotate the tubing around its axis, and (3), the bend angle. Given the table of coordinates in three space, the program computed the series of values to use for the machine. It also required the bend radius, which was constant for a given product.

Ken

FishGuy876
03-26-2007, 05:57 AM
Yes, this is exactly the type of work it is doing. I apologize my first post wasn't too descriptive there =)

It works by retracting the axis back far enough to insert the entire length of the cable, then feed it through, rotate it and bend it at the angles needed. The whole process is done through a table of X, Y and Z coordinates, and just like you say, the only two real sets of coordinates are the first and last. The others extend out into space to connect the straights in order to compute the arc.

The way that our DOS benders do it is it uses a file format derived from HP called a Bend file (BND format) which is exported from the CAD program. This places the computations for set length, degree of bend etc. right in the file. We would like to compute this data on the fly using only the XYZ table, and not have to rely on using a CAD program.

Our current DOS programs were written in the early 80's and as such, no source is available for me to port to C++. Any help on where I should start to look is greatly appreciated =)

Andy 'Fish-Guy' Kellett

lerman
03-26-2007, 10:35 AM
This is the type of thing I used to do for a living (before I semi-retired). I would start by producing a functional spec. What are the inputs? What are the outputs? What are the algorithms to get from one to another?

I assume that the inputs are the X, Y, Z tables. The outputs are the signals to drive the hardware. The machine geometry and interfaces will need to be specified with a simple model that can be easily understood by the implementor.

You will need to have or acquire certain skills to do this job. The mathematics is really pretty simple. If you can't handle the trig/geometry yourself, I would suggest finding a consultant to help. A local college might have someone who can help you at a reasonable rate.

I would guess that by the time you are done, it would cost you a few tens of thousands of dollars for the entire job (software only). It's would be a fun job. In some ways, I'm sorry I'm not really available to quote on it.

Ken

mikek10
06-06-2007, 10:24 AM
You can find xyz to ybc (aka lra) conversion programs on the internet by many tube bending machine manufacturers

If you still can't find one contact me