Краткое описание метода геометрического моделирования формообразования детали при токарной обработке
В рассматриваемом проекте применяется упрощённая модель формообразования обрабатываемой детали, основанная на допущении о постоянстве осевой симметрии детали на протяжении всего процесса токарной обработки [1, 2]. Данная модель исключает возможность построения винтовых поверхностей, а резьбовые элементы деталей изображаются условно – участками концентрической ребристости.
Основные вычисления по данной методике формализованы геометрической задачей пересечения двух плоских замкнутых контуров в рабочей плоскости станка – контура обрабатываемой детали и контура режущего инструмента. На основе формообразующего контура, представляющего собой логическую разность при пересечении двух исходных контуров, образуется трёхмерная поверхность моделируемой детали путём равномерного поворота формообразующего контура вокруг главной оси станка (оси вращения обрабатываемой детали).
Первоначальным этапом алгоритма является формирование множества точек Wi контура обрабатываемой детали (рис. 2.а). В исходном состоянии (до начала процесса обработки) контур детали включает четыре точки, при этом продольное сечение детали представлено прямоугольником.
На втором этапе алгоритма формируется контур режущей пластины токарного резца с учётом её геометрических характеристик – габаритных размеров, главного угла в плане и радиуса скругления при вершине. Контур режущей пластины описывается точками Cj в противоположном направлении по отношению к контуру детали (по часовой стрелке).

Рисунок 2 – К задаче расчёта формообразующего контура обрабатываемой детали:
пересечение исходных контуров детали и режущей пластины (а); получение формообразующего контура детали как логической разности исходных контуров (б)
Третий этап алгоритма заключается в определении множества точек пересечения Ik исходных контуров. При этом найденные точки пересечения индексируются в соответствии с тем, насколько ближе они лежат к начальной точке контура детали, и включаются в обобщённое множество точек обоих контуров в порядке индексации. Определение координат точек пересечения осуществляется для двух отрезков, принадлежащих двум разным контурам (рис. 3).

Рисунок 3 – К определению координат точки пересечения двух отрезков
Для отрезков P1–P2 и P3–P4, принадлежащих двум пересекающимся прямым L1 и L2, следует:
Координаты x, y точки пересечения прямых L1 и L2 определяются матричным уравнением:
следовательно:
Точки обобщённого множества, принадлежащие контуру режущей пластины, за пределами интервалов между точками пересечения, исключаются из обобщённого множества точек обоих контуров. Таким образом, формируется окончательное множество точек Fn, описывающих формообразующий контур детали (рис. 2.б). Полученный контур описывается в том же направлении, что и исходный контур детали.
Рассмотренный алгоритм представляет собой упрощенный вариант алгоритма отсечения Вейлера–Азертона [3]. Ряд упрощений алгоритма обусловлен геометрическими особенностями решаемой задачи, а именно: постоянным условием выпуклости контура режущей пластины, условиями обнаружения столкновений нерабочих элементов резца (державки) с обрабатываемой деталью, условием исключения полностью отсекаемой части детали из вычислительного процесса при моделировании операции отрезки и др.
В силу того, что моделирование формообразования детали осуществляется в процессе перемещения режущего инструмента, на каждой итерации алгоритма происходит дискретное изменение координат точек контура режущей пластины относительно контура обрабатываемой детали.
Шаг дискретности в данном случае обусловлен заданным параметром движения режущего инструмента (величиной рабочей подачи) и временем итерации цикла симуляции. В данном случае шаг дискретности перемещения инструмента (δ) может превышать линейные размеры области перекрытия контуров режущей пластины и обрабатываемой детали (рис. 4.а), что приводит к появлению артефактов («непрорезанных» участков) формообразующего контура детали (рис. 4.б).

Рисунок 4 – Проблема дискретности вычисления пересечений контуров
Одним из решений описанной проблемы является метод Джарвиса, заключающийся в построении минимальной выпуклой оболочки вокруг множества вершин контуров режущей пластины в текущем и предшествующем дискретных состояниях (рис. 5).

Рисунок 5 – Построение минимальной выпуклой оболочки вокруг контуров режущей пластины в двух последовательных дискретных состояниях
В данном случае осуществляется расчет пересечения контура обрабатываемой детали с контуром минимальной выпуклой оболочки, обеспечивающей требуемую область перекрытия в промежутках между дискретными состояниями режущего инструмента. При построении минимальной выпуклой оболочки особенно важным является условие неизменности направления обхода её контура.
В рассматриваемом проекте применяется альтернативный метод устранения артефактов формообразующего контура, основанный на алгоритме генерализации Рамера-Дугласа-Пекера [4, 5], широко применяемом в задачах топографии и картографии. Основной целью рекурсивной процедуры генерализации является сокращение числа вершин ломаной линии на основе заданного порогового значения расстояния между вершинами.
Начальным условием работы алгоритма является выбор наиболее удаленной точки по отношению к начальной точке ломаной линии контура. В последующих итерациях алгоритма определяются расстояния между промежуточными точками ломаной линии и сравниваются с пороговым значением.

Рисунок 6 – Итерации алгоритма генерализации Рамера-Дугласа-Пекера на примере произвольной ломаной линии
Технически процедура аппроксимации формообразующего контура детали объединена с начальным этапом общего алгоритма моделирования, на котором происходит формирование множества вершин исходного контура обрабатываемой детали.
Формирование трёхмерной поверхности моделируемой детали осуществляется путём расчёта координат точек в окружностях поперечных сечений детали по длине формообразующего контура с последующим объединением данных точек в треугольные фасеты (между сечениями).

Рисунок 7 – Полигональная модель детали типа тела вращения в разрезе (разбиение полигонов на треугольные фасеты не показано)
Порядок обхода вершин при сборке трёхмерного каркаса строго определён. Каждый полигон трёхмерной поверхности разбивается на 2 треугольных фасета, объединяющих 4 вершины (рис. 8). Радиальная гладкость образуемой трёхмерной поверхности зависит от заданного количества сегментов (секторов круга) в сечении моделируемой детали.
В процедуре сборки трёхмерного каркаса также рассчитываются векторы нормалей в каждой вершине (рис. 9) и текстурные координаты UV. По рассчитанным текстурным координатам поверхность детали прорисовывается с наложенным изображением текстуры металла, что в свою очередь повышает реалистичность восприятия моделируемого процесса.
Таким образом, окончательная трёхмерная модель обрабатываемой детали позволяет визуализировать результаты удаления материала резцом в динамике реального времени с требуемой степенью реалистичности.

Рисунок 8 – Фасеточный каркас трёхмерной модели обрабатываемой детали, вписанный в габаритный цилиндр исходной заготовки
Рисунок 9 – Векторы нормалей в вершинах фасеточной модели обрабатываемой детали
Реализация основных токарных циклов и циклов обработки отверстий
Реализованный алгоритм парсинга управляющих программ позволяет моделировать выполнение токарных и сверлильных циклов системы Fanuc. При выполнении каждого цикла в памяти вычислительного устройства создаётся так называемый буферный список кадров, включающий промежуточные перемещения инструмента при получении запрограммированного контура детали.
Токарные циклы задаются одним или двумя последовательными инициирующими кадрами, в которых прописываются основные параметры цикла – черновые и чистовые припуски, глубина резания при черновых проходах резцом, количество черновых проходов резцом, величина отвода резца, параметры режима обработки и т.д. Контур детали программируется последовательностью кадров с обязательной нумерацией первого и последнего кадра.
Цикл снятия припуска параллельно оси Z инициируется функцией G71. Параметры цикла программируются двумя последовательными кадрами в формате:
G71 U_ R_G71 P_ Q_ U_ W_ F_ S_
где в первом кадре: U – глубина обработки для черновых проходов (режим программирования в радиусах), R – расстояние отвода резца после окончания каждого прохода; во втором кадре: P – порядковый номер первого кадра описания обрабатываемого контура; Q – порядковый номер последнего кадра описания обрабатываемого контура, U – величина и направление снятия чистового припуска по оси X (режим программирования в диаметрах)
На рисунке 17 показаны траектории движения резца при выполнении токарного цикла G71. Зелеными линиями изображены перемещения резца на рабочей подаче, фиолетовыми линиями – на ускоренной подаче. Как видно из рисунка, обрабатываемый контур может включать криволинейные участки, запрограммированные методом круговой интерполяции.

Рисунок 17 – Траектории движения режущего инструмента при выполнении токарного цикла G71 и фрагмент кода управляющей программы
Цикл снятия припуска параллельно оси X инициируется функцией G72. Принцип программирования данного цикла аналогичен циклу G71. Выполнение черновых проходов резцом осуществляется в направлении оси X рабочей системы координат. Параметры цикла программируются двумя последовательными кадрами в формате:
G72 W_ R_G72 P_ Q_ U_ W_ F_ S_
где в первом кадре: W – глубина обработки для черновых проходов, R – расстояние отвода резца после окончания каждого прохода; во втором кадре: P – порядковый номер первого кадра описания обрабатываемого контура, Q – порядковый номер последнего кадра описания обрабатываемого контура, U – величина и направление снятия чистового припуска по оси X (режим программирования в диаметрах)
На рисунке 18 показаны траектории движения резца при выполнении токарного цикла G72.

Рисунок 18 – Траектории движения режущего инструмента при выполнении токарного цикла G72 и фрагмент кода управляющей программы
Цикл снятия припуска параллельно заданному контуру инициируется функцией G73. Параметры цикла программируются двумя последовательными кадрами в формате:
G73 U_ W_ R_G73 P_ Q_ U_ W_ F_ S_
где в первом кадре: U – величина и направление снятия суммарного припуска по оси X (режим программирования в радиусах), W – величина и направление снятия суммарного припуска по оси Z, R – количество последовательных проходов при снятии чернового припуска, включая получистовой проход; во втором кадре:
P – порядковый номер первого кадра описания обрабатываемого контура; Q – порядковый номер последнего кадра описания обрабатываемого контура; U – величина и направление снятия чистового припуска по оси X (режим программирования в диаметрах), W – величина и направление снятия чистового припуска по оси Z, F – скорость подачи при черновых проходах резцом, S – частота вращения шпинделя или скорость резания при чистовой обработке.
На рисунке 19 показаны траектории движения резца при выполнении токарного цикла G73.

Рисунок 19 – Траектории движения режущего инструмента при выполнении токарного цикла G73 и фрагмент кода управляющей программы
Цикл снятия чистового припуска инициируется функцией G70. Параметры цикла программируются одним кадром в формате:
G70 P_ Q_ F_ S_
где P – порядковый номер первого кадра описания обрабатываемого контура, Q – порядковый номер последнего кадра описания обрабатываемого контура, F – скорость подачи при чистовой обработке, S – частота вращения шпинделя или скорость резания при чистовой обработке.
Цикл чистовой контурной обработки G70 дополняет циклы G71, G72 и G73. Он позволяет произвести чистовую обработку контура, после применения циклов черновой токарной обработки. Использование цикла G70 в качестве самостоятельного цикла – нецелесообразно.
Программирование обработки наружных/внутренних и торцевых канавок осуществляется с помощью специальных циклов G74 и G75.
Цикл проточки торцевых канавок/сверления с отскоком инициируется функцией G74. Параметры цикла программируются двумя последовательными кадрами в формате:
G74 R_G74 X(U)_ Z(W)_ P_ Q_ F_
где в первом кадре: R – расстояние, на которое отводится режущий инструмент после завершения шага проточки; во втором кадре: X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, P – шаг проточки по оси X в микронах, Q – шаг проточки по оси Z в микронах, F – скорость подачи.
На рисунке 20 показаны траектории движения резца при выполнении цикла проточки торцевых канавок G74. При выполнении данного цикла инструмент после каждого рабочего прохода отводится на заданную величину отскока с целью удаления стружки из обрабатываемой канавки. Цикл G74 также может использоваться при программировании операции сверления торцевых отверстий.

Рисунок 20 – Траектории движения режущего инструмента при выполнении цикла проточки торцевых канавок G74 и фрагмент кода управляющей программы
Цикл проточки наружных/внутренних канавок с отскоком инициируется функцией G75. Принцип использования цикла G75 аналогичен циклу G74. Проточка канавки осуществляется в направлении оси X. Устанавливаемая величина шага проточки по оси Z позволяет осуществлять обработку канавок с перекрытием.
G75 R_G75 X(U)_ Z(W)_ P_ Q_ F_
где в первом кадре: R – расстояние, на которое отводится инструмент после завершения шага проточки; во втором кадре: X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, P – шаг проточки по оси X в микронах, Q – шаг проточки по оси Z в микронах, F – скорость подачи.
На рисунке 21 показаны траектории движения резца при выполнении цикла проточки наружной канавки G75.

Рисунок 21 – Траектории движения режущего инструмента при выполнении цикла проточки наружных/внутренних канавок G75 и фрагмент кода управляющей программы
Для обработки резьбовых соединений реализован цикл многопроходного нарезания резьбы, инициируемый функцией G76. Параметры цикла программируются двумя последовательными кадрами в формате:
G76 Pxxyyzz Q_ R_G76 X(U)_ Z(W)_ R_ P_ Q_ F_
где в первом кадре: xx – двузначное число винтовых проходов резьбонарезным резцом; yy – двузначное число, определяющее размер фаски, zz – двузначное число, определяющее угол режущей кромки режущего инструмента, Q – минимальная глубина нарезания резьбы в микронах (режим программирования в радиусах)
, R – глубина нарезания при чистовом проходе; во втором кадре: X(U) – координата конечной точки нарезания резьбы по оси X, Z(W) – координата конечной точки нарезания резьбы по оси Z, R – величина перемещения по оси X при нарезании конической резьбы (не программируется при нарезании цилиндрической резьбы), P – высота резьбы в микронах, Q – глубина нарезания резьбы для первого прохода в микронах, F – шаг резьбы по оси Z.
На рисунке 22 показаны траектории движения резца при выполнении цикла многопроходного нарезания цилиндрической резьбы G76. Голубыми линиями изображены перемещения резьбонарезного резца на рабочей подаче.

Рисунок 22 – Траектории движения режущего инструмента при выполнении цикла многопроходного нарезания цилиндрической резьбы G76 и фрагмент кода управляющей программы
Цикл G76 также позволяет программировать обработку конических резьб (рис. 23).

Рисунок 23 – Траектории движения режущего инструмента при выполнении цикла многопроходного нарезания конической резьбы G76 и фрагмент кода управляющей программы
При программировании обработки резьбовых соединений возможно применение альтернативного цикла нарезания резьбы с постоянным шагом, инициируемого функцией G92. Параметры цикла программируются одним кадром в формате:
G92 X(U)_ Z(W)_ R_ F_
где X(U) – координата конечной точки нарезания резьбы по оси X, Z(W) – координата конечной точки нарезания резьбы по оси Z, R – величина перемещения по оси X при нарезании конической резьбы (не программируется при нарезании цилиндрической резьбы), F – шаг резьбы по оси Z.
Каждый рабочий проход резьбонарезным резцом программируется отдельным кадром, идущим в общей последовательности кадров после кадра инициализации цикла G92. При этом задается только координата X, то есть значение диаметра, на котором находится расчётная точка резца на текущем рабочем проходе.
На рисунке 24 показаны траектории движения резца при выполнении цикла нарезания внутренней конической резьбы с постоянным шагом G92.

Рисунок 24 – Траектории движения режущего инструмента при выполнении цикла нарезания резьбы с постоянным шагом G92 и фрагмент кода управляющей программы
Для программирования проточки длинных цилиндрических или конических участков детали применяется цикл основной токарной обработки наружного/внутреннего диаметра, инициируемый функцией G90. Структура цикла аналогична резьбонарезному циклу G92. Перед началом цикла резец выводится в стартовую точку. Параметры цикла программируются одним кадром в формате:
G90 X(U)_ Z(W)_ R_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – изменение радиуса основания конуса, F – скорость подачи.
Каждый рабочий проход резцом программируется отдельным кадром, идущим в общей последовательности кадров после кадра инициализации цикла G90. При этом может задаваться только координата X, то есть значение диаметра, на котором находится расчётная точка резца на текущем рабочем проходе.
Также в кадрах описания рабочих проходов может быть задана и координата Z в случае, если необходимо обработать ступенчатый участок детали. На рисунке 25 показаны траектории движения резца при выполнении цикла основной токарной обработки наружного/внутреннего диаметра G90.

Рисунок 25 – Траектории движения режущего инструмента при выполнении цикла основной токарной обработки наружного/внутреннего диаметра G90 и фрагмент кода управляющей программы
Обработка торцевых поверхностей деталей может программироваться с помощью цикла основного наружного/внутреннего торцевого точения, инициируемого функцией G94. Параметры цикла программируются одним кадром в формате:
G94 X(U)_ Z(W)_ R_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – изменение радиуса основания конуса, F – скорость подачи.
По аналогии с циклом G90 рабочие проходы резцом программируются отдельными кадрами после кадра инициализации цикла G94. При этом для каждого прохода могут задаваться координаты Z и/или X, а также параметр R, определяющий изменение радиуса основания конуса.

Рисунок 26 – Траектории движения режущего инструмента при выполнении цикла основного наружного/внутреннего торцевого точения G94 и фрагмент кода управляющей программы
Имитационная модель также позволяет осуществлять программирование операций сверления торцевых отверстий с применением постоянных циклов: простого однопроходного сверления, однопроходного сверления с выдержкой на дне отверстия и многопроходного (прерывистого) сверления (рис. 27).
Цикл простого однопроходного сверления инициируется функцией G81, и имеет формат кадра:
G81 X(U)_ Z(W)_ R_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – абсолютная координата плоскости отвода инструмента по оси Z, F – скорость подачи.
Цикл однопроходного сверления с выдержкой на дне отверстия инициируется функцией G82, и имеет формат кадра:
G82 X(U)_ Z(W)_ R_ P_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – абсолютная координата плоскости отвода инструмента по оси Z, P – время выдержки на дне отверстия в миллисекундах, F – скорость подачи.
Цикл прерывистого сверления инициируется функцией G83, и имеет формат кадра:
G83 X(U)_ Z(W)_ R_ P_ Q_ F_
где X(U) – координата конечной точки по оси X, Z(W) – координата конечной точки по оси Z, R – абсолютная координата плоскости отвода инструмента по оси Z, P – время выдержки на дне отверстия в миллисекундах, Q – шаг сверления по оси Z в микронах, F – скорость подачи.
Отмена постоянного цикла обработки отверстий осуществляется функцией G80.

Рисунок 27 – Траектории движения сверла при выполнении цикла прерывистого сверления G83 и фрагмент кода управляющей программы
Реализация управления перемещениями токарного инструмента
По аналогии с реальной системой ЧПУ перемещение режущего инструмента программируется методами линейной и круговой интерполяции. Линейная интерполяция является основным видом движения при обработке на токарном станке с ЧПУ. При линейной интерполяции инструмент перемещается по прямой траектории с известными координатами её начала и конца (рис. 11).

Рисунок 11 – Траектория движения инструмента при линейной интерполяции
При движении расчётной точки C из точки A в точку B по прямолинейному участку с постоянной скоростью подачи обе координаты интерполируются линейно по времени. Обозначив время начала перемещения как tA, а конечное время – tB, текущие координаты точки C, соответствующие текущему моменту времени tC, можно определить по формулам линейной интерполяции:
Конечное время перемещения определяется как:
где tS – время, затраченное на прямолинейное перемещение при постоянной скорости подачи F (мм/мин):
Линейная интерполяция на ускоренной подаче программируется модальной функцией G00 (данная функция активна в исходном состоянии системы ЧПУ). Линейная интерполяция на рабочей подаче программируется модальной функцией G01. После данных функций задаются координаты конечной точки прямолинейного участка пути.
За исходную точку всегда принимается текущее положение инструмента. Заданная скорость рабочей подачи при ускоренном перемещении игнорируется. Координаты конечной точки могут задаваться в абсолютных значениях (X, Z), то есть относительно нуля рабочей системы координат, либо в относительных (инкрементальных)
Круговая интерполяция применяется для вытачивания криволинейных поверхностей, форма которых описывается дугой окружности определённого радиуса. Применяются два метода программирования дуги. Первый метод заключается в задании координат центра дуги и конечной точки, при этом радиус дуги вычисляется автоматически.
Второй метод предполагает указание радиуса дуги и координат конечной точки, при этом координаты центра дуги вычисляются автоматически. Круговая интерполяция по часовой стрелке задается с помощью функции G02, а круговая интерполяция против часовой стрелки – функцией G03, соответственно.
Рассмотрим один из случаев круговой интерполяции против часовой стрелки с указанием центра дуги (рис. 12.а). При движении расчетной точки C из точки A в точку B по дуге с постоянной скоростью подачи обе координаты также можно интерполировать по времени.
Угловое положение радиус-векторов OA, OB и OC описывается тригонометрическими углами φA, φB и φC, соответственно.

Рисунок 12 – Траектория движения инструмента при круговой интерполяции против часовой стрелки с заданием: центра дуги (а); радиуса окружности дуги (б)
Обозначив время начала перемещения как tA, а конечное время – tB, угол φC, соответствующий текущему моменту времени tC, можно определить по формуле линейной интерполяции:
где φA, φB – тригонометрические углы радиус-векторов начальной и конечной точек дуги:
Примечание: при расчёте тригонометрических углов крайних точек дуги необходимо учитывать ситуации, при которых функция арктангенса принимает сингулярные значения.
Декартовые координаты точки C определяются как:
где
Конечное время перемещения определяется по выражению (6). При этом время tS, затраченное на перемещение по дуге при постоянной скорости подачи F (мм/мин), можно определить, используя выражение длины дуги:
Инкрементальные координаты центра дуги программируются адресами I и K в направлениях осей X и Z, соответственно. При программировании круговой интерполяции с указанием центра дуги необходимо, чтобы радиус-векторы начальной и конечной точек дуги имели одинаковую длину.
Круговая интерполяция всегда выполняется на рабочей подаче.
Второй метод программирования дуги – указание радиуса окружности дуги. При этом допускается два случая задания радиуса – с положительным или отрицательным значением. Если значение радиуса положительно, угол дуги составляет менее 180 градусов. В противном случае угол дуги составляет более 180 градусов (рис. 12.б).
При задании дуги радиусом система ЧПУ автоматически определяет положение центра дуги (O или O– в зависимости от знака радиуса). В данном методе задания дуги должно соблюдаться условие: модуль радиуса не может быть меньше половины длины хорды (AB) дуги.
На рисунке 13 показан пример образования криволинейной поверхности при программировании круговой интерполяции против часовой стрелки.

Рисунок 13 – Образование криволинейной поверхности при программировании круговой интерполяции против часовой стрелки
Структура графического интерфейса пользователя
Симулятор выполняется в полноэкранном графическом режиме. Размеры структурных элементов графического интерфейса адаптивно меняются в зависимости от формата (соотношения сторон) экрана. Таким образом, выполнение программы возможно на экранах с различным соотношением сторон, как приближенным к 1,0 (разрешения 1024×768, 1280×1024 и др.), так и к 2,0 (разрешения 1920×1080, 2160×1080 и др.).
Взаимодействие с элементами графического интерфейса осуществляется с помощью стандартной компьютерной мыши (при работе на настольном компьютере) или путём сенсорного взаимодействия с экраном (при работе на интерактивной доске, планшетном компьютере или смартфоне).
Главный экран программы представлен трёхмерной сценой, основным объектом которой является графическая полигональная модель токарного станка, размещённая в условном пространственном окружении (рис. 28).

Рисунок 28 – Вид главного экрана программы
На протяжении всего сеанса работы с программой в правой части экрана отображается панель навигации. Первая (сверху вниз) кнопка панели предназначена для вызова диалога завершения программы. Диалоговый экран завершения работы программы выводит предупредительную информацию о возможной потере данных, если текущий проект не был сохранён в файл.
Закрытие диалогового экрана также осуществляется повторным нажатием на соответствующую кнопку навигационной панели. Вторая кнопка панели навигации вызывает диалоговый экран встроенного менеджера файлов (рис. 29). Элементами данного диалогового экрана являются три вертикально расположенных кнопки:
«Новый проект», «Открыть проект» и «Сохранить проект». Первая (сверху вниз) функциональная кнопка осуществляет сброс всех параметров текущего проекта к значениям по умолчанию. Данное действие сопровождается дополнительным диалогом подтверждения. Вторая кнопка выводит на экран элементы файловой системы в наиболее традиционном представлении (рис. 30).

Рисунок 29 – Диалоговый экран встроенного менеджера файлов
В левой части диалогового экрана открытия файла представлен список каталогов. Корневой каталог создается в системе при инсталляции программы. Доступ к каталогам, расположенным выше корневого по иерархии, посредством встроенного менеджера файлов не осуществляется.

Рисунок 30 – Диалоговый экран открытия файла проекта
В правой части диалогового экрана открытия файла представлен список файлов текущего активного каталога. Файлы отфильтрованы по расширению, соответствующему типу файлов программы (файлы, имеющие иное расширение, в списке не отображаются).
Навигация в структуре каталогов осуществляется путем одинарного клика мышью (или одинарного нажатия на сенсорный экран) по названию каталога в списке. Возврат на верхний иерархический уровень осуществляется кликом по верхней пустой строке с соответствующей пиктограммой (рис. 31).

Рисунок 31 – Изображение строки возврата на верхний уровень каталогов
Выбор файла осуществляется аналогичным одинарным кликом по названию файла в правом списке. При этом название выбранного файла отображается ярким зеленым цветом (рис. 32).

Рисунок 32 – Выделение названия цветом при выборе файла
Списки каталогов и файлов оснащены вертикальной и горизонтальной полосами прокрутки, позволяющими вмещать любое количество элементов списка в поле фиксированных размеров.
Третья кнопка диалогового экрана менеджера файлов отображает диалоговый экран сохранения файла, аналогичный диалогу открытия, но при этом оснащённый текстовым полем ввода названия файла (рис. 33).

Рисунок 33 – Диалоговый экран сохранения файла проекта
Текстовое поле, расположенное в верхней части экрана предназначено для клавиатурного ввода названия файла. В случае работы на устройстве без физической клавиатуры предполагается использование виртуальной клавиатуры, являющейся компонентом операционной системы или автономным фоновым приложением.
Ввод имени файла осуществляется без расширения. При вводе текста в поле поддерживаются только текстовые и цифровые символы. Максимальная длина вводимого текста составляет 128 символов. Если требуется перезапись существующего файла проекта, его необходимо выбрать в списке файлов. При этом в поле названия файла отобразится фактическое название выбранного файла.
Подтверждение (или отмена) действия в диалоговых экранах открытия и сохранения файлов осуществляется с помощью соответствующих кнопок, расположенных в правом нижнем углу экрана.
Третья кнопка панели навигации вызывает диалоговый экран настройки параметров заготовки (рис. 34).

Рисунок 34 – Диалоговый экран настройки параметров заготовки
Основными элементами экрана настройки параметров заготовки являются поле размерной привязки и панель параметров заготовки. В поле размерной привязки изображена рабочая зона токарного станка с видом сверху. На условном чертеже представлены основные подвижные узлы станка: трёхкулачковый патрон, револьверная головка и задняя бабка (для длинных заготовок).
Параметры L1 и L2 представляют собой фиксированные размеры трёхкулачкового патрона, отложенные от точки машинного нуля, обозначенной на чертеже буквой M. Параметр L3 представляет собой фактический вылет заготовки и зависит от заданных пользователем параметров L, D и L4.
Группа из десяти параметров, расположенных в нижней части правой панели, предназначена для изменения значений нулевых корректоров станка или, другими словами, для позиционирования нулей W2–6 пяти дополнительных рабочих систем координат, переключение между которыми осуществляется программно с помощью соответствующих функций G55–G59.
Координаты нулей дополнительных систем координат отсчитываются от точки машинного нуля. Основная рабочая система координат с нулем W1 всегда позиционируется на правом торце заготовки, закреплённой в патроне, с учётом припуска на первичную торцевую обработку L5. Рабочие системы координат и их нули изображены на чертеже цветными осями и соответствующими значками (рис. 35).

Рисунок 35 – Фрагмент чертежа размерной привязки заготовки
Наряду с заготовкой в поле чертежа размерной привязки изображена револьверная головка с установленным в неё инструментом. Если револьверная головка укомплектована осевым инструментом, на чертеже одновременно изображаются сверло с номинальным продольным вылетом Zm и резец для наружной обработки с номинальным поперечным вылетом Xm (рис. 36.а). При использовании инструментов только для наружной обработки осевой инструмент на чертеже не показывается (рис. 36.б).

Рисунок 36 – Различные варианты комплектации револьверной головки при использовании осевого инструмента (а) и без использования осевого инструмента (б)
Референтное положение револьверной головки определяется таким образом, чтобы теоретический инструмент с номинальными вылетами Zm и Xm имел безопасные продольный Z’ и поперечный X’ отступы от правого нижнего угла контура заготовки в плане. Значения безопасных отступов Z’ и X’ не регулируются и составляют 30 мм.
При выставлении размеров заготовки автоматически контролируется соблюдение условия поджатия длинных заготовок задним центром. Так, если значение вылета L3 превышает 3 диаметра заготовки, в поле чертежа отображается пиноль задней бабки с установленным в неё задним центром.
Четвертая кнопка панели навигации вызывает диалоговый экран настройки параметров инструмента (рис. 37). В левой части экрана представлен список (каталог) инструментов, включающий 185 наименований различных инструментов для наружной и внутренней обработки деталей.
Каждая позиция списка начинается с интерактивной пиктограммы инструмента, в общих чертах характеризующей форму пластины и рекомендуемые направления рабочих подач. Справа от пиктограммы инструмента идут порядковый номер и краткое текстовое описание инструмента, включая его геометрические характеристики и вид токарной обработки, в которой рекомендуется использовать данный инструмент. Список инструмента снабжен вертикальной полосой прокрутки.
В правой части экрана настройки параметров инструмента сверху расположен ряд квадратных ячеек с порядковыми номерами с 1 по 8, что соответствует позициям револьверной головки.

Рисунок 37 – Диалоговый экран настройки параметров инструмента
Для установки инструмента в нужную позицию револьверной головки необходимо навести указатель мыши на пиктограмму с изображением инструмента в списке, затем нажать левую кнопку мыши, и, удерживая её нажатой, переместить пиктограмму на свободную ячейку в правой верхней части экрана, после чего отпустить кнопку мыши.
В случае если инструмент перемещается на уже занятую позицию, он будет автоматически возвращен в каталог. При работе на устройстве с сенсорным экраном перемещение пиктограмм инструментов осуществляется аналогичным образом путем непрерывного касания экрана с перемещением по экрану.
Возврат установленного инструмента в каталог осуществляется аналогичным перемещением пиктограммы. При этом пиктограмму возвращаемого инструмента достаточно переместить в любую область поля списка инструментов.
Для перестановки уже установленного инструмента с одной позиции на другую (свободную или занятую другим инструментом) достаточно переместить пиктограмму в пределах блока позиций револьверной головки. Если при этом ячейка, в которую перемещается инструмент, уже занята другим инструментом, данные инструменты будут поменяны местами.
Ниже блока позиций револьверной головки представлен чертеж размерной привязки инструмента, отображающий модель инструмента и оснастки в плане, фактические значения продольного и поперечного вылетов, а также геометрическую схему режущей пластины инструмента в плане.
Положение точки нуля инструмента, обозначенной соответствующим значком, не подлежит изменению, и соответствует центру отверстия в плоскости лицевой поверхности револьверной головки.
Вылеты инструмента могут изменяться в зависимости от типа инструмента с помощью кнопок увеличения/уменьшения значения вылета, расположенных в нижней правой части поля чертежа размерной привязки (рисунок 38). Для наружных инструментов изменяется поперечный вылет по оси X в меньшую сторону, а для осевых инструментов – продольный вылет по оси Z в большую или меньшую сторону.
Настройка вылетов инструментов является одним из этапов наладки станка. Укорочение вылета осевых инструментов путем их заглубления в полость технологической оснастки (и, соответственно, револьверной головки) позволяет расширить границы рабочего пространства станка при обработке наружной поверхности вблизи патрона при условии, что в револьверной головке закреплены как осевые инструменты, так и инструменты для наружной обработки.
Переключение между инструментами, установленными в револьверную головку, осуществляется с помощью соответствующих кнопок «влево»/«вправо», расположенных в правом верхнем углу поля чертежа размерной привязки. Основные геометрические параметры инструмента отображаются в нижней части чертежа.

Рисунок 38 – Вид чертежа размерной привязки инструмента
Осевой инструмент не используется в случае поджатия заготовки задним центром. При этом если револьверная головка предварительно укомплектована осевым инструментом, а размеры заготовки изменяются во вторую очередь, в результате чего задействован задний центр, осевой инструмент автоматически возвращается в каталог. Во избежание данной ситуации комплектацию револьверной головки следует производить после размерной привязки заготовки.
Пятая кнопка панели навигации отображает на главном экране симулятора встроенный текстовой редактор управляющих программ (рис. 39). Текстовой редактор имеет в верхней части панель функциональных кнопок, необходимых для работы с кодом управляющей программы станка.

Рисунок 39 – Вид главного экрана симулятора с открытым редактором управляющих программ
Набор текста в текстовом поле может осуществляться как с помощью физической, так и с помощью виртуальной клавиатуры (рис. 40).

Рисунок 40 – Виртуальная клавиатура для набора текста в редакторе кода
Основные операции по редактированию текста в редакторе кода аналогичны операциям редактирования текста в стандартном текстовом редакторе «Блокнот» операционной системы Microsoft Windows. Редактор позволяет осуществлять стандартные операции по редактированию текста, включая передачу данных через системный буфер обмена (операции копирования, вырезки и вставки фрагментов текста).
Выделение фрагментов текста осуществляется тремя способами, включая операции курсорными клавишами физической клавиатуры (с нажатой клавишей Shift), кнопками мыши и сенсорного взаимодействия с экраном (с помощью специальной кнопки Select Start виртуальной клавиатуры).
Панель функциональных кнопок текстового редактора включает 8 кнопок (рис. 41), статус активности которых зависит от текущего состояния процесса симуляции, а также наличия выделенного фрагмента текста.

Рисунок 41 – Панель функциональных кнопок редактора кода
Если в тексте управляющей программы не выделено ни одного фрагмента, кнопка «Копировать» (1) имеет дополнительную надпись «ALL». Это означает, что при нажатии на данную кнопку в буфер обмена будет скопирован весь текст управляющей программы. В противном случае (при наличии выделенного фрагмента текста) в буфер обмена копируется только выделенный текст.
Кнопка «Вырезать» (2) активируется при наличии выделенного фрагмента текста. При нажатии на данную кнопку осуществляется стандартная операция копирования с последующим удалением выделенного фрагмента из текста. Кнопка «Вставить» (3) активируется при наличии текста в буфере обмена.
Вставка осуществляется в позицию нахождения мерцающего курсора (каретки). Если при этом в тексте выделен фрагмент, данный фрагмент текста заменяется. Кнопка «Удалить» (4) предназначена для моментального удаления всего текста управляющей программы с подтверждением.
Кнопки «Пуск», «Пауза», «Стоп» (5-7) предназначены для управления процессом симуляции. Для начала выполнения управляющей программы необходимо нажать на кнопку «Пуск». В процессе симуляции редактирование управляющей программы недоступно. Кнопка «Справочник используемых кодов» (8) предназначена для вывода на экран перечня используемых G/M-кодов с кратким описанием их формата.
Ниже панели функциональных кнопок текстового редактора управляющих программ расположены 5 интерактивных вкладок с названиями управляющих программ текущего проекта. С помощью данных вкладок осуществляется переключение между управляющими программами. При запуске процесса симуляции выполняется текущая открытая управляющая программа.
В левой части главного экрана симулятора находятся дополнительные функциональные кнопки (рис. 42), отвечающие за различные настройки программы.

Рисунок 42 – Дополнительные функциональные кнопки главного экрана программы
Кнопка «О программе» (1) отображает на экране информацию о текущей версии программы, контактную информацию разработчика, а также лицензионную информацию. Кнопка «Переключение языка» (2) предназначена для переключения языковых настроек графического интерфейса программы.
В зависимости от текущего языка изображение на кнопке меняется. По умолчанию после инсталляции программа работает в режиме английского языка. Кнопка «Включение/Выключение звука» (3) используется для включения/выключения звукового сопровождения процесса симуляции.
Кнопка «Переключение режима графики» (4) предназначена для переключения режима отображения 3D модели станка и окружения. При этом доступно два режима отображения – режим высокополигональной графики (включен по умолчанию) и режим низкополигональной графики, предназначенный для скрытия второстепенных графических элементов.
В режиме низкополигональной графики геометрическая модель станка существенно упрощена и показана моноцветными полупрозрачными блоками. В данном режиме не отображаются графические текстуры, отсутствует имитация окружения, смазочно-охлаждающей жидкости и стружки.
Режим низкополигональной графики используется в случае, если необходимо сконцентрировать внимание пользователя на контуре обрабатываемой детали и траекториях перемещения инструмента. В зависимости от текущего графического режима изображение на кнопке меняется.
Кнопка «Включение/Выключение 2D геометрии» (5) предназначена для включения/выключения двухмерных геометрических построений в трёхмерном пространстве симулятора. Под 2D геометрией понимаются такие графические элементы, как координатные оси, значки нулевых точек и контуры обрабатываемой детали и инструмента.
При обработке внутренних поверхностей детали (сверлении и растачивании) отображение 2D контура детали в наиболее полной мере способствует визуальному контролю процесса обработки внутренних поверхностей. Кнопка «Включение/Выключение траекторий перемещения инструмента» (6) предназначена для включения/выключения функции отображения траекторий перемещения резцов и свёрел в плоскости резания.
Также на главном экране программы отображается дополнительная текстовая информация: номер текущего установа детали, текущее время симуляции, координаты расчётной точки резца, параметры скоростного режима обработки. Если в процессе симуляции текстовой редактор управляющих программ закрыт, в верхней части главного экрана отображаются кнопки управления процессом симуляции «Пуск», «Пауза», «Стоп» и строка текущего выполняемого кадра (рис. 43).

Рисунок 43 – Дополнительные элементы главного экрана программы в процессе симуляции при закрытом текстовом редакторе
После выполнения обработки детали с первого установа в левой части главного экрана отображается дополнительная кнопка смены установа (рис. 44.а). После смены установа с первого на второй контур детали зеркально отражается относительно центра масс исходной заготовки в направлении оси Z, и на экране отображаются дополнительные три кнопки продольного смещения детали (рис. 44.б).
Нажатие на кнопку 1 приводит к дискретному продольному смещению детали влево (в сторону точки машинного нуля). Нажатие на кнопку 2 приводит к смещению детали вправо. Кнопка 3 служит для обнуления заданных смещений детали. При этом следует учитывать, что повторная привязка заготовки не осуществляется (расположение нулевых корректоров сохраняется с предыдущей настройки).

Рисунок 44 – Дополнительные кнопки настройки установа детали
Повторный вызов диалогового экрана параметров заготовки после осуществления обработки детали с первого установа инициирует диалоговый экран подтверждения сброса изменений контура детали.
В нижней части главного экрана программы мелким шрифтом отображается системная информация о ресурсах: текущее значение кадровой частоты (Frame Per Second), объем используемой видеопамяти в мегабайтах, количество единовременно отображаемых на экране полигональных фасетов, количество загруженных в память рисунков, количество используемых графических спрайтов и время прорисовки одного полноэкранного кадра в секундах.
В левом нижнем углу главного экрана расположена кнопка переключения режима виртуальной камеры (рис. 45). На кнопке изображен номер целевого (следующего по счёту) режима камеры, на который будет переключен экран. Всего предусмотрено 5 режимов работы камеры.

Рисунок 45 – Кнопка переключения режима виртуальной камеры в различных вариантах отображения
Режим №1 виртуальной камеры является управляемым. При этом камера перемещается в сферической системе координат вокруг точки фокусировки (рис. 46). Точка фокусировки камеры может перемещаться в вертикальной фронтальной плоскости пространства модели. Кроме того, камера может дистанцироваться относительно точки фокусировки на произвольное расстояние, ограниченное габаритами пространства.
Основные манипуляции с камерой в режиме №1 осуществляются с помощью компьютерной мыши (сенсорное управление описано ниже). При этом нажатие и удерживание левой кнопки мыши с сопутствующим перемещением мыши приводит к перемещению точки фокусировки камеры во фронтальной плоскости пространства.
Нажатие и удерживание правой кнопки мыши с сопутствующим перемещением мыши приводит к вращению камеры относительно точки фокусировки. Углы вращения (азимут и элевация) камеры ограничены габаритами пространства модели. Изменение дистанции камеры осуществляется вращением колеса прокрутки в прямом и обратном направлениях.

Рисунок 46 – Схема управления камерой в режиме №1
Справа от кнопки переключения режима камеры (в режиме №1) отображается кнопка отключения управления камерой с помощью мыши (рис. 47.а).

Рисунок 47 – Кнопка переключения режима виртуальной камеры в различных вариантах отображения
При отключении управления камерой с помощью мыши в нижней части главного экрана отображается группа кнопок-переключателей (рис. 47.б) для осуществления сенсорного управления камерой в режиме №1. Кнопка 1 активирует операцию смещения точки фокусировки камеры, кнопка 2 – операцию вращения камеры относительно точки фокусировки, а кнопка 3 – операцию изменения дистанции от камеры до точки фокусировки, соответственно. Сами манипуляции при этом осуществляются путём взаимодействия с сенсорным экраном.
Режимы камеры №2-5 предназначены для позиционирования камеры в точки с фиксированным ракурсом. Режим №2 позиционирует камеру над вершиной текущего инструмента (вид сверху). Перспективные искажения камеры в данном режиме отключены (используется ортогональная проекция). В режиме №3 камера работает в изометрии. Режимы №4 и №5 фиксируют камеру в двух дополнительных точках обзора.
Все настройки программы, включая положение камеры, сохраняются при завершении работы.
В симуляторе не имитируется конкретное программное обеспечение системы ЧПУ. Панель управления станком представлена условным дисплеем, на котором в процессе симуляции выводится основная технологическая информация (рис. 48). В левой верхней части дисплея представлены текущие координаты расчётной точки резца по осям X и Z.
Это координаты программируемой точки, лежащей на траектории перемещения инструмента, в текущий момент времени. В исходном состоянии данные значения представлены в миллиметрах. При программном изменении системы измерений координаты (а также значение подачи) отображаются в дюймах.
В левой нижней части дисплея отображаются (желтым цветом) текущие технологические параметры: частота вращения шпинделя S (об/мин), рабочая подача F (мм/мин) и номер текущей позиции револьверной головки T.
В правой нижней части дисплея расположены 6 ячеек для отображения активных модальных функций системы ЧПУ. Слева направо в ячейках отображаются следующие функции: направление вращения шпинделя M03/M04, работа системы СОЖ M07–M09, текущая рабочая система координат G53–G59, тип рабочей подачи G98/G99 и тип интерполяции G00–G03.

Рисунок 48 – Внешний вид дисплея СЧПУ имитационной модели станка
Станки дома 



(1 оценок, среднее: 4,00 из 5)