Справочник по настройке CAM-системы
  • Справочник по настройке CAM-системы
Search Results for

    Show / Hide Table of Contents
    • Справочник по настройке CAM-системы
    • Фреймворк XMLProperties
      • Обзор фреймворка
      • Синтаксис дескрипторов
      • Язык выражений
      • Использование XML-свойств из кода
      • Пользовательские значения по умолчанию
    • XML-дескрипторы операций
      • Дескрипторы операций
      • Справочник иерархии операций
    • Дескрипторы станков
      • Дескрипторы станков
      • Справочник узлов станка
      • Справочник параметров Machine Setup
      • Продвинутые темы по станкам
      • 3D-модели станков

    Справочник узлов станка

    Эта страница — справочник свойств для каждого типа узла, используемого в кинематической схеме станка, а также системы координат и единицы, в которых они все выражены. Это справочник‑компаньон к Дескрипторам станков, где разбирается, как узлы сочетаются друг с другом; приходите сюда, когда нужен полный список свойств конкретного типа узла.

    Типы узлов образуют небольшое дерево наследования:

    • TMachineNode — база всего в схеме. Каждый другой тип узла ниже наследует его ID, Matrix, VisualProperties и ImageFile.
      • TMachineAxis — узел, который движется (линейно или поворотно).
      • TToolHolderNode / TWorkpieceHolderNode — гнёзда, где крепятся инструмент и заготовка (коннектор инструмента / коннектор заготовки интерфейса).

    Отдельный тип, TMachineStateParameter, вообще не является узлом схемы — это управляемое значение, которым приводится узел оси. Узлы осей ссылаются на него по имени.


    Системы координат и единицы измерения

    • Мировая система координат. Если смотреть на обычный фрезерный станок спереди: Z вверх, X вправо, Y от наблюдателя. Стройте схему (и моделируйте геометрию) в этой системе.
    • Единицы. Все переносы Matrix — и вся CAD‑геометрия — заданы в единицах Measurements станка (см. Идентичность и метаданные): миллиметры для метрического станка, дюймы для дюймового. Если активная система единиц отличается, система пытается пересчитать масштаб станка один раз при загрузке, но для сильно параметризованных схем это может сработать некорректно — поэтому готовьте схему сразу в тех единицах, в которых она будет использоваться.
    • Direction не обязан быть единичным вектором. Для обычной ортогональной оси это нормализованный вектор перемещения. Но на станках с неортогональными осями — например, наклонная опора Y на токарно‑фрезерном — модуль Direction не равен 1; его компоненты следуют синусам/косинусам наклона между осями. Поставляемый токарно‑фрезерный Mori Seiki (Machines\LatheMilling\Turret\Mori Seiki\MoriSeiki.xml) задаёт своей оси Y Direction = (√3, 1, 0) — записанное точно как (1.7320508…, 1, 0), наклон 30° с модулем 2 — для математически точного описания.
    • Конвенция оси инструмента. Z инструмента идёт от режущей вершины вдоль оси вращения инструмента к точке его крепления в шпинделе/держателе. Для наружных (OD) токарных резцов то же по ISO 13399: Z от вершины к креплению держателя, рабочая плоскость пластины в плоскости ZX; X выбран так, чтобы у правого инструмента бóльшая часть режущей геометрии была со стороны −X (у левого — на +X). CAM‑система всё вычисляет в предположении этого размещения; лишь при финальном выводе CLData необязательный AdditionalTransform (вывод системы координат инструмента) может применить последнее смещение/поворот — обычно нулевое для станков и используемое на роботах, чтобы развернуть Z так, чтобы он указывал из фланца (и из инструмента в сторону, противоположную креплению).

    TMachineNode

    TMachineNode — база для всего в дереве схемы. Каждый тип узла наследует эти четыре члена:

    Свойство По умолч. Смысл
    ID "" Идентификатор узла, уникальный в пределах этого файла станка.
    Matrix единичная Размещение узла относительно родителя (или мира — см. позиционирование узлов матрицами).
    VisualProperties — Как отрисовывается 3D‑модель узла (см. ниже).
    ImageFile "" 3D‑модель узла, файл .osd / .stl (см. 3D‑модели станков).

    Голый TMachineNode — это жёсткая часть конструкции (станина, колонна, стол): он несёт геометрию и позиционирует своих потомков, но сам не движется.


    TMachineAxis

    TMachineAxis расширяет TMachineNode (поэтому у него есть ID, Matrix, VisualProperties и ImageFile, как у любого узла) и добавляет специфичные для оси свойства ниже:

    Свойство По умолч. Смысл
    AxisType Linear Linear или Rotary.
    ParameterName "" ID TMachineStateParameter, который приводит эту ось.
    Direction (0, 0, 1) Направление перемещения (только линейные оси — см. примечание ниже).
    Scale 1 Множитель от значения параметра состояния к физическому перемещению (см. ниже); отрицательный инвертирует направление.
    RapidFeed 10000 Скорость ускоренного перемещения в минуту (мм/мин для линейной оси в мм, град/мин для поворотной оси в градусах).
    Channel -1 Канал управления (§6); -1 = общий.
    WorkpieceIndex -1 Если ≥ 0, ось управляется только для этой заготовки.
    DesignTimeAxisValue 0 Значение оси, используемое во время проектирования для вычисления мировых матриц узлов.

    Direction — линейная или поворотная. Для линейной оси Direction — это направление перемещения. Для поворотной оси Direction не используется: вращение всегда вокруг оси Z собственной локальной системы координат оси, поэтому ориентируйте узел (через его Matrix), чтобы поместить этот Z туда, где должна быть ось вращения.

    Scale — это безразмерный множитель, применяемый к значению параметра состояния оси — физическая единица заключена в значении, а не в Scale: длина для линейной оси (мм или дюйм в дюймовой системе) и угол в радианах для поворотной оси. Используйте Scale, чтобы переотобразить значение — например, индексная револьверная голова хранит простой индекс позиции, а Scale, равный 360 / BlocksCount, превращает каждый шаг индекса в поворот на одну позицию. Отрицательный Scale инвертирует направление оси (а значит, переворачивает и базовую СК, в которую он вносит вклад — см. §4).


    VisualProperties

    Каждый узел (TMachineNode и его потомки — оси, держатели, узлы схемы) имеет блок VisualProperties, управляющий тем, как отрисовывается его 3D‑модель:

    Свойство По умолч. Смысл
    Visible True Показывается ли модель узла; при выключении узел скрыт.
    Color (0.5, 0.5, 0.5) Цвет узла как R / G / B, каждый 0…1.
    Metallic False Отрисовка с металлическим видом.
    IsTransparent False Сделать узел прозрачным (включает Transparence).
    Transparence 0.5 Прозрачность, 0 = непрозрачно … 1 = полностью прозрачно.
    DisplayMode Default Режим отрисовки — Wire, Shade, EdgeShade или Default.
    VisMatrix единичная Матрица, размещающая 3D‑модель узла независимо от его кинематической Matrix (см. §1).
    Use3DModelColors False При True отрисовывать узел цветами, хранящимися в его 3D‑модели, вместо Color выше. (Атрибут на VisualProperties.)
    <VisualProperties Use3DModelColors="False">  <!-- атрибут на самом элементе -->
        <Visible DefaultValue="True"/>
        <Color><R DefaultValue="0.5"/><G DefaultValue="1"/><B DefaultValue="0.5"/></Color>
        <DisplayMode DefaultValue="Shade"/>
    </VisualProperties>
    

    Подготовка самих 3D‑моделей (файлы .osd / .stl, где они лежат, единицы и выравнивание) описана в 3D‑моделях станков.


    TMachineStateParameter

    TMachineStateParameter — это управляемая величина, которой управляет ЧПУ: положение оси, шпиндель, ход кулачка. Узлы осей ссылаются на него через ParameterName. Он объявляется либо в глобальной секции MachineStateParameters, либо на узле в Schema (см. параметры состояния станка).

    Свойство По умолч. Смысл
    Enabled True Активен ли параметр.
    ID "" Его идентификатор; оси и держатели ссылаются на него по этому имени (часто параметризованному, например [Prefix]…).
    Address "" Адресная буква, которую постпроцессор выводит для него (например, X, Z, C, S).
    AxisControl Continues Как он приводится — Continues (непрерывно), Indexed или Manual (см. примечания).
    Group Other Классификация — LinearAxis, RotaryAxis или Other.
    Incr 0.001 Наименьший инкремент / разрешение.
    Min / Max -1E9 / +1E9 Пределы перемещения.
    InitialValue 0 Значение оси при сбросе станка в исходное состояние в проекте, до запуска любой операции.
    DesignTimeValue 0 Смещение нуля оси — положение, в котором была нарисована её 3D‑модель (см. примечания).
    HasBrake False У оси есть тормоз. При установке вокруг каждого изменения этой оси в CLData выдаётся команда AXESBRAKE On\|Off (чтобы постпроцессор отпустил/зажал тормоз).
    SupportShortestPathRotation вычисляется Только периодические поворотные оси — влияет на симуляцию ускоренных перемещений (см. примечания).
    Priority 0 Порядок параметра только в списках/окнах пользователя (на вывод не влияет).
    Order [Priority] Порядок, в котором оси записываются в команды CLData.
    ParameterType Geom Устарело — сейчас не действует (когда‑то группировало отображение на геометрические и технологические).
    ControlWithMap False Разрешение избыточной оси через интерактивную карту оси (см. примечания).
    ClampID вычисляется Id зажимного приспособления; на него ссылаются операции передачи/перехвата детали, которые зажимают и разжимают его.

    Чаще всего вы задаёте Address, Group и Min/Max/Incr.

    Примечания по отдельным свойствам:

    • AxisControl — Continuous: несколько непрерывных осей могут меняться в пределах одного кадра УП. Indexed: не может двигаться синхронно с другими осями — позиционируется и фиксируется в собственном кадре(ах) УП до основной обработки. Manual: не управляется программой — оператор задаёт её вручную, поэтому она может меняться только в объектах Setup (не в операциях внутри установа), а постпроцессор может выводить её как комментарий/инструкцию оператору.
    • ControlWithMap — для избыточных осей. Включает интерактивную карту оси: график значения избыточной оси (по вертикали) против длины пути (по горизонтали), на котором вы рисуете, как эта ось должна двигаться вдоль траектории, наблюдая за движением всего станка и видя столкновения узлов как запретные зоны на карте. Это интерактивный способ разрешить избыточность обратной кинематики. Включайте его только для дополнительных избыточных осей, о которых виртуальный субстанок ещё не знает: основные избыточные внешние оси — например, 3 линейные оси рельсов робота и 2 поворотные оси позиционера, или ось C 5‑осевого станка (для обхода сингулярностей) — появляются на карте автоматически, без этого флага.
    • SupportShortestPathRotation — для периодических поворотных осей с диапазоном более 180°. Он не меняет CLData (целевое значение, например A+370, по‑прежнему выводится); он влияет только на симуляцию ускоренных перемещений: при включении ускоренное перемещение идёт по кратчайшему эквивалентному углу (A+10 вместо A+370); при выключении делает полный оборот. Рабочие перемещения всегда выполняют полный ход.
    • DesignTimeValue — используйте, когда 3D‑модель оси была нарисована в ненулевом положении: укажите здесь это положение, и нуль оси сместится на противоположную величину, чтобы модель совпала со значением оси 0.

    Коннекторы инструмента и заготовки

    Коннектор — это место, где инструмент или заготовка крепятся к кинематической цепочке — коннектор инструмента (TToolHolderNode) и коннектор заготовки (TWorkpieceHolderNode) интерфейса. Оба наследуются от общего гнезда и разделяют свойства шпинделя и зажима ниже. На станках (не роботах) инструментальный коннектор дополнительно несёт свойства, сообщающие решателю кинематики, как позиционируется и выбирается его инструмент.

    Таблицы здесь — это справочник свойств; поведение за этими свойствами — как выводится базовая система координат, как коннектор делается активным, оговорка о размещении заготовки — объяснено в §4 Коннекторы инструмента.

    Свойства, специфичные для инструмента (TToolHolderNode)

    Свойство По умолч. Смысл
    XAxisID / YAxisID / ZAxisID "" Оси станка, позиционирующие вершину этого инструмента в пространстве; они также определяют базовую систему координат коннектора (§4).
    ToolAxisID "" Ось, которую нужно переместить, чтобы сделать этот коннектор активным (индексация магазина / револьверной головы). Может быть пустой, когда активный субстанок предоставляет ось инструмента.
    ToolAxisValue 0 Значение ToolAxisID, которое вводит эту позицию / инструмент.
    ToolNumber 0 Позиция в магазине (номер инструмента), которую выводит постпроцессор. 0 → не используется; вместо этого УП выводит номер из собственных свойств режущего инструмента.
    SupportedToolTypes — Применения, которые может выполнять инструмент в этом коннекторе — MillTool, LatheCutter, JetCutter, Punch, Wire, Cutter6D, Welder, AdditiveTool, Painter, HeatTreatment, Gripper. Используется для фильтрации списков операций/инструментов, предлагаемых для коннектора.
    Channel -1 Канал управления, к которому принадлежит этот коннектор (§6).
    ToolChangeTimeCalcLawIndex 0 Индекс закона времени смены инструмента (заданного в секции Tool Change станка), применяемого к этому коннектору (0 = закон по умолчанию).

    Шпиндель и зажим (общие для обоих коннекторов)

    Свойство По умолч. Смысл
    SpindleParamID "" ID параметра состояния станка, приводящего поворотную ось шпинделя, которая вращает инструмент или деталь. Это ID параметра состояния, а не ID узла оси.
    HolderType Unknown Unknown, LeftLatheSpindle или RightLatheSpindle; помечает гнездо токарного шпинделя.
    DefaultClampID вычисляется ID зажима по умолчанию для этого гнезда, на который ссылаются операции передачи/перехвата детали; по умолчанию выводится из HolderType (левый шпиндель → 1, правый → 2, иначе -1).

    Коннектор заготовки (TWorkpieceHolderNode)

    Коннектор заготовки — это место удержания детали — на патроне, шпинделе или приспособлении. Он несёт общие свойства шпинделя и зажима выше (важнее всего SpindleParamID для токарного шпинделя и HolderType / DefaultClampID для зажима), но ни одного из полей позиционирования инструмента (XAxisID/YAxisID/ZAxisID), активации (ToolAxisID/ToolAxisValue) или ToolNumber / SupportedToolTypes — те описывают, как позиционируется и выбирается инструмент, что неприменимо к держателю детали.

    Оговорка о размещении. Хотя TWorkpieceHolderNode наследует Matrix узла, эта матрица игнорируется для коннектора заготовки — в отличие от обычных узлов, осей и держателей инструмента. Коннектор заготовки всегда принимает размещение своего родительского узла. Поэтому, чтобы сместить положение детали, добавьте дополнительный родительский узел и поместите размещение (его Matrix) на этот узел. Это сделано намеренно: положение детали должно определяться установом заготовки в проекте (внутри CAM‑системы), а не фиксироваться при создании станка.


    Назад к разбору: Дескрипторы станков · Указатель станков

    In this article
    Back to top Generated by DocFX