FoamCutter is a Microsoft Windows program for cutting airplane foam cores on a 4-axis CNC foam cutting machine.

FoamCutter support Windows 98, Windows 2000 and Windows XP and works with the HobbyCNC controller boards. FoamCutter controls the CNC machine through the computer's parallel port.

FoamCutter is offered as freeware. Download the full version, which has no nag features, and go ahead and use it. If you think its a wonderful program I won't mind a contribution, but no pressure.

A video of the software in action can be viewed by clicking on the Video button.

To download a copy of FoamCutter with user and installation documentation, click on the Download button below.

A zip archive containing a sample set of data files can be downloaded by clicking on the Samples button. The archive also contains a file for conveniently cutting kerf measurement cores 1" by 1" in size.

This program is primarily written to support my wing buiulding and core cutting business. Therefore I have decided to make a number of changes to how it is distributed. I am going to make the sources available for anybody to use, with one licensing requirement: that any changes and enhancements must be submitted to me for possible inclusion in my distribution, and also that if you use code or knowledge derived from the sources to write or enhance some other program, it must be offered on the same terms. It will take a little while for me to implement these changes.

Some of the features I have built into FoamCutter are:

  • FoamCutter is written in managed C# using Visual Studio 2008. It is a modern program that works on modern computers
  • Ability to use airfoil definition files (.DAT) with different numbers of data points in the root and tip of a panel
  •  Ability to cut circular holes for joiner tubes and wiring channels at the center of the airfoil
    •  The holes are cut from the bottom and must be at the same fraction of the chord at both the root and the tip
  • Ability to cut spar slots
    •  Spar slots are cut from the top after the top airfoil has been cut and after removing the top bed. They can have any taper and the root and the tip positions can be at any fraction of the chord. They will come out 100% accurately, much better than band sawing
  •  The program is designed for radiant cutting and knows how to compensate for kerf width
    • There is only one kerf calibration required required for each foam type. Once the program has been calibrated for a foam type it will be able to calculate the kerf width at any speed and any heat setting for any cores
  • If two cores are cut with the same airfoil and chord, the bottom beds will line up, even if the cutting speed and heat settings are different
  •  Ability to cut the core at a dihedral angle
  •  Taper and twist are (of course) implemented
  •  The program can thicken the trailing edge to ensure that you will have enough material to trim itexactly to the proper chord.
  •  The program offers a wizard mode that will prompt you through all the steps of cutting a core
  •  The program minimizes movement of the foam to maximize accuracy
  •  The program is almost unit of measurement agnostic. Very minor changes are required to make it completely unit of measurement agnostic
  •  The program runs smoothly on Windows XP and requires no external timer. All you need is a controller that understands the direction and step commands on the parallel port. I currently use a HobbyCNC Pro board and will upgrade to a GeckoDrive G540 as soon as I can spare the time

The quality of the cores is a result of the program and the cutter. The cutter has the following features:

  • I use a vacuum chuck to hold the foam, thus eliminating the need for weights, which have a tendency to push the foam down onto the wire at the end of cuts.
  •  I have zero backlash in my lead screws
  •  Movement is completely smooth with no binding. Steppers are completely aligned with the lead screws and there is zero give in the connection between steppers and lead screws
  •  Heat is set with a regulated power supply and is repeatable to a fraction of 1%
  •  The table is completely flat and the wire travel is exactly parallel with the top of the table on the X and X axes

The final quality determinant is the care and precision of the operator:

  •  The foam must be precisely placed before blocking. I use a right angle to ensure that the edge of the foam is exactly at 90 degrees to the edge of the table, and I have scribed lines on the table at every inch from the end of each wire
  •  If the blocked foam has any residual tension and curvature, it  must be placed so the leading and trailing edges both rest on the table and the center is lifted off the table before the vacuum pulls the foam flat
  •  After skinning there may be a ridge at the point where the wire leaves the block. This must be sanded flush for ultimate accuracy
  •  No leaning on the table while cutting is in progress

I hope all of this will be of value to the part of this community that cuts wing cores. Even better, it may potentially be of value to the rest of the community.

To download a complete set of sources, click on the Sources button. By clicking on the button you have agreed to the licensing terms described above.

HyperLink HyperLink HyperLink HyperLink

Update History
Date Version Changes
6/12/2009 1.0.5.102 Lots and lots of changes. Documentation still out of date. New sources.
4/24/2009 1.0.5.66 Many improvements, documentation is not up to date
9/3/2008 1.0.1.10 Improved speed control for more accuracy
Fixed bugs associated with trailing edge margins
Move speed now used when not moving through foam
9/9/2008 1.0.2.31 Added software limits on travel
Allow - to be inserted first in form fields
9/28/2008 1.0.3.35 Added wizard mode for dramatically simplified cutting of foam cores. Also made the program unit of measurement agnostic. You can now use inches, mm, cm, light years, or any other familiar unit of measurement
11/5/2006 1.0.4.36 Enhanced wizard significantly. Added prompts for switching wire heat on and off when using the wizard. Added a field for setting the height of weights placed on the foam. Internal cleanup and streamlining.
11/30/2006 1.0.5.47 Implemented different steps per unit on horizontal and vertical axis. Modified kerf calculation algorithm and input parameters. Bottom beds now line up even if the adjacent cores have been cut with different kerfs. Eliminated stutter in movement after modal dialog box has been dismissed.
12/17/2008 1.0.6.51 FoamCutter now works without an external timer. Added ecceleration to wire movement, not actual cutting. Added ability to thicken trailing edges.