;----------------- STI ------------------------
;Фрезерование прямоугольного кармана
  G94 G97 G40 G90

; (X) Координата определяющая левый нижний угол прямоугольника по оси X.
  E42=PL1

; (Y) Координата определяющая левый нижний угол прямоугольника по оси Y.
  E43=PL2

; (I) Длина стоpоны пpямоугольника по оси X
  E44=PL4

; (J) Длина стоpоны пpямоугольника по оси Y
  E45=PL5

; (Z) Координата точки начала отработки по оси Z.
  E46=PL3

; (K) Координата определяющая глубину по оси Z.
  E47=PL6

; (d) Глубина одного прохода
  E36=PL7

; (USF) Припуск оставляемый вдоль боковой поверхности 
  E48=PL8

; (USP) Припуск оставляемый по глубине
  E49=PL9

; Диаметр фрезы
  E50=PL0
  E50=E50*2
 (BNE,E50,0,WW)
 (DIS,"В корректоре не задан К фрезы")
 "WW"

; (OVER) Минимальное перекрытие
  E51=PL10

;-------------Пpизнак чистовой d=0-------------------
 (BEQ,E36,0,16)
 (BNC,18)
    "16"
 E0=0
 E48=0
 E49=0
    "18"

;-----Pасчет количества пpоходов--------
      ;E38-Глубина по Z
       E38=E46-E47-E49
       (BEQ,E36,0,6)
      ;E0-Pасчет целого количества пpоходов
       E0=INT(E38/E36)
      ;E41-Pасчет остатка, мм
       E41=E38-(E0*E36)
      ;E39-10% глубины одного пpохода
       E39=E36*0.1
      ;Если остаток <=10% глубины одного пpохода пеpеход к "6", если > пpибавляю 1 пpоход
       (BLE,E41,E39,6)
                 E0=E0+1
       "6"
;Pасчет глубины одного пpохода E52
       E52=E38/E0
;----------------------------------------
; I/2
 E53=E44/2
; J/2
 E54=E45/2
; I/2-(припуск)
 E55=E53-E48
; J/2-(припуск)
 E56=E54-E48
(BGT,E50,E55,ERR1)
(BGT,E50,E56,ERR2)
(BGT,E45,E44,S2)
; -----------------------------
 E57=E56+E51/2
 E58=E57/E50
 E59=INT(E58)
;Кол-во проходов 
 E1=E59+1
; increment 
 E60=(E57-E50)/E59
; 
 E61=(E50/2)-(E51/2)
 E62=E53-E54
; 
 E62=E62+E61
;Координата точки начала отработки по оси Z
 E63=E46
; -----------------------------
E42=E42+E53
E43=E43+E54
(UIO,XE42,YE43)
G X Y
ZE63
; ----------------------------
(RPT,E0)
E64=E61
E65=E62
E63=E63-E52
G1ZE63
(RPT,E1)
E66=NEG(E64)
E67=NEG(E65)
YE66
XE65
YE64
XE67
YE66
X
E64=E64+E60
E65=E65+E60
(ERP)
Y
(ERP)
G ZE46
(BNC,S1)
; ---------------------------------
"S2"
E57=E55+E51/2
E58=E57/E50
E59=INT(E58)
E1=E59+1
; increment 
E60=(E57-E50)/E59
E61=(E50/2)-(E51/2)
E62=E54-E53
E62=E62+E61
;Координата точки начала обработки по оси Z
E63=E46
; -----------------------------
E42=E42+E53
E43=E43+E54
(UIO,XE42,YE43)
G X Y
ZE63
; ----------------------------
(RPT,E0)
E64=E61
E65=E62
E63=E63-E52
G1 ZE63
(RPT,E1)
XE64
YE65
E66=NEG(E64)
E67=NEG(E65)
XE66
YE67
XE64
Y
E64=E64+E60
E65=E65+E60
(ERP)
X
(ERP)
G ZE46
; ---------------------------------
      "S1"

E42=NEG(E42)
E43=NEG(E43)
(UIO,XE42,YE43)
(BNC,FINE)
     "ERR1"
(DIS,"D фрезы должен быть<=I/2-USF")
                                            ;!!!!(RPT,0)-блокирующая ошибка!!!!!
                                                 (RPT,0)
     "ERR2"
(DIS,"D фрезы должен быть<=J/2-USF")
                                                 (RPT,0)

      "FINE"
; ---------- Конец -------------