Извлечь элементы полилинии несквозных вырезов, попавшие внутрь результирующего контура без учёта кромок
Материал из K3-Macro
Операция возвращает элементы полилинии несквозных вырезов, попавших внутрь результирующего контура панели без учета кромок
Код операции <Command>
: 33
Массив входных данных <Array>
:
В зависимости от входных данных может возвращаться различная информация.
Запрос количества несквозных вырезов
<Array>[1]
— входной параметр = 0
<Array>[2]
— выходной параметр — количество несквозных вырезов, элементы контуров которых попадают внутрь контура панели
<Array>[3]
— выходной параметр — номера контуров несквозных вырезов
- Запрос количества непрерывных кусков из элементов в контуре несквозного выреза
<Array>[1]
— входной параметр — номер контура
<Array>[2]
— входной параметр = 0
<Array>[3]
— выходной параметр — количество непрерывных кусков из элементов в контуре<Array>[1]
, которых попадают внутрь контура панели
- Запрос количества элементов в одном непрерывном куске из элементов контура несквозного выреза
<Array>[1]
— входной параметр — номер контура
<Array>[2]
— входной параметр — номер непрерывного куска (начиная с единицы)
<Array>[3]
— входной параметр = 0
<Array>[4]
— выходной параметр — количество элементов в контуре, заданном<Array>[1]
, которые присутствуют в куске, заданном<Array>[2]
Запрос элементов в контура
<Array>[1]
— входной параметр — номер контура
<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 — Функция проработала без ошибок