Plate parametric

HelpCadfil Help contents Home

The Cadfil plate winding software is a program that generates full numerical control (NC) data for the winding of flat plate mandrels.

Organisations working in research and development or in design and quality management often have a requirement to make flat specimens to perform tensile tests, flexural tests, fatigue tests, impacts tests......

It can be difficult to obtain full design data from tests on standard filament wound samples e.g.. rings and pipes, it is also difficult to make true comparisons with composites made from other manufacturing processes. The CADFIL-Plate software is a ready solution to these problems as it allows an interwoven +/-angle winding onto a rectangular flat plate mandrel.

Its is possible to produce multi-angle wind angle programs comprising of any combination of +/- wind angles. For example, it would be possible to wind 4 layers of +/-0, followed by 3 layers of 900 to imitate the fibre layup on a specific filament wound part.

For the full range of angle combinations, the plate mandrel must be such that it has adjustable shafts that allow the winding to be stopped and the plate to be changed over so that it can be rotated it about its other axis. A mandrel or mandrel drawings to allow the customer to manufacture a mandrel can be supplied as required. Low cost mandrels can be used.

The user creates a control file with parameters such as plate height, width and thickness, band width, wind angle and required sample length and some other control parameters. The software automatically creates NC data for 3-6 axes (for most applications only 3 axes are required, mandrel rotation, carriage and cross-feed). Fibre and payout paths and a mandrel definition can be automatically created for visualisation in the CADFIL software.

The machine positions are calculated to give close control of the fibre payout and fibre speed to prevent fibre breakage on the plate edge. High quality windings can be produced by the software.

Because flat plate windings have poor fibre consolidation some pressure is required during curing. This can be done by curing in a press, but satisfactory results can be obtained by curing the wound plate between steel sheets with a weight placed on top.

Following selection of the PLATE parametric option at the QuickCAD menu.



Plate parametric data entry

No. of points on turn radius.

This parameter (NPT) is an integer (whole) number that must always be odd (i.e. 7,9,11....). The programmed fibre path on the mandrel surface assumes that the end of the edges of the plate are round with a radius equal to half the plate thickness. This results in a smoother machine motion when winding, and reduces 'snatching' of the fibre that could cause fibre breakage. It is not important for the mandrel to actually have rounded edges but some radius is recommended on the plate edges, as a sharp corner can cut the fibres. All the data points on the winding paths are on the rounded ends (the path across the plate is always a straight line). This parameter is the number of data points in the fibre and payout track around the mandrel edge. There will be 2*NPT data points per mandrel rotation when winding. For accuracy the software does not allow a value for NPT of less than 7, if a value of less than 7 is used the software will warn the user with a message and then actually use a value of 7. If an even value of NPT is used, the software will warn the user and will use a value that is 1 greater.

Advance Parameter (IADV)

The is an integer value and takes the values 1 or 2. If one is used the required wind angle is only given on one face of the mandrel. The other face will have a wind angle of around 90o.

If a value of 2 is used (see figure below) the wind angle is given on both faces, but the length of mandrel required for a specified sample length will be much longer. Mandrel length is an issue if the mandrel is to be rotated about both axes as the length cannot exceed the maximum machine capacity for diameter. For wind angles that are less than about 60o slippage at the plate ends may occur when the wind angle is on one face only (see below figure for IADV = 1), and therefore the wind angle must be specified for both mandrel faces in this case (IADV = 2).

Front & Back faces of plate with face advance parameter 2

Cadfil Plate winding- Front & Back faces of plate with face advance parameter 2

Front and Back faces of plate with face advance parameter 1

Cadfil Plate winding - Front & Back faces of plate with face advance parameter 1

Wind angle (THETA)

The wind angle specified is always the angle relative to the machine carriage axis. For example, 90o is hoop fibres and 0o is axial fibres with respect to the machine carriage axis. The advance parameter above can be set to give this wind angle on one or both mandrel faces. The wind angles achieved will depend on the options set. The software displays on the screen the wind angles that will actually be used. These angles are referred to as

THETA1, THETA2, THETA3 and THETA4 these are as follows:

THETA1 Wind angle on front mandrel face on forward carriage stoke.
THETA2 Wind angle on rear mandrel face on forward carriage stoke.
THETA3 Wind angle on front mandrel face on return carriage stoke.
THETA4 Wind angle on rear mandrel face on return carriage stoke.

If hoop winding (90o) is required the user can specify THETA as 90o. The software will automatically generate wind angles such that the carriage advances one fibre band-width per mandrel rotation. Read the special notes on hoop winding.

Plate Dimension and Clearance parameters

Cadfil Plate winding Dimension and Clearance parameters

Required Wind Length (WLREQ)

In general there will always be some scrap material at the ends of the winding. The software will generate a winding program that gives the +/- winding angles over a rectangular area that is the Required Sample Length x the Plate Height. In some cases a longer sample of full +/- winding can be cut from the plate but of reduced height .

Fibre Band width (BWID)

The band width is the actual width of the filamentary material that is being wound onto the surface. It is usually specified in mm. Large band widths will lead to less flexibility in exactly obtaining specific wind angles as the band progression will be greater.

Plate Height (PHITE)

Plate height is the mandrel rotating diameter when winding, and is usually defined in mm. This value must be correct for accurate generation of winding programs (see Figure).

Plate Width/Length (PWID)

This value is the length of the plate (along the machine carriage direction when winding) and is usually in mm. The value is used for checking that the mandrel is sufficiently long for the sample size requested (see Figure). It is also used for location of the carriage over-travel limits (see CLREND)

Plate Thickness (PT)

This is the thickness of the plate used, usually in mm. It us used in the calculation of mandrel clearance, and for the radius assumed at the plate edges (see Figure). The axis of rotation of the mandrel is assumed to pass through the geometric centre of the plate.

Top, Side and End Clearances (CLRT, CLRS, CLREND)

The calculated machine positions in the .PAY file lie on an elliptical surface (See Figure) around the mandrel when view end on (along the carriage axis). This allows close control over the fibre whilst allowing clearance to be made between mandrel and delivery system. There are three parameters, Clearance Top Edges, Face Clearance and End (overshoot) clearance. These are shown in the diagram above. These values are normally in mm.

Start Position from Plate End (XSTART)

This is the location of the start of the winding pattern on the plate relative to the most negative edge of the plate (with respect to the carriage axis positive direction) and is normally in given in mm. By changing this value, the position of the winding on the mandrel can be changed. This parameter permits a positive or zero value, however if a negative value is specified the program will automatically fix the program start position such that the centre of the usable sample is at the centre of the plate. This facility is useful if a number of different wind angles are used as the usable portions of each program will thus have maximum overlap.

File stem name

The first line on the control file contains the stem name for the data files the software will create. For example if the name was PLATE1 the software will create output files PLATE1.FIB and PLATE1.PAY and the default NC data file will be PLATE1.PRG. Because this item is read as text, no text should follow on the same line as this data item.

The user should now select the POST-PROCESS option. Post-processing as exactly as for the CADFIL software with the following exceptions:

1)The user is not asked to select a band pattern as this has been pre-determined by the software.
2)The software allows the program cycle to have a different carriage position at start and finish to allow for band indexing along the mandrel.
3)The initial codes may be different for the program start position as unlike standard axisymmetric winding the initial rotational position of the mandrel is very important.

Details on the use and configuration of the post-processor can be found in the CADFIL user manual. See also, notes on combining winding programs and special considerations for hoop winding programs.

Plate parametric error messages

Many of the error messages produced by the software should be self-explanatory, a few need further discussion which is given below.


This message is given if the plate dimensions and other parameters produce a winding that is longer than the mandrel. There are a number of ways of removing this problem. For example make a longer mandrel (remembering that if the mandrel is to be rotated about the other axis also the length must not exceed the maximum mandrel diameter of the machine). Other alternatives are to ask for a shorter sample length or to set the IADV parameter to 1 rather than 2 or to use a mandrel with a smaller plate height or to use a higher wind angle. Setting the IADV parameter will make the most difference but then usable sample will only be obtained from one face of the mandrel.


When hoop winding (winding at an angle such that a full layer is produced by one carriage stroke), the software demands that the IADV parameter is set to 2. The user must exit the program and change the control file to reflect this. Hoop winding is discussed further in a following section.


This is discussed in the main help topic text the user should enter a second file name at this prompt.

Using / combining plate NC programs

The plate winding program produces Numerical Control (NC) data which consists of a main routine which contains set-up information and a sub-program that describes a single carriage circuit. The sub-program is called a number of times by the main program to form one layer. During a single carriage circuit (outward and reverse strokes) the carriage advances by a single bandwidth to give a progression to cover the mandrel. The sub-program generally contains incremental motions, i.e. all motions a relative to the current machine position.

After winding a layer the carriage will have advanced a number of bandwidths. If a number of layers are required a single reverse motion is needed to get back to the initial position. An example is shown below for a FANUC control (syntax varies from machine to machine but the general principles are the same).

M98 P7001 L19;Sub-program Number 7001 is repeated 19 times

A -360.00 X-120.00;The band width was 6 mm thus the carriage is moved back (19+1)*6mm. The 360 degree mandrel rotation is to prevent fibre slippage.

M98 P7001 L19;Wind a second layer

The software automatically creates the first sub-program call but the additional calls and intermediate motions must be entered manually.

In the main program the software calculates the program start position so the machine can automatically move to the start position. As the mandrel is not rotationally symmetric the original rotational position of the mandrel is very important . The software assumes that the plate is in the horizontal position prior to the program being run. Positioning the mandrel in 'jog' mode using a spirit level is the best way of achieving this.

If winding programs for different wind angles are created the software will create a full NC program for each wind angle. It user can edit these programs together manually if these need to be wound continuously. Care must be taken to ensure continuity of mandrel rotational position and payout position between programs.

When running NC programs for the first time the user should ensure that he is in a position to stop the machine quickly as minor errors in machine setup can lead to damage to the machine of mandrel if a clash results.

Plate Hoop winding

When the user specifies a wind angle of 90 degrees or a wind angle greater than:


Then the format of the winding program will be slightly different. As bandwidth is generally quite small relative to the length to be wound there would be a large number of mandrel rotations for one carriage circuit. The NC data would thus be very large and perhaps too big for the memory of the winding machine. The program is such the for every rotation of the mandrel the carriage advances 1 band width (the cross feed moves during this cycle however).

The software created two payout files, and the user is asked to provide a name of the second set of .FIB and .PAY files. At the post-process stage the user must process both payout files that have been created thus creating two sets of .PRG files. The first NC program will have an NC sub-routine that is called a number of times to form the outward part of the carriage circuit and to provide a full 'half' layer. the second set of NC data will have a second NC subroutine that is called a number of times to give the return part of the carriage circuit.

E.g. for a FANUC control the first program might contain:

M98 P7001 L126;Sub-prog 7001 repeated 126 times

The second NC program created might contain

M98 P7004 L126;Sub-prog 7004 repeated 126 times

The subroutine 7004 can be added to the first program and the call inserted to give:

M98 P7001 L126;
M98 P7004 L126;

If several layers are required then use:

M98 P7001 L126;First layer
M98 P7004 L126;
M98 P7001 L126;Second layer
M98 P7004 L126;

Updated: August 25 2023