Fixed Axis and Variable Axis NURBS Statements
You can generate NC output files containing tool motion descriptions
using a format based on NURBS technology for both fixed or variable axis
programs. This format is recognized by most new generation NC controllers (such
as the Siemens 840D). It supports High Speed Milling (HSM) in order to reduce
machining time and improve surface quality. Examples of Fixed Axis and Variable Axis NURBS output statements that
is found in the generated APT file are given below.
Examples- Fixed Axis NURBS example
BEGIN NURBS_SIEMENS(D=3,F=4000,AXIS=0.00,0.00,1.00);
N0,XT= 0.000,YT=0.000,ZT=0.000,DK= 0.00,W=1.0;
N1,XT=10.000,YT=0.000,ZT=0.000,DK= 0.00,W=1.0;
N2,XT=20.000,YT=0.000,ZT=0.000,DK=30.00,W=1.0;
N3,XT=30.000,YT=0.000,ZT=0.000,DK= 0.00,W=1.0;
END NURBS; - Variable Axis NURBS example
BEGIN NURBS_SIEMENS(D=3,F=4000,AXIS=VAR,LENGTH=100.00);
N0,XT= 0.000,YT=0.000,ZT=0.000,XH= 0.000, $
YH=0.000,ZH=100.00,DK= 0.00,W=1.0;
N1,XT=10.000,YT=0.000,ZT=0.000,XH=10.000, $
YH=0.000,ZH=100.00,DK= 0.00,W=1.0;
N2,XT=20.000,YT=0.000,ZT=0.000,XH=20.000, $
YH=0.000,ZH=100.00,DK=30.00,W=1.0;
N3,XT=30.000,YT=0.000,ZT=0.000,XH=30.000, $
YH=0.000,ZH=100.00,DK= 0.00,W=1.0;
END NURBS;
These statements are supported by some of the Post-Processors proposed
under
for conversion to Siemens Nurbs/Bspline
statements.
Benefit Derived from Using NURBS Interpolated Tool Paths
There are several advantages in using NURBS interpolated tool paths:
- gain in overall dynamic performance,
- better surface quality,
- gain in productivity.
APT Output Format
The fixed and variable axis NURBS output is included in regular
APT output containing other classes of 3 or 5 axis tool motion statements.
Syntax
A Fixed Axis NURBS for Siemens Output looks like this:
BEGIN NURBS_SIEMENS (D=3,F=8000.000,AXIS= 0.000000, 0.000000, 1.000000)
N0, XT= 0.00000, YT= 89.19372, ZT= 12.00000,DK=0.000,W=1.000;
N1, XT= -35.25923, YT= 82.30182, ZT= 12.00000,DK=0.000,W=1.000;
N2, XT= -70.67279, YT= 76.14709, ZT= 12.00000,DK=107.790,W=1.000;
N3, XT= -105.90481, YT= 69.14878, ZT= 12.00000,DK=0.000,W=1.000;
END NURBS
A Variable Axis NURBS for Siemens Output looks like this:
BEGIN NURBS_SIEMENS (D=3,F=8000.000,AXIS=VAR,LENGTH= 50.000)
N0, XT= -75.76597, YT= 71.65094, ZT= -21.94567, XH= -72.178223, YH=$
62.527376, ZH= 27.083796,DK=0.000,W=1.000;
N1, XT= -78.91003, YT= 71.01919, ZT= -21.77676, XH= -79.690819, YH=$
61.032142, ZH= 27.416003,DK=0.000,W=1.000;
N2, XT= -82.06101, YT= 70.37700, ZT= -21.56199, XH= -87.244248, YH=$
59.640659, ZH= 27.190920,DK=22.998,W=1.000;
N3, XT= -85.40313, YT= 69.68892, ZT= -21.29975, XH= -94.767915, YH=$
58.350206, ZH= 26.488684,DK=0.000,W=1.000;
END NURBS
Notes:
- The number of digits used for each float value is not imposed.
- The
$
character means that the instruction continues on the next line.
Post Processing for Siemens 840D Format
Examples of formats used in Variable Axis Syntax and Fixed Axis Syntax are given below.
Variable Axis Syntax
The format used by 840D is the following.
BEGIN
NURBS_SIEMENS(D=3,F=xxxx,AXIS=VAR,LENGTH=100.00);
N0,XT=xt0,YT=yt0,ZT=zt0,XH=xh0,YH=yh0,ZH=zh0,DK=dk0,W=w0;
N1,XT=xt1,YT=yt1,ZT=zt1,XH=xh1,YH=yh1,ZH=zh1,DK=dk1,W=w1;
N2,XT=xt2,YT=yt2,ZT=zt2,XH=xh2,YH=yh2,ZH=zh2,DK=dk2,W=w2;
../..
Nn,XT=xtn,YT=ytn,ZT=ztn,XH=xhn,YH=yhn,ZH=zhn,DK=dkn,W=wn;
END NURBS;
If the previous block is a NURBS block: SD=3 F xxxx ; NURBS degree and feedrate
Otherwise:
ORIVECT
G1 X Y Z A3=I B3=J C3=K ; first point of the NURBS, Control Point 0
Then:
ORICURVE
G642 ; start of continuous motion statement
BSPLINE SD=3 F xxxx ; NURBS declaration, degree and feedrate
X Y Z XH YH ZH PW=W PL=DK ; Control Point 1
X Y Z XH YH ZH PW=W PL=DK ; Control Point 2
../..
X Y Z XH YH ZH PW=W PL=DK ; Last Control Point of the NURBS.
APT Sample for Variable Axis NURBS$$
-----------------------------------------------------------------
$$ Generated on Wednesday, September 25, 2002 05:24:47 PM
$$ APT VERSION 1.0
$$
-----------------------------------------------------------------
$$ Flank Mixed Combin
$$ Part Operation.1
$$*CATIA0
$$ Flank Mixed Combin
$$ 1.00000 0.00000 0.00000 0.00000
$$ 0.00000 1.00000 0.00000 0.00000
$$ 0.00000 0.00000 1.00000 0.00000
PARTNO Part Operation.1
FROM / 0.00000, 0.00000, 100.00000, 0.000000, 0.000000,
0.000000
PPRINT OPERATION NAME : Tool Change.10
$$ Start generation of : Tool Change.10
MULTAX
$$ TOOLCHANGEBEGINNING
CUTTER/ 8.000000, 4.000000, 0.000000, 4.000000, 0.000000,$
0.000000, 50.000000
TOOLNO/2,MILL, 8.000000, 4.000000,, 100.000000,$
60.000000,, 50.000000,4, 8000.000000,$
MMPM,15000.000000,RPM,CLW,ON,$
AUTO, 0.000000,NOTE
TPRINT/balld8,,balld8
LOADTL/2,2,2
$$ End of generation of : Tool Change.10
PPRINT OPERATION NAME : Multi-Axis Flank Contouring.2
$$ Start generation of : Multi-Axis Flank Contouring.2
FEDRAT/ 8000.0000,MMPM
SPINDL/15000.0000,RPM,CLW
BEGIN NURBS_SIEMENS (D=3,F=8000.000,AXIS=VAR,LENGTH= 50.000)
N0, XT= 19.75656, YT= 81.42861, ZT= 20.00000, XH= 19.757763,
YH=$
71.623025, ZH= 69.029078,DK=0.000,W=1.000;
N1, XT= 19.75625, YT= 83.94658, ZT= 7.40984, XH= 19.757454,
YH=$
74.140998, ZH= 56.438918,DK=0.000,W=1.000;
N2, XT= 19.75594, YT= 86.46456, ZT= -5.18032, XH= 19.757144,
YH=$
76.658971, ZH= 43.848757,DK=38.518,W=1.000;
N3, XT= 19.75563, YT= 88.98253, ZT= -17.77048, XH= 19.756835,
YH=$
79.176944, ZH= 31.258597,DK=0.000,W=1.000;
END NURBS
BEGIN NURBS_SIEMENS (D=3,F=8000.000,AXIS=VAR,LENGTH= 50.000)
N0, XT= 19.75563, YT= 88.98253, ZT= -17.77048, XH= 19.756835,
YH=$
79.176944, ZH= 31.258597,DK=0.000,W=1.000;
N1, XT= 19.38827, YT= 89.96343, ZT= -23.02431, XH= 19.389475,
YH=$
80.157844, ZH= 26.004770,DK=0.000,W=1.000;
N2, XT= 14.20175, YT= 89.85474, ZT= -27.41283, XH= 14.202952,
YH=$
80.049153, ZH= 21.616250,DK=15.662,W=1.000;
N3, XT= 9.00010, YT= 88.77303, ZT= -26.95061, XH= 9.001309,
YH=$
78.967440, ZH= 22.078468,DK=0.000,W=1.000;
END NURBS
../..
BEGIN NURBS_SIEMENS (D=3,F=8000.000,AXIS=VAR,LENGTH= 50.000)
N0, XT= 19.18055, YT= -42.44969, ZT= -6.28780, XH= 19.180191,
YH=$
-37.474471, ZH= 43.464058,DK=0.000,W=1.000;
N1, XT= 19.18049, YT= -41.57342, ZT= 2.47480, XH= 19.180128,
YH=$
-36.598205, ZH= 52.226657,DK=0.000,W=1.000;
N2, XT= 19.18042, YT= -40.69716, ZT= 11.23740, XH= 19.180065,
YH=$
-35.721939, ZH= 60.989257,DK=26.419,W=1.000;
N3, XT= 19.18036, YT= -39.82089, ZT= 20.00000, XH= 19.180002,
YH=$
-34.845674, ZH= 69.751856,DK=0.000,W=1.000;
END NURBS
$$ End of generation of : Multi-Axis Flank Contouring.2
FINISH
NC Code Sample for Variable Axis NURBSN10 ;PROGRAMME : Part Operation.1
N20 ;PROGRAMMEUR: AAU
N30 ;DATE : AAU
G642
ffwon
N40 TRAORI
G57
M8
N50 ORIVECT
N60 G0 Z100.0
N70 G0 X0.0 Y0.0
N80 T2 M06
N90 G1 X19.75656 Y81.42861 Z20.0 A3=0.00002 B3=-0.19611
C3=0.98058
N100 ORICURVE
N110 G642
N120 BSPLINE SD=3 F8000.000
N130 X19.75625 Y83.94658 Z7.40984 XH=19.75745 YH=74.141 ZH=56.43892
PL=0.0
N140 X19.75594 Y86.46456 Z-5.18032 XH=19.75714 YH=76.65897
ZH=43.84876 PL=38.518
N150 X19.75563 Y88.98253 Z-17.77048 XH=19.75683 YH=79.17694
ZH=31.2586 PL=0.0
N160 X19.38827 Y89.96343 Z-23.02431 XH=19.38948 YH=80.15784
ZH=26.00477 PL=0.0
N170 X14.20175 Y89.85474 Z-27.41283 XH=14.20295 YH=80.04915
ZH=21.61625 PL=15.662
N180 X9.0001 Y88.77303 Z-26.95061 XH=9.00131 YH=78.96744
ZH=22.07847 PL=0.0
../..
N470 X19.19914 Y-42.982 Z-11.59413 XH=19.19878 YH=-38.00679
ZH=38.15773 PL=15.662
N480 X19.18055 Y-42.44969 Z-6.2878 XH=19.18019 YH=-37.47447
ZH=43.46406 PL=0.0
N490 X19.18049 Y-41.57342 Z2.4748 XH=19.18013 YH=-36.59821
ZH=52.22666 PL=0.0
N500 X19.18042 Y-40.69716 Z11.2374 XH=19.18007 YH=-35.72194
ZH=60.98926 PL=26.419
N510 X19.18036 Y-39.82089 Z20.0 XH=19.18 YH=-34.84567 ZH=69.75186
PL=0.0
N520 ORIVECT
N530 TRAFOOF
N540 G57
N550 M5 M9
N560 M30
Fixed Axis Syntax
The format used by 840D is the following: Translation Convention.
BEGIN NURBS_SIEMENS(D=3,F=xxxx,AXIS=0.00,0.00,1.00);
N0,X=x0,Y=y0,Z=z0,DK=dk0,W=w0;
N1,X=x1,Y=y1,Z=z1,DK=dk1,W=w1;
N2,X=x2,Y=y2,Z=z2,DK=dk2,W=w2;
../..
Nn,X=xn,Y=yn,Z=zn,DK=dkn,W=wn;
END NURBS;
If the previous block is a NURBS Block: SD=3 F xxxx ; NURBS degree and feedrate
Otherwise: G1 X Y Z ; first point of the NURBS, Control Point
0
Then:
G64 ; start of continuous motion statement
BSPLINE SD=3 F xxxx ; NURBS declaration, degree and feedrate
X Y Z PW=W PL=DK ; Control Point 1
X Y Z PW=W PL=DK ; Control Point 2
../..
X Y Z PW=W PL=DK ; Last Control Point of the NURBS
APT Sample for Fixed Axis NURBS
$$ -----------------------------------------------------------------
$$ Generated on Wednesday, September 25, 2002 05:24:29 PM
$$ APT VERSION 1.0
$$ -----------------------------------------------------------------
$$ Manufacturing Program.7
$$ Part Operation.1
$$*CATIA0
$$ Manufacturing Program.7
$$ 1.00000 0.00000 0.00000 0.00000
$$ 0.00000 1.00000 0.00000 0.00000
$$ 0.00000 0.00000 1.00000 0.00000
PARTNO Part Operation.1
FROM / 0.00000, 0.00000, 100.00000
PPRINT OPERATION NAME : Tool Change.14
$$ Start generation of : Tool Change.14 MULTAX
$$ TOOLCHANGEBEGINNING
CUTTER/ 8.000000, 4.000000, 0.000000, 4.000000, 0.000000,$
0.000000, 50.000000
TOOLNO/2,MILL, 8.000000, 4.000000,, 100.000000,$
60.000000,, 50.000000,4, 8000.000000,$
MMPM,15000.000000,RPM,CLW,ON,$
AUTO, 0.000000,NOTE
TPRINT/balld8,,balld8
LOADTL/2,2,2
$$ End of generation of : Tool Change.14
PPRINT OPERATION NAME : Isoparametric Machining.2
$$ Start generation of : Isoparametric Machining.2
FEDRAT/ 8000.0000,MMPM
SPINDL/15000.0000,RPM,CLW
GOTO / 9.95037, -48.78022, 20.00000
GOTO / 9.95037, -48.78022, 22.00000
BEGIN NURBS_SIEMENS (D=3,F=8000.000,AXIS= 0.000000, 0.000000, 1.000000)
N0, XT= 9.95037, YT= -48.78022, ZT= 22.00000,DK=0.000,W=1.000;
N1, XT= 10.01206, YT= -48.78639, ZT= 16.72430,DK=0.000,W=1.000;
N2, XT= 5.43447, YT= -48.32863, ZT= 11.75306,DK=15.662,W=1.000;
N3, XT= 0.00000, YT= -47.78518, ZT= 12.00000,DK=0.000,W=1.000;
END NURBS
../..
BEGIN NURBS_SIEMENS (D=3,F=8000.000,AXIS= 0.000000, 0.000000, 1.000000)
N0, XT= 0.00000, YT= -44.60573, ZT= 12.00000,DK=0.000,W=1.000;
N1, XT= 5.25284, YT= -45.09640, ZT= 11.93801,DK=0.000,W=1.000;
N2, XT= 10.20252, YT= -45.55876, ZT= 16.53842,DK=15.662,W=1.000;
N3, XT= 9.95665, YT= -45.53580, ZT= 22.00000,DK=0.000,W=1.000;
END NURBS
GOTO / 9.95665, -45.53580, 22.00000
GOTO / 9.95665, -45.53580, 20.00000
$$ End of generation of : Isoparametric Machining.2
FINI
NC Code Sample for Fixed Axis NURBS
N10 ;PROGRAMME : Part Operation.1
N20 ;PROGRAMMEUR: AAU
N30 ;DATE : AAU
G642
ffwon
N40 TRAORI
G57
M8
N50 ORIVECT
N60 G0 Z100.0
N70 G0 X0.0 Y0.0
N80 T2 M06
N90 G1 X9.95037 Y-48.78022 Z20
N100 G1 X9.95037 Y-48.78022 Z22.0
N110 G64
N120 BSPLINE SD=3 F8000.000
N130 X10.01206 Y-48.78639 Z16.7243 PL=0.0
N140 X5.43447 Y-48.32863 Z11.75306 PL=15.662
N150 X0.0 Y-47.78518 Z12.0 PL=0.0
../..
N2700 X0.0 Y-44.60573 Z12.0 PL=0.0
N2710 X5.25284 Y-45.0964 Z11.93801 PL=0.0
N2720 X10.20252 Y-45.55876 Z16.53842 PL=15.662
N2730 X9.95665 Y-45.5358 Z22.0 PL=0.0
N2740 ORIVECT
N2750 G1 X9.95665 Y-45.5358 Z22
N2760 Z20
N2770 TRAFOOF
N2780 G57
N2790 M5 M9
N2800 M30
Scope and Limitations
The tool paths of all non-axial machining operations is generated
in NURBS format.
NURBS output statements are computed by taking into account the machining
tolerance defined on the Machining Operation. The number of control points
is a consequence of the accuracy required on the NURBS and so is relative
to the machining tolerance.
There is no option for you to manage the number of control points.
The 3D Nurbs Interpolation check box in the Numerical Control tab of the Generic Machine dialog box should be selected to specify the ability to
generate NURBS data in an APT output file (see Working with Generic Machine Editor).
The NURBS output of a Machining Operation is not compatible with any compensation
output format (Profile or PQR).
The NURBS output is not compatible with Center output, NURBS is always
a Tip position.
The NURBS ouput is only possible in APT (not CLFile).
It is not possible to import an APT source file containing NURBS statements
using Import APT, Clfile, or NC Code.
Related Topics
|