Page 27 - 4352
P. 27
if primitive#=LOCATE# then
write id1# using "G00"
elseif primitive#=LINE# then
write id1# using "G01"
elseif primitive#=ARC_CLW# then
write id1# using "G02"
elseif primitive#=ARC_CCLW# then
write id1# using "G03"
endif
endif
if (primitive#=ARC_CLW#) OR (primitive#=ARC_CCLW#) then
' Для кругової інтерполяції вивід X, Y, I, J:
write id1# using "X%+.f", x * RDISCR
write id1# using "Y%+.f", y * RDISCR
write id1# using "I%+.f", i * RDISCR
write id1# using "J%+.f", j * RDISCR
' Інакше, для позиціювання або лінійної інтерполяції вивід
' X, Y, Z, причому
elseif (primitive#=LINE#) OR (primitive#=LOCATE#) then
' Запис за адресою X, якщо збільшення цієї координати, dx,
' не дорівнює 0:
if dx<>0.0 then
write id1# using "X%+.f", x * RDISCR
endif
' Запис за адресою Y, якщо збільшення цієї координати, dy,
' не дорівнює 0:
if dy <> 0.0 then
write id1# using "Y%+.f", y * RDISCR
endif
' Запис за адресою Z, якщо збільшення цієї координати, dz,
' не дорівнює 0:
if dz<>0.0 then
write id1# using "Z%+.f", z * RDISCR
endif
endif
if (primitive#<>LOCATE#) AND (f<>f_) then
' Вивід подачі, якщо переміщення не є рухом з G00
' і на даному переміщенні задане нове значення подачі.
' Зверніть увагу на розміщення дужок в умові,
write id1# using "F%.15g", f
endif
write id1# using "%s", NL$ 'Завершення кадру - символ LF
endif
LOOP
' кінець опису й кінець файлу SMPL2.PSS
26