数控车床编程基本指令大全,史上最全。。。车削加工编程一般包含X和Z坐标运动及绕Z轴旋转的转角坐标C 。- (1)快速定位(G00或G0) 刀具以点位控制方式从当前所在位置快速移动到指令给出的目标位置。- 指令格式:G00 X(U) Z(W) ;- (2)直线插补(G01或G1) - 指令格式:G01 X(U) Z(W) F ;- 图1 快速定位 图2 直线插补- G00 X40.0 Z56.0; G01 X40.0 Z20.1 F0.2;- 绝对坐标,直径编程; /绝对坐标,直径编程,切削进给率0.2mm/r- G00 U-60.0 W-30 G01 U20.0 W-25.9 F0.2;- 增量坐标,直径编程 /增量坐标,直径编程,切削进给率0.2mm/r - (3)圆弧插补(G02或G2,G03或G3) - 1)指令格式: G02 X(U)_Z(W)_I_K_F_ ;- G02 X(U) Z(W) R F ;- G03 X(U)_Z(W)_I_K_F_ ;- G03 X(U) Z(W) R F ; - 2)指令功能:-
①G02为顺时针圆弧插补指令,G03为逆时针圆弧插补指令。圆弧的顺、逆方向判断见图3左图,朝着与圆弧所在平面相垂直的坐标轴的负方向看,顺时针为G02,逆时针为G03,图3右图分别表示了车床前置刀架和后置刀架对圆弧顺与逆方向的判断;- 图3 圆弧的顺逆方向 - ②如图4,采用绝对坐标编程,X、Z为圆弧终点坐标值;采用增量坐标编程,U、W为圆弧终点相对圆弧起点的坐标增量,R是圆弧半径,当圆弧所对圆心角为0°~180°时,R取正值;当圆心角为180°~360°时,R取负值。I、K为 圆心在X、Z轴方向上相对圆弧起点的坐标增量(用半径值表示),I、K为零时可以省略。- 图4 圆弧绝对坐标,相对坐标- 图5 圆弧插补- G02 X50.0 Z30.0 I25.0 F0.3; G02 U20.0 W-20.0 I25.0 F0.3; /绝对坐标,直径编程- G02 X50.Z30.0 R25.0 F0.3; G02 U20.0 W-20.0 R25.0 F0.3; /相对坐标,直径编程 - (4)主轴转速设置(S)- 车床主轴的转速(r/min)为:- - 式中υ为圆周切削速度,单位缺省为m/min 、D为工件的外径,单位为mm。 例如,工件的外径为200mm,要求的切削速度为300m/min,经计算可得- - 因此主轴转速应为478r/min,表示为S478。- (5)主轴速度控制指令- 数控车削加工时,按需要可以设置恒切削速度(例如,为保证车削后工件的表面粗糙度一致,应设置恒切削速度),车削过程中数控系统根据车削时工件不同位置处的直径计算主轴的转速。- 恒切削速度设置方法如下:G96 S ; 其中S后面数字的单位为r/min。- 设置恒切削速度后,如果不需要时可以取消,其方式如下:G97 S ; 其中S后面数字的单位为r/min。- 在设置恒切削速度后,由于主轴的转速在工件不同截面上是变化的,为防止主轴转速过高而发生危险,在设置恒切削速度前,可以将主轴最高转速设置在某一个最高值。切削过程中当执行恒切削速度时,主轴最高转速将被限制在这个最高值。- 设置方法如下:G50 S ; 其中S的单位为r/min。- 图6 主轴速度控制- 例如:在刀具T01切削外形时用G96设置恒切削速度为200m/min,而在钻头T02钻中心孔时用G97取消恒切削速度,并设置主轴转速为1100r/min。- 这两部分的程序头如下:- G50 S2500 T0101 M08; /G50限定最高主轴转速为2500r/min;- G96 S200 M03; / G96设置恒切削速度为200m/min,主轴顺时针转动- G00 X48.0 Z3.0; / 快速走到点(48.0,3.0)- G01 Z-27.1 F0.3; /车削外形- G00 Ul.0 Z3.0; /快速退回- …- T0202; /调02号刀具 - G97 Sll00 M03; /G97取消恒切削速度,设置主轴转速为ll00r/min- G00 X0.0 Z5.0 M08; /快速走到点(0,5.0),冷却液打开- G01 Z-5.0 F0.12; /钻中心孔- …- (6)进给率和进给速度设置指令- 在数控车削中有两种切削进给模式设置方法,即进给率(每转进给模式)和进给速度(每分钟进给模式)。- 1)进给率,单位为mm/r,其指令为:- G99; / 进给率转换指令, - G01 X Z F ; / F的单位为mm/r- 2)进给速度,单位为mm/min,其指令为:- G98; / 进给速度转换指令- G01 X Z F ; / F的单位为mm/min- - 图7 进给率和进给速度- a:G99 G01 Z-27.1 F0.3; b:G98 G01 Z-10.0 F80;- 表示进给率为0.3mm/r 表示进给速度为80mm/min- CNC系统缺省进给模式是进给率,即每转进给模式。- (7)工件原点设置- 工件坐标系的原点有两种设置方法。- 1)用G50指令进行工件原点设置,分以下两种设置情况:-
图8 工件原点设置- ①坐标原点设置在卡盘端面- 如图8a所示,这种情况下z坐标是正值。- 工件原点设置在卡盘端面:- G50 X85.Z210.;/* 将刀尖当前位置的坐标值定为工件坐标系中的一点(85.,210.)。- ②坐标原点设置在零件右端面- 如图8b所示,这种情况下Z坐标值是负值。- 工件原点设置在工件右端面:G50 X85.0 Z90.0;- 则刀尖当前位置即为工件坐标系原点。- (8)端面及外圆车削加工- 端面及外圆的车削加工要用到插补指令G01。- 为正确地编写数控程序,应在编写程序前根据工件的情况选择工件原点。确定好工件原点后,还必须确定刀具的起始点。- 编程时还应考虑车削外圆的始点和端面车削的始点,这两点的确定应结合考虑工件的毛坯情况。如果毛坯余量较大,应进行多次粗车,最后进行一次精车,因而每次的车削始点都不相同。- - 图9 确定车削原点- a)工件原点在左端面时 b) 工件原点在右端面时- 1)工件原点在左端面- o0001 /* 程序编号o0001- N0 G50 X85.0 Z210.0; /* 设置工件原点在左端面- N1 G30 U0 W0; /* 返回第二参考点- N2 G50 S1500 T0101 M08; /* 限制最高主轴转速为1500r/min,调01号刀具,M08为打开冷却液- N3 G96 S200 M03; /* 指定恒切削速度为200m/min- N4 G00 X40.4 Z153.0; /* 快速走到外圆粗车始点- N5 G01 Z40.2 F0.3; /* 以进给率0.3mm/r车削外圆- N6 X60.4; /* 台阶车削- N7 Z20.0; /*φ60.4mm处长度为20.0mm的一段外圆- N8 G00 X62.0 Z150.2; /* 刀具快速退到点(62.0,150.2)- N9 X41.0; /*刀具快速走到点(41.0,150.2)- N10 G01 X-1.6; /* 车削右端面- N1l G00 Zl52.0; /* 刀具快速退到点(-1.6,152.0)- N12 G30 U0 W0; /* 直接回第二参考点以进行换刀- N13 (Finishing); /*精车开始,括号为程序说明- N14 G50 S1500 T0202; /*限制最高主轴转速为1500r/min,调02号刀具- N15 G96 S250; /* 指定恒切削速度为250m/min- N16 G00 X40.0 Z153.0 ;/*快速走到外圆精车始点(40.0,153)- N17 G42 G01 Z151.0 F0.15; /*调刀尖半径补偿,右偏- N18 Z40.0; /*φ40.4mm一段外圆的精车- N19 X60.0; /*台阶精车- N20 Z20.0; /*φ60.0mm处长度为20.0mm外圆的精车- N21 G40 G00 X62.0 Z150.0; /*取消刀补- N22 X41.0; /*刀具快速走到点(41.0,150.0)- N23 G41 G01 X40.0; /*调刀尖半径补偿,左偏- N24 G01 X-1.6; /*精车右端面- N25 G40 G00 Zl52.0 M09; /*取消刀补,切削液关- N26 G30 U0 W0 M05; /*返回第二参考点,主轴停止- N27 M30; /*程序结束- 2)工件原点在右端面:工件原点设置在右端面与设置在左端面的区别仅在于Z坐标为负值,程序编写过程完全相同。- O0002 ; /* 程序编号- N0 G50 X85.0 Z90.0 /* 设置工件原点在右端面- N2 G30 U0 W0; /* 返回第二参考点- N4 G50 S1500 T0101 M08; /* 限制最高主轴转速- N6 G96 S200 M03; /* 指定恒切削速度为-200m/min,主轴逆时针旋转- N8 G00 X30.4 Z3.0; /*快速走到点(30.4,3.0)- N10 G01 W-33.0 F0.3; /*以进给率0.3mm/r粗车φ30.4处外圆- N12 U30.0 W-50.0; /*粗车锥面- N14 W-10.0; /*粗车φ60.4mm处长度为10的一段外圆- N16 G00 Ul.6 W90.2; /*刀具快速走到点(62.0,0.2)- N18 U-31.0; /*刀具快速走到点(3l,0.2)- N20 G01 U-32.6; /*粗车端面- N22 G00 W2.0; /*刀具快速走到点(-1.6,2)- N24 G30 U0 W0; /*返回第二参考点- N26 (Finishing); /*精车开始- N28 G50 S1500 T0202; /*设置主轴最高转速1500r/min,调2号刀具- N30 G96 S250; /* 指定恒切削速度为250m/min- N32 G00 X30.0 Z3.0;/*刀具快速走到精车始点(30.0,3.0)- N34 G42 G01 W-2.0 F0.15; /*调刀尖半径补偿,右偏- N36 W-31.0; /*精车ф30.4mm处外圆- N38 U30.0 W-50.0; /*精车锥面- N40 W-10.0; /*精车ф60.0mm处外圆- N42 G40 G00 U2.0 W90.0; /*取消刀补,刀具快速走到点(62,0.0)- N44 U-31.0; /*刀具快速走到点(31,0.0)- N46 G41 G01 U-1.0; /*调刀尖半径补偿,左偏 - N48 G01 U-32.6; /*精车端面- N50 G40 G00 W2.0 M09; /*取消刀补,刀具快速走到点(1.6,2.0)- N52 G30 U0 W0 M30; /*返回参考点,程序结束- 实例:- 如图10所示零件- - 图10 数控车削综合编程实例- N0050 G01 X32 Z0; N0110 G02 X16 Z-15 R2;- N0060 G01 X-0.5; N0120 G01 X20;- N0070 G00 Z1; N0130 G01 Z35;- N0080 G00 X10; N0140 X26;- N0090 G01 X12 Z1; N0150 Z50;- N0100 G01 X12 Z1; N0160 X32;- G02、G03指令表示刀具以F进给速度从圆弧起点向圆弧终点进行圆弧插补。刀具以一定的进给速度从当前所在位置沿直线移动到指令给出的目标位置。 - 2.循环加工指令- 当车削加工余量较大,需要多次进刀切削加工时,可采用循环指令编写加工程序,这样可减少程序段的数量,缩短编程时间和提高数控机床工作效率。根据刀具切削加工的循环路线不同,循环指令可分为单一固定循环指令和多重复合循环指令。- (1)单一固定循环指令- 对于加工几何形状简单、刀具走刀路线单一的工件,可采用固定循环指令编程,即只需用一条指令、一个程序段完成刀具的多步动作。固定循环指令中刀具的运动分四步:进刀、切削、退刀与返回。- 1)外圆切削循环指令(G90)- 指令格式 : G90 X(U)_ Z(W)_ R_ F_- 指令功能: 实现外圆切削循环和锥面切削循环。- 刀具从循环起点按图11与图12所示走刀路线,最后返回到循环起点,图中虚线表示按R快速移动,实线表示按F指定的工件进给速度移动。- - - 图11 外圆切削循环- - - 图12 锥面切削循环- 指令说明:- ① X、Z 表示切削终点坐标值;- ② U、W 表示切削终点相对循环起点的坐标分量;- ③ R 表示切削始点与切削终点在X轴方向的坐标增量(半径值),外圆切削循环时R为零,可省略;- ④F表示进给速度。- 例题 如图13所示,运用外圆切削循环指令编程。 - G90 X40 Z20 F30 A-B-C-D-A - X30 A-E-F-D-A - X20 A-G-H-D-A- - - 图13 外圆切削循环例题 - - 例题 如图14所示,运用锥面切削循环指令编程。 - G90 X40 Z20 R-5 F30 A-B-C-D-A - X30 A-E-F-D-A - X20 A-G-H-D-A- - - 图14 锥面切削循环例题- 2) 端面切削循环指令(G94)- 指令格式: G94 X(U)_ Z(W)_ R_ F_- 指令功能: 实现端面切削循环和带锥度的端面切削循环。- 刀具从循环起点,按图15与图16所示走刀路线,最后返回到循环起点,图中虚线表示按R快速移动,实线按F指定的进给速度移动。- - - 图15 端面切削循环 图16 带锥度的端面切削循环 - ① X、Z表示端平面切削终点坐标值;- ② U、W表示端面切削终点相对循环起点的坐标分量;- ③ R 表示端面切削始点至切削终点位移在Z轴方向的坐标增量,端面切削循环时R为零,可省略;- ④ F表示进给速度。- 例题: 如图17所示,运用端面切削循环指令编程。 - G94 X20 Z16 F30 A-B-C-D-A- Z13 A-E-F-D-A- Z10 A-G-H-D-A- - - 图17 端面切削循环例题 图18 带锥度的端面切削循环例题 - 例题: 如图18所示,运用带锥度端面切削循环指令编程。 - G94 X20 Z34 R-4 F30 A-B-C-D-A- Z32 A-E-F-D-A- Z29 A-G-H-D-A- (2)多重复合循环指令(G70——G76)- 运用这组G代码,可以加工形状较复杂的零件,编程时只须指定精加工路线、径向轴向精车留量和粗加工背吃刀量,系统会自动计算出粗加工路线和加工次数,因此编程效率更高。 - 在这组指令中,G71 、G72、G73是粗车加工指令,G70是G71、G72、G73粗加工后的精加工指令,G74 是深孔钻削固定循环指令,G75 是切槽固定循环指令,G76是螺纹加工固定循环指令。- 1)外圆粗加工复合循环(G71)- 指令格式 : G71 UΔd Re - G71 Pns Qnf UΔu WΔw Ff Ss Tt - 指令功能: 切除棒料毛坯大部分加工余量,切削是沿平行Z轴方向进行,如图19所示。- A为循环起点,A-A'-B为精加工路线。- - - - - - 图19 外圆粗加工复合循环 图20 端面粗加工复合循环- 指令说明:①Δd表示每次切削深度(半径值),无正负号;- ② e表示退刀量(半径值),无正负号;- ③ ns表示精加工路线第一个程序段的顺序号;- ④ nf表示精加工路线最后一个程序段的顺序号; - ⑤ Δu表示X方向的精加工余量,直径值;- 例题 :如图21所示,运用外圆粗加工循环指令编程。- - - 图21 外圆粗加工复合循环例题- N010 G50 X150 Z100- N020 G00 X41 Z0- N030 G71 U2 R1- N040 G71 P50 Q120 U0.5 W0.2 F100- N050 G01 X0 Z0- N060 G03 X11 W-5.5 R5.5- N070 G01 W-10- N080 X17 W-10- N090 W-15- N100 G02 X29 W-7.348 R7.5- N110 G01 W-12.652- N120 X41- N130 G70 P50 Q120 F30 - 2)端面粗加工复合循环(G72)- 指令格式: G72 WΔd Re - G72 Pns Qnf UΔu WΔw Ff Ss Tt - 指令功能: 除切削是沿平行X轴方向进行外,该指令功能与G71相同,如图20所示。- 指令说明 : - Δd 、e、 ns 、nf、Δu、Δw的含义与G71相同。- 例题:如图22,运用端面粗加工循环指令编程。- - - - 图22 端面粗加工复合循环例题 图23 固定形状切削复合循环- N010 G50 X150 Z100- N020 G00 X41 Z1- N030 G72 W1 R1- N040 G72 P50 Q80- U0.1 W0.2 F100- N050 G00 X41 Z-31- N060 G01 X20 Z-20- N070 Z-2- N080 X14 Z1- N090 G70 P50 Q80 F30- 3)固定形状切削复合循环(G73)- 指令格式: G73 UΔi WΔk Rd- G73 Pns Qnf UΔu WΔw Ff Ss Tt - 指令功能:适合加工铸造、锻造成形的一类工件,见图23所示。- 指令说明:- Δi 表示X轴向总退刀量(半径值);- ΔK 表示Z轴向总退刀量;- d 表示循环次数;- ns 表示精加工路线第一个程序段的顺序号;-
Δu 表示X方向的精加工余量(直径值);- Δw 表示Z方向的精加工余量。- ①固定形状切削复合循环指令的特点:- a.刀具轨迹平行于工件的轮廓,故适合加工铸造和锻造成形的坯料;- b.背吃刀量分别通过X轴方向总退刀量Δi和Z轴方向总退刀量ΔK除以循环次数d求得;- c.总退刀量Δi与ΔK值的设定与工件的切削深度有关。- ②使用固定形状切削复合循环指令,首先要确定换刀点、循环点A、切削始点A’和切削终点B的坐标位置。分析上图,A点为循环点,A’→B是工件的轮廓线,A→A’→B为刀具的精加工路线,粗加工时刀具从A点后退至C点,后退距离分别为Δi+Δu /2,Δk+Δw,这样粗加工循环之后自动留出精加工余量Δu /2、Δw。- ③顺序号ns至nf之间的程序段描述刀具切削加工的路线。- 例题: 如图14所示,运用固定形状切削复合循环指令编程。- - - - 图24 固定形状切削复合循环例题 图25 复合固定循环举例 - N010 G50 X100 Z100- N020 G00 X50 Z10- N030 G73 U18 W5 R10- N040 G73 P50 Q100 U0.5 W0.5 F100- N050 G01 X0 Z1- N060 G03 X12 W-6 R6- N070 G01 W-10- N080 X20 W-15- N090 W-13- N100 G02 X34 W-7 R7- N110 G70 P50 Q100 F30- 4)精车复合循环(G70)- 指令格式: G70 Pns Qnf - 指令功能:用G71、G72、G73指令粗加工完毕后,可用精加工循环指令,使刀具进行A-A`-B的精加工,(如图24)- 指令说明: - ns表示指定精加工路线第一个程序段的顺序号;- nf表示指定精加工路线最后一个程序段的顺序号; - G70~G73循环指令调用N(ns)至N(nf)之间程序段,其中程序段中不能调用子程序。- 5)复合固定循环举例 (G71与G70编程)- 加工图25所示零件,其毛坯为棒料。工艺设计参数为:粗加工时切深为7mm,进给速度0.3mm/r,主轴转速500r/min; X向(直径上)精加工余量为4 mm,z向精加工余量为2mm,进给速度为0.15mm/r,主轴转速800mm/min。程序设计如下: N01 G50 X200.0 Z220.0;- N02 G00 X160.0 Z180.0 M03 S800;- N03 G71 P04 Q10 U4.0 W2.0 D7.0 F0.3 S500;- N04 G00 X40.0 S800;- N05 G01 W-40.0 F0.15;- N06 X60.0 W-30.0;- N07 W-20.0;- N08 X100.0 W-10.0;- N09 W-20.0;- N10 X140.0 W-20.0;- N11 G70 P04 Q10;- N12 G00 X200.0 Z220.0;- N13 M05;- N14 M30;- 3.螺纹加工自动循环指令- (1)单行程螺纹切削指令G32(G33,G34)- 指令格式 : G32 X(U)_ Z(W)_ F_ - 指令功能:切削加工圆柱螺纹、圆锥螺纹和平面螺纹。- 指令说明:- 格式中的X(U)、Z(W)为螺纹中点坐标,F为以螺纹长度L给出的每转进给率。L表示螺纹导程,对于圆锥螺纹(图26),其斜角α在45°以下时,螺纹导程以Z轴方向指定;斜角α在45°~90°时,以X轴方向指定。- ①圆柱螺纹切削加工时,X、U值可以省略,格式为: G32 Z(W)_ F _ ;- ②端面螺纹切削加工时,Z、W值可以省略,格式为: G32 X(U)_ F_;- ③螺纹切削应注意在两端设置足够的升速进刀段δ1和降速退刀段δ2,即在程序设计时,应将车刀的切入 、切出、返回均应编入程序中。- - - - 图26 螺纹切削 图27 螺纹切削应用- 螺纹切削例题:- 如图27所示,走刀路线为A-B-C-D-A,切削圆锥螺纹,螺纹导程为4mm , δ1 = 3mm,δ2 = 2mm,每次背吃刀量为1mm,切削深度为2mm。- G00 X16- G32 X44 W-45 F4- G00 X50 W45 X14 G32 X42 W-45 F4- G00 X50 W45- (2)螺纹切削循环指令(G92)- 指令格式 : G92 X(U)_ Z(W)_ R_ F_- 指令功能: 切削圆柱螺纹和锥螺纹,刀具从循环起点,按图28与图29所示走刀路线,最后返回到循环起点,图中虚线表示按R快速移动,实线按F指定的进给速度移动。- - - - 图28 切削圆柱螺纹 图29 切削锥螺纹- 指令说明:- ①X、Z表示螺纹终点坐标值;- ②U、W表示螺纹终点相对循环起点的坐标分量;- ③R表示锥螺纹始点与终点在X轴方向的坐标增量(半径值),圆柱螺纹切削循环时R为零,可省略;- ④F表示螺纹导程。- 例题: 如图30所示,运用圆柱螺纹切削循环指令编程。-
- - 图30 切削圆柱螺纹例题 图31 切削锥螺纹例题- G50 X100 Z50- G97 S300 T0101 M03- G00 X35 Z3- G92 X29.2 Z-21 F1.5- X28.6- X28.2- X28.04- G00 X100 Z50 T0000 M05- M02 - 例题 : 如图31所示,运用锥螺纹切削循环指令编程。- G50 X100 Z50- G97 S300 T0101 M03- G00 X80 Z2- G92 X49.6 Z-48 R-5 F2- X48.7- X48.1- X47.5- X47.1- X47- G00 X100 Z50 T0000 M05- M02 - (3)螺纹切削复合循环(G76)- 指令格式 : G76 Pm r a QΔdmin Rd - G76 X(U)_ Z(W)_Ri Pk QΔd Ff - 指令功能:该螺纹切削循环的工艺性比较合理,编程效率较高,螺纹切削循环路线及进刀方法如图32所示。- - - 图32 螺纹切削复合循环路线及进刀法- 指令说明:- ②r表示斜向退刀量单位数,或螺纹尾端倒角值,在0.0f—9.9f之间,以0.1f为一单位,(即为0.1的整数倍),用00—99两位数字指定,(其中f为螺纹导程);- ③a表示刀尖角度;从80°、60°、55°、30°、29°、0°六个角度选择;- ④Δdmin:表示最小切削深度,当计算深度小于Δdmin,则取Δdmin作为切削深度;- ⑤d:表示精加工余量,用半径编程指定;Δd :表示第一次粗切深(半径值);- ⑥X 、Z:表示螺纹终点的坐标值;- ⑦U:表示增量坐标值;- ⑧W:表示增量坐标值;- ⑨I:表示锥螺纹的半径差,若I=0,则为直螺纹;- ⑩k:表示螺纹高度(X方向半径值);- G76螺纹车削实例- 图33所示为零件轴上 的一段直螺纹,螺纹高度为3.68,螺距为6,螺纹尾端倒角为1.1L,刀尖角为60°,第一次车削深度1.8,最小车削深度0.1,精车余量0.2,精车削次数1次,螺纹车削前先精车削外圆柱面,其数控程序如下:- - - 图33 螺纹切削多次循环G76指令编程实例- O0028 /程序编号- N0 G50 X80.0 Z130.0; /设置工件原点在左端面- N2 G30 U0 W0; /返回第二参考点- N4 G96 S200 T0101 M08 M03; /指定切削速度为200m/min,调外圆车刀- N6 G00 X68.0 Z132.0; /快速走到外圆车削起点(68.0,132.0)- N7 G42 G01 Z130.0 F0.2;- N8 Z29.0 F0.2; /外圆车削- N9 G40 G00 U10.0;- N10 G30 U0 W0;- N12 G97 S800 T0202 M08 M03; /取消恒切削速度,指定主轴转速800r/min,调螺纹车刀- N14 G00 X80.0 Z130.0; /快速走到螺纹车削循环始点(80.0,130.0)- N16 G76 P011160 Q0.1 R0.2; /循环车削螺纹- N18 G76 X60.64 Z25.0 P3.68 Q1.8 F6.0;- N20 G30 U0 W0 M09;- N22 M30;- ①m表示精车重复次数,从1—99; |
|