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

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

    3D‑модели станков

    Кинематическая схема станка — это дерево узлов (Дескрипторы станков); каждый узел может нести 3D‑модель, которая отрисовывается — и проверяется на столкновения — в положении этого узла в кинематической цепочке. Эта страница объясняет, как эти модели подключаются, готовятся и выравниваются. XML‑сторона мала (три вещи: ImageFile, VisMatrix, Use3DModelColors); остальное — про корректную подготовку геометрии.

    1 Прикрепление модели к узлу

    Модель узла именуется его свойством ImageFile (унаследованным от TMachineNode) и позиционируется для отображения матрицей VisMatrix внутри VisualProperties:

    <SCType ID="Column" Caption="Column" type="TMachineNode">
        <ImageFile DefaultValue="Images\column.osd"/>
        <VisualProperties>
            <VisMatrix>                          <!-- подстраивает только модель, не кинематику -->
                <SCType ID="T1" type="TRotateZ" DefaultValue="90"/>
            </VisMatrix>
            <Color><R DefaultValue="0.4"/><G DefaultValue="0.4"/><B DefaultValue="0.45"/></Color>
        </VisualProperties>
    </SCType>
    

    Узел отрисовывается в своей кинематической системе (произведение цепочки Matrix от корня до него, см. §1), а затем VisMatrix применяется поверх, только к модели. Так что если CAD‑модель экспортирована в неудобной ориентации, поправьте её через VisMatrix, не нарушая то, как узел движется.

    Один узел = своя геометрия. Каждый движущийся узел должен нести только ту геометрию, что движется вместе с ним. Поэтому правильно подготовленный станок — это сборка отдельных моделей (по одной на узел), а не единая монолитная модель. Именно это позволяет частям корректно двигаться друг относительно друга.

    2 Где лежат файлы моделей

    • Файлы моделей обычно лежат рядом с XML‑файлом станка или в подпапке Images\ для порядка, и на них ссылаются относительными путями (например, Images\column.osd). То же относится к растровым изображениям, показываемым в библиотеке станков.
    • Поэтому полный станок — это папка из нескольких файлов: XML‑дескриптор плюс его модели и изображения.
    • Держите папку самодостаточной и переносимой. Не ссылайтесь на файлы в папке соседнего станка — это сломается при перемещении или передаче станка. (Схемы станков хранятся, как папки, внутри проектов именно для того, чтобы проекты оставались переносимыми.)
    • Эти папки не обязаны находиться под стандартными псевдонимами дистрибутива вроде $(SCHEMAS_FOLDER): библиотеке станков можно указать сканировать любые пользовательские папки в поисках станков.

    3 Единицы и система координат

    • Единицы должны совпадать с дескриптором станка. Геометрию модели нужно сохранять в тех же единицах, что и Measurements станка — миллиметры для метрического станка, дюймы для дюймового — ровно как переносы Matrix (см. системы координат и единицы). Если активная система единиц отличается, система пытается масштабировать станок один раз при загрузке, но для сильно параметризованных схем это может сработать некорректно — поэтому готовьте модели в тех единицах, в которых будет использоваться станок.
    • Система координат. Геометрия показывается в глобальной СК, в которой была нарисована, в сочетании с матрицами иерархии узлов и затем VisMatrix. Иными словами, моделируйте деталь в мировой СК станка (Z вверх, X вправо, Y от наблюдателя — системы координат) и используйте VisMatrix только чтобы поправить модель, вышедшую несовмещённой.
    • Часто это вопрос нулевого положения, а не VisMatrix. Модель часто выглядит «не так» просто потому, что ось, на которой она сидит, была смоделирована в ненулевом положении. Тогда VisMatrix обычно не нужен — просто задайте у этой оси DesignTimeAxisValue (справочник узлов) равным положению, в котором была нарисована модель, и узел (модель и кинематика вместе) выровняется корректно во время проектирования. Прибегайте к VisMatrix, только когда сама модель повёрнута/смещена относительно системы своего узла.

    4 Форматы OSD и STL

    Принимаются два формата:

    • OSD (OpenGL Stream Data) — собственный формат системы и предпочтительный. Это триангулированная сетка, хранимая как поток OpenGL‑примитивов/команд, и в отличие от STL может нести также рёбра и нормали поверхностей (для более красивой отрисовки) и дополнительные точки привязки/ключевые точки (например, центры окружностей из исходного CAD, которые иначе теряются при триангуляции).
    • STL — распространённый обменный формат сеток; тоже поддерживается, но без дополнительной информации о рёбрах/нормалях/точках привязки.

    Как получить OSD

    1. Импортируйте CAD‑модель (система читает многие распространённые CAD‑форматы) в CAM‑систему.
    2. На странице Model выберите нужный узел (подпапку).
    3. Используйте Save as и выберите формат OSD.

    Тот же экспорт доступен через CAM API и CAM IPC (см. репозиторий cam-api-examples), так что подготовку моделей можно автоматизировать скриптами.

    5 Визуальная и коллизионная геометрия — держите её лёгкой

    Сейчас одна и та же модель используется и для отображения, и для проверки столкновений (в будущем может измениться). Значит, детализация модели — это компромисс между видом и скоростью — предпочитайте скорость: не стройте схемы из чрезмерно детализированного CAD. И CAM‑система, и MachineMaker предоставляют инструмент, который интерактивно помогает удалить невидимые, внутренние или очень мелкие поверхности, чтобы упростить модель. (Фиксированного норматива по числу треугольников нет; проще — лучше.)

    Это также связано с настройками Simulation — Revolution bodies simulation и Collisions to ignore — описанными в Machine Setup → Симуляция.

    6 Цвета — Use3DModelColors

    VisualProperties принимает необязательный логический атрибут Use3DModelColors:

    • False (по умолчанию) — узел отрисовывается с Color, заданным в его VisualProperties (побеждает XML‑дескриптор).
    • True — узел отрисовывается цветами, хранящимися в самой 3D‑модели.
    <VisualProperties Use3DModelColors="True">
        <!-- этот узел сохраняет цвета, запечённые в его .osd‑модели -->
    </VisualProperties>
    

    7 Готовые модели

    У MachineMaker есть онлайн‑библиотека устройств, роботов, станков и ячеек. Она поставляет готовые наборы (модели плюс дополнительную информацию дескриптора), а не отдельные файлы моделей, и вставляет их в описание ячейки за вас — их нельзя загрузить как отдельные файлы. Поэтому, когда вы готовите схему вручную, вы обычно готовите модели индивидуально для этого станка, получая самодостаточную переносимую папку, описанную в §2.


    Назад к Дескрипторам станков | указатель станков

    In this article
    Back to top Generated by DocFX