Filter length and filter angle, Block Condensing and Block Merging
Filter length and filter angle
To generate an accurate geodesic path the mandrel must have a relatively large number of patches or elements. Fibre positions are calculated each time the path crosses the boundary of an element. The number of data points on the fibre path is much greater than the number of points required to accurately control the machine. Filter length and angle are used to remove (filter out) surplus data points. Subsequent data points on the fibre path are selected such that the distance between the points on the mandrel surface is not less than the filter length and the angle between the path direction vectors for successive data points is not greater than the filter angle. The default values are suitable for most purposes. The filter values cannot be zero and the filter angle is not permitted to be greater than 900. The internal default is 12 degrees but this can be changed using the SM file variable for example '$SM-FILTER-ANGLE=20.0 sets a default of 20 degrees.
Using very small filter values can lead to many very small motions on the winding machine. In many cases this leads to 'rough' operation of the machine and can lead to an increase in winding time.
In Addition to point filtering there is also other facility within the post processor to reduce the number of data points in an NC program. The first of these is block condensing. A common occurrence in winding is to wind at constant angle along a long cylinder. During this motion generally only the mandrel (we will call this axis A) and the carriage (axis X) are moving. Do have a good visualisation of a 3D path curve on the computer screen we need points every few degrees of rotation. If we create an NC motion for each point we might get hundreds of lines like A 10 X 50; A 10 X 50; A 20 X 100; It is clear that we could replace this with A 40 X 200. The post-processor looks for these sequences and automatically joins such lines. Some machines however do not like large motion blocks so this facility can be prevented by setting the SM file variable $NC-NO-CONDENSE=1, the default value is $NC-NO-CONDENSE=0. As of Cadfil version V9.18 ( December 2017) this facility has been removed from the post-processor as is it fully replaced with the block merge facility described in the following section.
As is described in the previous section it is often desirable to reduce the size of programs be having less data points. The Cadfil post-process create machine control data by processing payout (.pay) files. Payout files have a 3D data points with 3D position of the mandrel, 3D position of the machine as well as direction and surface normal vectors for each point. When the pay file is created the software has full knowledge of the winding and what is being created, the post-processor just has the path data. When the payout file is created there is a facility for instruction codes to be added to identify data points the can be merged to make one motion in the post-processor. As of Cadfil V9.18 the 'Vessel with end caps option' and the 'Cadfil-Axsym' (create fibre path) options had facilities added to allow the merge of suitable data meaning that all payout file creation options now have this facility. As of this point the 'block condensing' option is redundant and has been removed from the post-processor. To disable merging in the post-processor the $NC-NO-MERGE=1 can be set. The default is $NC-NO-MERGE=0.