3D CNC milling – Documentation of
VDAFS to DXF and NC Converter and Viewer

Copyright © 2006 RCAD SOFTWARE SRL

It converts VDAFS file to DXF file (in 3DFACE entities) and generates a NC program for milling a piece composed from 3DFACE entities.

VDAFS to DXF and NC Converter and Viewer is an application for RCAD graphic core (Copyright RCAD SOFTWARE).

In VDAFS file will be interpreted the entities of type PSET, FACE (created from the entities of type SURF and CONS) and possibly those of type SURF (see “VDafsin” command).
3DFACE entities may result also from 3DFACE or 3DMESH entities from DXF files, from STL ASCII files generates by AutoCAD for solids (see RCAD “STLin” command) and from RCAD “3DFace” command.
You can calculate 3D AREa, VOlume and center of gravity of some bodies limited by 3DFACE entities.
3DFace entities which describe the surface can be intersected or not perfectly joined! The milling cutter with hemispherical head will be always above and tangent to the assembly of 3DFace entities!
3D bodies described by 3DFACE entities can be divided into 2 parts by a horizontal plane (SEParate command). You can define then the separation plane for each part, using RCAD commands:
– PLine to define the exterior contour
– PEdit and Join on the contours resulting from the SEParate command
– RTRIangulation on the contours above.
3D bodies can be also divided into two or more zones by surfaces composed of several 3DFace, using the 3DInt command (of RCAD core).

VDafsin command

Loads a file of VDAFS format. 3DFACE triangular entities will be generated.
“Surface tolerance” will be introduced first. “Surface tolerance” is maximum admitted distance (in [mm]) between any triangular facet and a parallel plan to the facet and tangential to the corresponding scrap of the theoretical surface. The triangle points are on the surface.
There will be interpreted the entities of type PSET, FACE (created from the entities of type SURF and CONS) and possibly those of type SURF (see below). The outlines which define FACE must not (auto) intersect. If they intersect because of a too high tolerance or because of a mistake of the person who projected them the error message “Decrease tolerance” appears. The previous tolerance is divided automatically by 4 and triangulation is tested again. This process is repeated two times. If the error still appears, is tried for the third time with the initial tolerance and with total verifications of intersections.
If entities of type PSET exist, it will be generated a surface (with a sole Z for an X, Y given) through the triangulation of the points from PSETs.
If it exists a file of DEF extension with the same name and directory as the file of VDA extension, then only the entities of SURF and FACE indicated in the file of extension DEF will be interpreted.
Here it is its structure:
– Key word “surf”, the number of entities which follows of SURF type, and then the name of these entities
– Key word “face”, the number of entities which follows of FACE type, and then the name of these entities
– Instead of the number and then the name of entities, it may appear the key word “all”; in this case all entities of SURF or FACE type will be interpreted
– Key words, numbers and names of entities must be separated, at least by a character “space”, “tab”, CR or LF

Example 1:

surf 20
surf0010 surf0016 surf0018 surf0019 surf0021 surf0022 surf0028 surf0029
surf0030 surf0034 surf0035 surf0036 surf0037 surf0038 surf0039 surf0040
surf0041 surf0042 surf0043 surf0044
face 25
face0001 face0002 face0003 face0004 face0005 face0006 face0007 face0008
face0009 face0010 face0011 face0012 face0013 face0014 face0015 face0016
face0017 face0018 face0019 face0020 face0021 face0022 face0023 face0024
face0025

Example 2:

surf all
face 1
face0001

NCSettings command

It allows the setting of the technologic parameters for generating the NC program.
The gauge limits of the surface, the number of triangles and the geometric rugosity, due to the secondary step will be displayed.
You can make some settings for postprocessor by N-start, N-max, G-modal and XYZ-modal.

SURFACE TOLERANCE is a repetition of that of the VDafsin command. Introducing the value for SURFACE TOLERANCE it leads to redefinition:
– the main step becomes equal with SURFACE TOLERANCE,
– the secondary step is calculated in such a way that rugosity to be equal with SURFACE TOLERANCE,
– separation_border = max(Xstep,Ystep)+ray+ principal_step +0.1,
– z_reference = zmax+ray+ principal_step.
RAY defines, in millimeters, the ray (radius) of hemispherical-headed tool. The redefinition presented at SURFACE TOLERANCE will be also made.
X, Y RAPID – Selecting the axis according to which the tool moves more rapidly can be made by commuting between X RAPID and Y RAPID (see X, Y STEP). The corresponding step to the axis of rapid movement is called main/principal step. The other step is called secondary step.
X, Y STEP – Through X STEP and Y STEP are defined, in millimeters, the movement steps on the axes X and Y of the center of the tool. The processing is made in zigzag by trajectories equidistant at surface, having the projections in XOY, parallel right lines to the axes. It results that the tool machine must not have 3D geometrical interpolator, but only 2D in XY, XZ and YZ. Initially, axis X is the one after which the tool will move faster (the main step is parallel to axis X). By commuting between X RAPID and Y RAPID (see X, Y RAPID), it can be selected the axis after which the tool can move faster.
If the vertical of a given X, Y cuts more surfaces the surface of Z maxim will be considered.
It is forbidden to introduce a principal step > SURFACE TOLERANCE !
It is forbidden to introduce a secondary step > 2* RAY !
After introducing the steps, it is redefined Z REFERENCE = zmax+ray+principal step, and
SEPARATION BORDER = max (Xstep, Ystep)+ray+ principal_step+0.1.
Because the verification of the interference with the piece is only made after making a step, it is recommended the step by which the tool moves faster (the principal step) to be sufficiently small. However, when generating the NC program, the segments belonging to the same straight line will be converted into a single segment. Deviation from perpendicularity or the maximum supplement left without being removed on a facet almost vertical is equal to the principal step. If the secondary step is not executed in the separation plan, it will have to be smaller or equal to the principal step.
It will be displayed the geometric RUGOSITY due to the secondary step. The rugosity will be calculated with the formula a=r-sqrt(r^2-p^2/4), where ‘r’ is the radius of the tool and ‘p’ is the secondary step.
In the case of a vertical plan, parallel to the principal direction of processing, the maximum supplement that can be left without being removed on the wall is equal to the secondary step. In order to decrease this supplement left without being removed, either the secondary step will be decreased, or two crossed (first with principal step by X and then by Y) will be made.
Z REFERENCE allows defining the Z reference, at which the tool withdraws for getting through positioning into another areas. When a new file is loaded, Z REFERENCE becomes zmax+ray+ principal_step. At the actual version, Z REFERENCE has significance only for the beginning and the end of the NC program.
SAFETY DISTANCE defines a distance in millimeters. The tool will descend with G0 to this surface distance, and then it will go through this distance with G1. When loading a new file, SAFETY DISTANCE becomes zmax-zmin. At the actual version, SAFETY DISTANCE has significance only for the beginning of the NC program.
Z SEPARATION allows defining the Z of a rectangular separation facet of the piece. The rectangle has X, Y identical centers to those of the base of the gauge parallelepiped. The dimensions of the rectangle can be obtained from those of the rectangle base, to which are added algebraically the SEPARATION BORDER, on each side of the rectangle. During execution of the command NCGenerate , it will be processed the separation facet and the part of piece (composed by 3dface entities) above it. When a new file is loaded, Z SEPARATION becomes zmin. By varying Z SEPARATION you can divide headpiece processing.
SEPARATION BORDER allows introducing a distance that is added on the sides of the gauge XOY rectangle, to form the separation plan (see Z SEPARATION). When loading a new file or when modifying the value for RAY or X, Y STEP, SEPARATION BORDER becomes max(Xstep, Ystep)+ray+ principal_step+0.1.
The SEPARATION BORDER facet is not processed if it is inside the contour (in XOY) of the piece! You can do this giving negative values for SEPARATION BORDER!

NCGenerate command

It generates a NC program according to NCSettings. During execution, it will be processed the separation facet and the part of piece (composed by 3DFace entities) above it.
The NC equipment must have 3D interpolator.
It will be indicated a file name of implicit NC extension.
To eliminate the interference milling machine – piece, due to the principal step, it will be generate a trajectory of the corresponding tool to a ray=ray+principal_step.

NCLoad command

Loads and draws a NC file. It will be interpreted G0, G1, X, Y and Z address.