Извлечь элементы полилинии несквозных вырезов, попавшие внутрь результирующего контура с учётом кромок

Материал из K3-Macro
Макро | Мебельные команды и функции | Мебельная панель | Прочитать свойства | Чтение параметров | Материал и толщина | Материал кромки | Форма углов | Форма прогибов сторон | Обрезка сторон | Параметры врезки | Параметры положения врезки | Секция раскрашивания врезки | Материал кромки на врезку | Форма панели | Информация о фрезеровке | Информация о пропиле | Поворот текстуры | Информация о фрезеровке по номеру (старая) | Информация о крепеже (первая линия) | Тип панели | Торцевая обработка | Информация о крепеже (несколько линий) | Извлечение контура | Отделка (старая) | Чтение параметров панельного длинномера | Параметры результирующей полилинии | Параметры результирующей полилинии без учета кромок | Элементы полилинии несквозных вырезов, попавшие внутрь результирующего контура без учёта кромок | Элементы полилинии несквозных вырезов, попавшие внутрь результирующего контура с учётом кромок | Линии маркировки, попавшие внутрь результирующего контура без учёта кромок | Линии маркировки, попавшие внутрь результирующего контура с учётом кромок | Информация о фрезеровке по ID (старая) | Прочитать информацию о линейках крепежа | Информация о фрезеровке по номеру | Информация о фрезеровке по ID | Комментарий к врезке | Отделка (до 18.02.2020) | Отделка | Завершение работы с панелью

Операция возвращает элементы полилинии несквозных вырезов, попавших внутрь результирующего контура панели с учетом кромок

Код операции <Command>: 34

Массив входных данных <Array>:

В зависимости от входных данных может возвращаться различная информация.

Запрос количества несквозных вырезов

  • <Array>[1] - входной параметр = 0
  • <Array>[2] - выходной параметр - количество несквозных вырезов/линий маркировки, элементы контуров которых попадают внутрь контура панели
  • <Array>[3] - выходной параметр - ID контура первого несквозного выреза/линии маркировки
  • <Array>[4] - выходной параметр - ID контура второго несквозного выреза/линии маркировки
  • ...
  • <Array>[2+Array[2]] - выходной параметр - ID контура последнего несквозного выреза/линии маркировки

Запрос количества непрерывных кусков из элементов в контуре несквозного выреза

  • <Array>[1] - входной параметр - ID контура
  • <Array>[2] - входной параметр = 0
  • <Array>[3] - выходной параметр - количество непрерывных кусков из элементов в контуре <Array>[1], которых попадают внутрь контура панели

Запрос количества элементов в одном непрерывном куске из элементов контура несквозного выреза

  • <Array>[1] - входной параметр - ID контура
  • <Array>[2] - входной параметр - номер непрерывного куска (начиная с единицы)
  • <Array>[3] - входной параметр = 0
  • <Array>[4] - выходной параметр - количество элементов в контуре, заданном <Array>[1], которые присутствуют в куске, заданном <Array>[2]

Запрос элементов в контура

  • <Array>[1] - входной параметр - ID контура
  • <Array>[2] - входной параметр - номер непрерывного куска контура (начиная с единицы)
  • <Array>[3] - входной параметр - номер элемента непрерывного куска контура
  • <Array>[4] - выходной параметр - тип элемента
  • 1 - отрезок
  • 2 - дуга
  • 3 - сплайн

Если тип элемента - отрезок, то:

  • <Array>[5...10] - выходной параметр - координаты (X, Y, Z) начала и конца элемента в ЛСК панели

Если тип элемента - дуга, то:

  • <Array>[5...13] - выходной параметр - координаты (X, Y, Z) начала, середины и конца элемента в ЛСК панели

Если тип элемента сплайн, то:

  • <Array>[5] - выходной параметр - количество точек аппроксимации сплайна

для i от 1 до <Array>[5]

  • <Array>[6+3*(i-1)] - выходной параметр - X координата i-й точки аппроксимации элемента в ЛСК панели
  • <Array>[6+3*(i-1)+1] - выходной параметр - Y координата i-й точки аппроксимации элемента в ЛСК панели
  • <Array>[6+3*(i-1)+2] - выходной параметр - Z координата i-й точки аппроксимации элемента в ЛСК панели

необходимая длина массива <Array>: должна быть 6+<Array>[5]*3. Если длина массива меньше, то будут заполнены только существующие элементы массива

Возвращаемое значение:

  • -1 - Ошибка (не инициализирована панель, не хватает размерности массива и пр.)
  • 0 - Не существует указанного контура или элемента контура. Выходные данные использовать нельзя.
  • 1 - Функция проработала без ошибок

Макро | Мебельные команды и функции | Мебельная панель | Прочитать свойства | Чтение параметров | Материал и толщина | Материал кромки | Форма углов | Форма прогибов сторон | Обрезка сторон | Параметры врезки | Параметры положения врезки | Секция раскрашивания врезки | Материал кромки на врезку | Форма панели | Информация о фрезеровке | Информация о пропиле | Поворот текстуры | Информация о фрезеровке по номеру (старая) | Информация о крепеже (первая линия) | Тип панели | Торцевая обработка | Информация о крепеже (несколько линий) | Извлечение контура | Отделка (старая) | Чтение параметров панельного длинномера | Параметры результирующей полилинии | Параметры результирующей полилинии без учета кромок | Элементы полилинии несквозных вырезов, попавшие внутрь результирующего контура без учёта кромок | Элементы полилинии несквозных вырезов, попавшие внутрь результирующего контура с учётом кромок | Линии маркировки, попавшие внутрь результирующего контура без учёта кромок | Линии маркировки, попавшие внутрь результирующего контура с учётом кромок | Информация о фрезеровке по ID (старая) | Прочитать информацию о линейках крепежа | Информация о фрезеровке по номеру | Информация о фрезеровке по ID | Комментарий к врезке | Отделка (до 18.02.2020) | Отделка | Завершение работы с панелью