Hotwire Foam Cutting

96 views
Skip to first unread message

step4linux

unread,
Dec 10, 2009, 1:20:18 PM12/10/09
to dxf2gcode-dev
hi,

I put together a couple of ideas for foamcutting:

- what is a hotwire foamcutter (HWFC)?

A HWFC moves a straight heated wire. The movement is done by moving
both ends of the wire independently.
One end is moved related to a X-Y cartesian coordinate system, the
other end related to a U-V coordinate
system, which is parallel to X-Y. When the position in X-Y is the same
as in U-V, the wire is perpendicular to both coordinate systems
(perpendicular to X-Y plane and U-V plane). The movement of the
wire can be controlled by a cnc-controller, using X-Y and U-V axes.

- how to cut a cylinder

If both ends of the wire move synchronized circular (a full circle), a
cylinder is cut. To move synchronously, 4-axes-gcode like
G01 X100 Y200 U100 V200
must be used.
The first problem here is: there is no 4-axis G02/G03 code. So we
cannot move really circular. The circle must be done by small linear
segments.

- how to cut a cone

To cut a cone, we need circles of different sizes on both ends.
But the circles (or generally the shapes) of the drawing are related
to the ends of the workpiece, not to the X-Y and U-V planes.
The drawn shapes are typically cross-sections at both ends of the
workpiece.
The shapes at the U-V and X-Y planes must then be calculated. They
depend on the size of the workpiece
(distance between the cross sections), the distance between the U-V
and X-Y planes and the position of the
workpiece within the planes.

- cutting with an angle

So far we have assumed that the coordinate planes and the workpiece
cross-sections are all parallel. This
is always true for the coordinate planes, but there might be an angle
between those and the cross-sections.
At least a horizontal angle is helpful. I don't think a vertical angle
is necessary.

- cutting complex shapes

A complex shape is an arbitrary mix of splines, arcs and linear
segments. And the shapes might be completely different on both ends.
If you drive X-Y and U-V just independently, the result is probably
not what you want.
I do not know, if there is a real, complete solution for this
situation. For sure there are limitations. A
straight wire is a straight wire, and also the movements at its ends
are limited by the dimensions of the machine.
But there are some things we can do:
If we want to cut a sharp edge at a certain position, we have to make
sure, that the wire arrives at this position at the same time on both
ends. I call this a "syncronisation point".
So we might define a number of these sync points. The movement bewteen
shall be synchronized. But the speed in g-code is always related to
the X-Y-Z axes. If there are splines and arcs between two sync points,
we must devide the paths into an equal number of pieces on both sides,
to achieve a sync move.
Example:
a practicle example can be found here:
http://www.rc-network.de/forum/showthread.php?t=172458

- Kerf

similar to the tool dimension of milling, there is a kerf here too.
Unfortunately it is not constant, like a tool diameter for milling. It
depends on the wire thickness, the temperature, the cutting speed and
the material. So typically the kerf is a mystery, and everybody knows
a secrete way to estimate it. (Of course for a known combination you
can measure it).
A typical HWFC software allows at least a different input for the kerf
on both sides. On the side with smaller dimensions (shorter path to
cut), the speed is lower, and the kerf is bigger. With complex shapes,
theoretically it would be nice to have different kerf settings between
two sync points. (could be an overkill ?)

- How to prepare the drawing, parameters

The drawing for a HWFC is supposed to contain pairs of shapes. One
pair of shapes defines a cut. The shapes are cross sections of the
work piece. The planes (XY, UV), and Kerf must be assigned.
Machineparameter is the distance between XY and UV. Addtional
Parameters are the size of the workpiece and
its position (distance to XY(UV, angle)

- 3-D cutting using a turntable

Adding a turntable with its axis perpendicular to the wire would add
another degree of freedom to cut 3D. Not
sure if this can be in the scope of d2g.

Gerd







Anthony Ollerton

unread,
Jan 11, 2020, 4:16:57 PM1/11/20
to dxf2gcode-dev
Is there any other interest in this?
Would be great if this could be implemented, there are not a lot of other options out there for 4 axis cutting

Neville Reichman

unread,
Jan 11, 2020, 8:00:04 PM1/11/20
to dxf2gc...@googlegroups.com, anthony....@gmail.com
Hi Anthony,

yes I am interested in foam cutting and the possibility of finding a software to handle complicated shapes. I’m on the mail list for dxf2gcode but I have never succeeded in implementing it for foam cutting.
Unfortunately I have very limited knowledge of programming and Python is totally foreign to me. But I somehow manage with the simple system that I currently have in use.

I bought a complete package several years ago, a foam cutter that runs using DeskCNC to generate the G-Code and Mach3 to drive the step motors. The small advantage of DeskCNC is that it can handle similar but different sized shapes on the X-Y and U-V axis. This was made in order to create airplane wings I assume. So one shape can be loaded for the XY axis and another similar but larger shape for the U-V. The direction of cut can also be changed from CW to CCW to get interesting effects. DeskCNC will calculate a synchronous cut by dividing each shape by an equal number of steps. When the shapes become too complex for DeskCNC, I break them down into smaller segments, generate the G-Code for each segment and then join the separate codes into one toolpath manually using a text editor.

I also have a turntable and have found a way to incorporate it into the cutting process. So for example, a line of code such as G01 X10 Y10 U10 V10 would need to receive an additional value, say C90.00.
To do this I set up my object in 3D software (Rhino) as I would cut it on my machine. I determine the angle of rotation at different intervals together with the cutting path. Then I create a separate graph of these angles which is plotted against the step number from the original G-code for the foam cut. I now use DeskCNC to create a "pseudo-toolpath" for the rotation. Both of these toolpaths are now imported into FileMaker and broken down into individual records with X, Y, U and V values. By creating a relationship between the two tables of records I can select the value of rotation from the line of code from the pseudo toolpath and add it to the original cutting toolpath. This way I get a 5-axis cut resulting in quite a smooth surface as the rotational incremental changes are usually very small.

Ideally I would like to find a software that could handle sophisticated foam cuts as my approach is obviously very time consuming.
I would be grateful for any tips on what’s availabe out there.

Neville





--
--
You received this message because you subscribed to the Google
Groups-group "dxf2gcode-dev".
To post a message, send mail to dxf2gc...@googlegroups.com
To unsubscribe, send mail to dxf2gcode-de...@googlegroups.com
See http://groups.google.de/group/dxf2gcode-dev?hl=en for more options
and the dxf2gcode project page at http://code.google.com/p/dxf2gcode/
---
You received this message because you are subscribed to the Google Groups "dxf2gcode-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dxf2gcode-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dxf2gcode-dev/52f1b981-e28a-40e1-8888-30a6fde75040%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages