Типы и переменные
Описание: Двумерная дуга
Родительский класс: T2DElement
Свойства и методы:
Описание: Направление
True - Против часовой стрелки
False - По часовой стрелке.
Тип: boolean
Описание: Точка сентра дуги
Тип: T2DPoint
Описание: Точка начала дуги
Тип: T2DPoint
Описание: Точка конца дуги
Тип: T2DPoint
Описание: Построить дугу по трём точкам. Возвращает True, если построение удалось
P1
Тип: T2DPoint
P2
Тип: T2DPoint
P3
Тип: T2DPoint
Возвращаемый тип результата: boolean
Описание: Обратить направление дуги. Остальные параметры не изменятся.
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Перепендикуляр к касательной дуги в начальной точке.
(нормализованный вектор из центра дуги к начальной точке).
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T2DPoint
Описание: Перепендикуляр к касательной дуги в конечной точке.
(нормализованный вектор из центра дуги к конечной точке).
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T2DPoint
Описание: Двумерная окружность
Родительский класс: T2DElement
Свойства и методы:
Описание: Центр
Тип: T2DPoint
Описание: Радиус
Тип: number
Описание: Базовый класс двумерного элемента контура
Свойства и методы:
Описание: Тип
Тип: element2DType
Описание: Получить точку на элементе, ближайшую к заданной
P
Тип: T2DPoint
Возвращаемый тип результата: T2DPoint
Описание: Получить расстояние до заданной
P
Тип: T2DPoint
Возвращаемый тип результата: number
Описание: Получить минимальную и максимальную точку
Min
Тип: ReferenceObject<T2DPoint>
Max
Тип: ReferenceObject<T2DPoint>
Возвращаемый тип результата: boolean
Описание: Изменить направление элемента
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Проверка, является ли элемент дугой
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Проверка, является ли элемент окружностью
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Проверка, является ли элемент линией
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Проверка, является ли элемент списком элементов
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Сдвиг на заданное расстояние
Dir
Тип: T2DPoint
Метод не возвращает результат
Описание: Получить вектор, перпендикулярный вектору направления элемента в точке, соответствующей параметрическому значению длины элемента. Функция возвращает True, если вектор был вычислен и False, если произвести вычисление не удалось
Param - Параметрическое значение в диапазоне [0, 1]. 0 - начало, 1 - конец
Тип: number
N - Возвращаемый вектор
Тип: ReferenceObject<T2DPoint>
Возвращаемый тип результата: boolean
Описание: Общая длина.
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: number
Описание: Получить точку по параметрическому значению длины элемента. Функция возвращает True, если точка была вычислена и False, если произвести вычисление не удалось
Param - Параметрическое значение в диапазоне [0, 1]. 0 - начало, 1 - конец
Тип: number
P - Возвращаемая точка
Тип: ReferenceObject<T2DPoint>
Возвращаемый тип результата: boolean
Описание: Получить размер прямоугольника, описывающего элемент
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T2DPoint
Описание: Получить вектор направления элемента в точке, соответствующей параметрическому значению длины элемента. Функция возвращает True, если вектор был вычислен и False, если произвести вычисление не удалось
Param - Параметрическое значение в диапазоне [0, 1]. 0 - начало, 1 - конец
Тип: number
N - Возвращаемый вектор
Тип: ReferenceObject<T2DPoint>
Возвращаемый тип результата: boolean
Описание: Список двумерных элементов
Родительский класс: T2DElement
Свойства и методы:
Описание: Количество элементов
Тип: number
Описание: Элемент по индексу
Тип: IndexedProperty<number, T2DElement>
Описание: Добавить элемент
Obj
Тип: T2DElement
Возвращаемый тип результата: number
Описание: Добавить дугу.
p1 - Точка начала
Тип: T2DPoint
p2 - Точка конца
Тип: T2DPoint
Center - Центр
Тип: T2DPoint
Dir - Направление дуги
Тип: boolean
Возвращаемый тип результата: T2DArc
Описание: Добавить дугу по трём точкам.
p1 - Точка 1
Тип: T2DPoint
p2 - Точка 2
Тип: T2DPoint
p3 - Точка 3
Тип: T2DPoint
Возвращаемый тип результата: T2DArc
Описание: Добавить окружность.
xc - Координата X центра
Тип: number
yc - Координата Y центра
Тип: number
Rad - Радиус
Тип: number
Возвращаемый тип результата: T2DCircle
Описание: Добавить окружность.
pc - Точка центра
Тип: T2DPoint
Rad - Радиус
Тип: number
Возвращаемый тип результата: T2DCircle
Описание: Добавить копию элемента
Obj
Тип: T2DElement
Возвращаемый тип результата: number
Описание: Добавить линию.
x1 - Координата X начальной точки
Тип: number
y1 - Координата Y начальной точки
Тип: number
x2 - Координата X конечной точки
Тип: number
y2 - Координата Y конечной точки
Тип: number
Возвращаемый тип результата: T2DLine
Описание: Добавить линию.
p1 - Начальная точка
Тип: T2DPoint
p2 - Конечная точка
Тип: T2DPoint
Возвращаемый тип результата: T2DLine
Описание: Добавить элементы из списка
List - Список, из которого добавлять элементы
Тип: T2DElemList
Copy - Флаг - добавлять копии элементов вместо оригинала
Тип: boolean
Метод не возвращает результат
Описание: Добавить прямоугольник
Min - Точка с минимальными координатами
Тип: T2DPoint
Max - Точка с максимальными координатами
Тип: T2DPoint
Метод не возвращает результат
Описание: Добавить прямоугольник в точку (0, 0)
Width - Ширина
Тип: number
Height - Высота
Тип: number
Метод не возвращает результат
Описание: Добавить прямоугольник
x1 - Минимальная координата X
Тип: number
y1 - Минимальная координата Y
Тип: number
x2 - Максимальная координата X
Тип: number
y2 - Максимальная координата Y
Тип: number
Метод не возвращает результат
Описание: Добавить скруглённый прямоугольник
x1 - Минимальная координата X
Тип: number
y1 - Минимальная координата Y
Тип: number
x2 - Максимальная координата X
Тип: number
y2 - Максимальная координата Y
Тип: number
Rad - Радиус скругления
Тип: number
Метод не возвращает результат
Описание: Очистить список элементов
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Удалить элемент по индексу
Index
Тип: number
Метод не возвращает результат
Описание: Удалить элемент
Obj
Тип: T2DElement
Метод не возвращает результат
Описание: Поменять местами элементы списка
Index1 - Индекс первого элемента
Тип: number
Index2 - Индекс второго элемента
Тип: number
Метод не возвращает результат
Описание: Найти ближайший элемент к заданной точке. Возвращает True, если элемент был найден
Pos - Точка.
Тип: T2DPoint
Distance - Входящее значение - максимальное расстояние до элемента Возвращаемое значение - расстояние до элемента, если он был найден
Тип: ReferenceObject<number>
Obj - Возвращаемое значение - найденный элемент
Тип: ReferenceObject<T2DElement>
Возвращаемый тип результата: boolean
Описание: Получить индекс элемента
Obj
Тип: T2DElement
Возвращаемый тип результата: number
Описание: Примитивная проверка замкнутости контура.
Проверка на совпадение начальной точки первого и конечной точки второго элементов.
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Проверка на прямоугольность контура.
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Проверка на направленность контура против часовой стрелки
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Проверка нахождения точки внутри списка элементов. Для списка элементов, не являющегося замкнутым контуром результат неопределённый.
P - Точка
Тип: T2DPoint
Возвращаемый тип результата: boolean
Описание: Проверка нахождения точки внутри списка элементов. Для списка элементов, не являющегося замкнутым контуром результат неопределённый.
x - Координата X точки
Тип: number
y - Координата Y точки
Тип: number
Возвращаемый тип результата: boolean
Описание: Построить линию из конца последнего элемента списка к указанным координатам. Если список пустой первая точка линии {0, 0}
x
Тип: number
y
Тип: number
Возвращаемый тип результата: T2DLine
Описание: Упорядочить контуры в списке. Возвращает false, если включен флаг Closet и есть незамкнутый контур
Closet - Флаг - проверять на замкнутость контуров
Тип: boolean
Возвращаемый тип результата: boolean
Описание: Двумерная линия
Родительский класс: T2DElement
Свойства и методы:
Описание: Точка начала
Тип: T2DPoint
Описание: Точка конца
Тип: T2DPoint
Описание: Получить центр линии
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T2DPoint
Описание: Получить вектор от точки начала до точки конца
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T2DPoint
Описание: Получить нормализованный вектор направления линии
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T2DPoint
Описание: Тело вращения.
Контур тела должен быть расположен в положительных коордиантах по оси X.
Вращение контура происходит по оси Y относительно начала ЛСК.
Родительский класс: TSolidBody
Свойства и методы:
Описание: Контур.
Тип: T2DElemList
Описание: Тело выдавливания контура на плоскости по двумерной траектории.
Родительский класс: TSolidBody
Свойства и методы:
Описание: Контур.
Тип: T2DElemList
Описание: Траектория.
Тип: T2DElemList
Описание: Структурный объект. Содержит в себе список объектов
Родительский класс: TObject3D
Свойства и методы:
Описание: Количество вложенных объектов
Тип: number
Описание: Вложенный объект по индексу
Тип: IndexedProperty<number, TObject3D>
Описание: Удалить все вложенные объекты
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Удалить все выделенные вложенные объекты (рекурсивно).
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Получить индекс вложенного объекта. Если объект не является вложенным, возвращает -1
Obj - Вложенный объект
Тип: TObject3D
Возвращаемый тип результата: number
Описание: Изменить порядок списка в обратную сторону
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Восстановить видимость всех вложенных объектов (рекурсивно)
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Снять подсветку со всех вложенных объектов (рекурсивно)
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Снять выделение со всех вложенных объектов (рекурсивно)
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Треугольник сетки поверхности
Свойства и методы:
Описание: Нормаль плоскости, на которой лежит треугольник
Тип: TVector3d
Описание: Нормаль вершины 1
Тип: TVector3d
Описание: Нормаль вершины 2
Тип: TVector3d
Описание: Нормаль вершины 3
Тип: TVector3d
Описание: Координаты текстуры вершины 1
Тип: TVector2f
Описание: Координаты текстуры вершины 2
Тип: TVector2f
Описание: Координаты текстуры вершины 3
Тип: TVector2f
Описание: Вершина 1
Тип: TVector3d
Описание: Вершина 2
Тип: TVector3d
Описание: Вершина 3
Тип: TVector3d
Описание: Анимированный структурный объект.
Родительский класс: T3DObjectList
Свойства и методы:
Описание: Анимация структурного объекта. Если у структурного объекта не было
анимации, она будет создана при чтении свойства.
Тип: TFurnAnimation
Описание: Тип структурного объекта (строковое значение)
Тип: string
Описание: Тип для Салона. При назначении определённого типа назначится
анимация по умолчанию.
Тип: salonType
Описание: Проверить наличие анимации структурного объекта
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Информация о сверлении отверстий в тело.
Свойства и методы:
Описание: Тело.
Тип: TObject3D
Описание: Список просверленных отверстий.
Тип: TDrillHoleList
Описание: Информация о сверлении тел
Родительский класс: TObjectList<TBodyDrillInfo>
Свойства и методы:
Описание: Найти информацию о сверлении тела
Body
Тип: TObject3D
Возвращаемый тип результата: TBodyDrillInfo
Описание: Камера
Свойства и методы:
Описание: Угол поворота камеры по оси X (в градусах)
Тип: number
Описание: Угол поворота камеры по оси Y (в градусах)
Тип: number
Описание: Смещение модели по оси X (в пикселях)
Тип: number
Описание: Смещение модели по оси Y (в пикселях)
Тип: number
Описание: Направление "вправо" относительно взгляда камеры
Тип: TVector3d
Описание: Коэффициэнт масштаба
Тип: number
Описание: Направление "вверх" относительно взгляда камеры
Тип: TVector3d
Описание: Направление взгляда камеры
Тип: TVector3d
Описание: Положение камеры
Тип: TVector3d
Описание: Задать анимированный поворот до заданных углов
NewAngleX
Тип: number
NewAngleY
Тип: number
Метод не возвращает результат
Описание: Перевести точку из 3D-сцены в координаты экрана
Pos
Тип: TVector3d
Возвращаемый тип результата: T2DPoint
Описание: Объект - контур на плоскости.
Контур располагается на плоскости XY ЛСК объекта.
Родительский класс: TPlane3DObject
Свойства и методы:
Описание: Контур.
Тип: T2DElemList
Описание: Многофункциональный вырез
Родительский класс: TSolidBody
Свойства и методы:
Описание: Параметры многофункционального выреза.
Тип: TCustomGrooveParams2D
Описание: Создавать пазы внутри объекта-владельца
Тип: boolean
Описание: Получить контур сечения выреза. Метод возвращает контур, заданный в
параметрах выреза
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T2DElemList
Описание: Получить траекторию выреза. Метод возвращает траекторию, заданную в
параметрах выреза
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T2DElemList
Описание: Параметры многофункционального выреза
Свойства и методы:
Описание: Контур выреза
Тип: T2DElemList
Описание: Наименование паза
Тип: string
Описание: Обозначение паза
Тип: string
Описание: Наименование выемки
Тип: string
Описание: Обозначение выемки
Тип: string
Описание: Траектория выреза
Тип: T2DElemList
Описание: Параметры паза
Свойства и методы:
Описание: Угол (Fi)
Тип: number
Описание: Тип параметров паза
Тип: cutParamType
Описание: Глубина (G)
Тип: number
Описание: Путь к файлу фрагмента сечения
Тип: string
Описание: Наименование
Тип: string
Описание: Смещение (dx)
Тип: number
Описание: Смещение (B)
Тип: number
Описание: Радиус (R)
Тип: number
Описание: Обозначение
Тип: string
Описание: Параметрическое обозначение
Тип: string
Описание: Ширина (H)
Тип: number
Описание: Класс, содержащий пространство модели и настройки для его построения и отображения
Свойства и методы:
Описание: "Активный корень" пространства. Модель либо активынй слой
Тип: T3DObjectList
Описание: Максимальное время перехода при анимации (в миллисекундах)
Тип: number
Описание: Цвет вспомогательных линий
Тип: number
Описание: Камера
Тип: TCamera3D
Описание: Рисовать габаритные рамки
Тип: boolean
Описание: Цвет подсвеченных объектов
Тип: number
Описание: Цвет линий
Тип: number
Описание: Модель
Тип: TModel3D
Описание: Степень детализации объектов при построении.
Диапазон значений: (0.001, 1).
0.001 - Долгое построение, больше деталей.
1 - Быстрое построение, меньше деталей.
Тип: number
Описание: Флаг перспективы. По умолчанию true
Тип: boolean
Описание: Цвет выделенных объектов
Тип: number
Описание: Найти объект по его UID
ID
Тип: number
Возвращаемый тип результата: TObject3D
Описание: Получить объект по его UID
ID
Тип: number
Возвращаемый тип результата: TObject3D
Описание: Получить количество миллиметров в одном пикселе
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: number
Описание: Перерисовать окно
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Обновить координаты текстур (если были изменены)
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Показать всё
Offset
Тип: number
Selection
Тип: boolean
Метод не возвращает результат
Описание: Полуфабрикат.
Родительский класс: TAnimBlock3D
Свойства и методы:
Описание: Считать полуфабрикат покупным изделием в операциях.
Тип: boolean
Описание: Параметры просверленного отверстия.
Родительский класс: THole
Свойства и методы:
Описание: Тело, в которое сверлится отверстие.
Тип: TObject3D
Описание: Фурнитура, которой принадлежит отверстие.
Тип: TFastener
Описание: Параметры оригинального отверстия
Тип: THole
Описание: Список просверленных отверстий.
Родительский класс: TObjectList<TDrilledHole>
Свойства и методы:
Описание: Тело выдавливания.
Родительский класс: TSolidBody
Свойства и методы:
Описание: Контур.
Тип: T2DElemList
Описание: Глубина выдавливания.
Тип: number
Описание: Объект - фурнитура.
Родительский класс: TTriMesh
Свойства и методы:
Описание: Тип установки.
Тип: datumMode
Описание: Список отверстий.
Тип: THoleList
Описание: Сгененрировать новый ID фурнитуры
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Пересчитать габаритные размеры фурнитуры
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Информация о сверлении фурнитуры.
Свойства и методы:
Описание: Фурнитура.
Тип: TFastener
Описание: Список просверленных отверстий.
Тип: TDrillHoleList
Описание: Анимация
Свойства и методы:
Описание: Конечная точка оси анимации.
При повороте нормализованный вектор оси анимации задаёт ось поворота
При сдвиге вектор оси анимации задаёт смещение объекта
Тип: TVector3d
Описание: Начальная точка оси анимации
Тип: TVector3d
Описание: Угол поворота
Тип: number
Описание: Сдвиг при анимации поворота
Тип: number
Описание: Длительность анимации (в секундах)
Тип: number
Описание: Покупное изделие
Родительский класс: TAnimBlock3D
Свойства и методы:
Описание: Блок.
Родительский класс: TAnimBlock3D
Свойства и методы:
Описание: Тип установки.
Тип: datumMode
Описание: Облицовка кромки.
Свойства и методы:
Описание: Припуск.
Тип: number
Описание: Подрезать панель на толщину кромки.
Тип: boolean
Описание: Номер отреза. -1 = одиночный отрез.
Тип: number
Описание: Индекс элемента контура, на который наносится кромка.
Тип: number
Описание: Наименование материала.
Тип: string
Описание: Свес.
Тип: number
Описание: Обозначение.
Тип: string
Описание: Толщина.
Тип: number
Описание: Ширина.
Тип: number
Описание: Список кромок.
Свойства и методы:
Описание: Кромка по индексу.
Тип: IndexedProperty<number, TFurnButt>
Описание: Количество.
Тип: number
Описание: Добавить новую кромку
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TFurnButt
Описание: Очистить список
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Удалить кромку по индексу
Index
Тип: number
Метод не возвращает результат
Описание: Найти первую кромку, имеющую указанный индекс элемента контура
ElemIndex
Тип: number
Возвращаемый тип результата: TFurnButt
Описание: Получить индекс кромки
Butt
Тип: TFurnButt
Возвращаемый тип результата: number
Описание: Получить новый номер отреза
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: number
Описание: Удалить кромку из списка
Butt
Тип: TFurnButt
Метод не возвращает результат
Описание: Паз панели.
Свойства и методы:
Описание: Контур сечения.
Тип: T2DElemList
Описание: Тип паза
Тип: cutType
Описание: Флаг - паз размещён на лицевой стороне панели
Тип: boolean
Описание: Наименование.
Тип: string
Описание: Панель
Тип: TFurnPanel
Описание: Параметры паза.
Тип: TCutParams
Описание: Обозначение.
Тип: string
Описание: Глубина выемки. Отрицательное значение - выемка с обратной стороны панели
Тип: number
Описание: Траектория паза.
Тип: T2DElemList
Описание: Создать параметры паза
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Удалить параметры паза
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Список пазов.
Свойства и методы:
Описание: Количество.
Тип: number
Описание: Паз по индексу.
Тип: IndexedProperty<number, TFurnCut>
Описание: Добавить новый паз
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TFurnCut
Описание: Очистить список
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Удалить паз по индексу
Index
Тип: number
Метод не возвращает результат
Описание: Панель.
Родительский класс: TSolidBody
Свойства и методы:
Описание: Флаг - гнутая панель.
Тип: boolean
Описание: Траектория гнутой панели.
Тип: T2DElemList
Описание: Направление выдавливания панели.
Тип: faceType
Описание: Список облицовок кромки.
Тип: TFurnButtList
Описание: Контур.
Тип: T2DElemList
Описание: Список пазов.
Тип: TFurnCutList
Описание: Лицевая сторона.
Тип: faceType
Описание: Максимальная координата по локальной оси Z.
Значение обновляется после перестроения панели.
Тип: number
Описание: Толщина между слоями гнутой панели
Тип: number
Описание: Минимальная координата по локальной оси Z.
Значение обновляется после перестроения панели.
Тип: number
Описание: Средняя координата по локальной оси Z.
Значение обновляется после перестроения панели.
Тип: number
Описание: Список облицовок пласти.
Тип: TFurnPlasticList
Описание: Ориентация текстуры.
Тип: textureOrientation
Описание: Толщина.
Тип: number
Описание: Общее значение толщины по оси Z.
Значение обновляется после перестроения панели.
Тип: number
Описание: Облицовка пласти.
Свойства и методы:
Описание: Наименование материала.
Тип: string
Описание: Ширина материала.
Значение больше 0 соответствует погонному материалу.
Значене 0 соответствует площадному материалу.
Тип: number
Описание: Сторона нанесения.
Тип: faceType
Описание: Ориентация текстуры.
Тип: textureOrientation
Описание: Толщина.
Тип: number
Описание: Список облицовок пласти.
Свойства и методы:
Описание: Количество.
Тип: number
Описание: Облицовка по индексу.
Тип: IndexedProperty<number, TFurnPlastic>
Описание: Добавить новую облицовку пласти
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TFurnPlastic
Описание: Очистить список
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Удалить облицовку пласти по индексу
Index
Тип: number
Метод не возвращает результат
Описание: Найти последний пластик, нанесённый на указанную сторону
Side
Тип: faceType
Возвращаемый тип результата: TFurnPlastic
Описание: Удалить облицовку пласти
Plastic
Тип: TFurnPlastic
Метод не возвращает результат
Описание: Параметры отверстия
Свойства и методы:
Описание: Контур.
Тип: T2DElemList
Описание: Глубина.
Тип: number
Описание: Диаметр.
Тип: number
Описание: Направление.
Тип: TVector3d
Описание: Тип сверления
Тип: holeDrillMode
Описание: Положение.
Тип: TVector3d
Описание: Радиус.
Тип: number
Описание: Объект, реализующий алгоритмы сверления отверстий в тела.
Свойства и методы:
Описание: Информация о сверлении тел
Тип: TBodyDrillInfoList
Описание: Информация о сверлении фурнитуры
Тип: TObjectList<TFastenerDrillInfo>
Описание: Добавить тела (рекурсивно).
Root - Структурный объект. Все тела внутри объекта будут добавлены.
Тип: T3DObjectList
Метод не возвращает результат
Описание: Добавить объекты фурнитуры и тела из структурного объекта (рекурсивно).
Root - Структурный объект
Тип: T3DObjectList
Метод не возвращает результат
Описание: Добавить тело.
Body
Тип: TObject3D
Метод не возвращает результат
Описание: Добавить объект фурнитуры.
Fastener
Тип: TFastener
Метод не возвращает результат
Описание: Добавить объекты фурнитуры (рекурсивно).
Root - Структурный объект. Все внутренние объекты фурнитуры будут добавлены.
Тип: T3DObjectList
Метод не возвращает результат
Описание: Выполнить расчёт сверления отверстий.
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Список отверстий.
Родительский класс: TObjectList<THole>
Свойства и методы:
Описание: Создать новое отверстие
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: THole
Описание: Импортированный (нередактируемый) полигональный объект
Родительский класс: TTriMesh
Свойства и методы:
Описание: Объект-слой
Родительский класс: T3DObjectList
Свойства и методы:
Описание: Флаг - является ли слой активным
Тип: boolean
Описание: Флаг - можно ли выделить объекты внутри слоя
Тип: boolean
Описание: Список значений определённого типа
Свойства и методы:
Описание: Количество элементов
Тип: number
Описание: Элемент по индексу
Тип: IndexedProperty<number, T>
Описание: Материал объекта
Свойства и методы:
Описание: Цвет материала
Тип: number
Описание: Имя материала
Тип: string
Описание: Путь к текстуре
Тип: string
Описание: Получить абсолютный путь к текстуре
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: string
Описание: Модель
Родительский класс: T3DObjectList
Свойства и методы:
Описание: Количество подсвеченных объектов
Тип: number
Описание: Подсвеченный объект модели (если количество подсвеченных объектов = 1)
Тип: TObject3D
Описание: Подсвеченный объект по индексу
Тип: IndexedProperty<number, TObject3D>
Описание: Выделенный объект модели (если количество выделенных объектов = 1)
Тип: TObject3D
Описание: Выделенный объект модели (если количество выделенных объектов = 1)
Тип: TObject3D
Описание: Количество выделенных объектов модели
Тип: number
Описание: Выделенный объект по индексу
Тип: IndexedProperty<number, TObject3D>
Описание: Сбросить подсветку всех объектов
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Сбросить выделение и подсветку всех объектов.
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Сбросить выделение всех объектов. Можно задать объект, выделение которого не будет сбрасываться.
ExceptObj - Объект, выделение которого не нужно сбрасывать
Тип: TObject3D
Метод не возвращает результат
Описание: Габаритная рамка.
Родительский класс: TTriMesh
Свойства и методы:
Описание: Глубина.
Тип: number
Описание: Размер сетки.
Тип: number
Описание: Высота.
Тип: number
Описание: Габаритные размеры
Тип: TVector3d
Описание: Ширина.
Тип: number
Описание: Базовый класс для трёхмерных объектов
Свойства и методы:
Описание: Позиция объекта
Тип: string
Описание: Цвет линий объекта. clNone - использовать цвет линий объекта-владельца
Тип: number
Описание: Обозначение объекта
Тип: string
Описание: Объект, владеющий информацией о пространстве
Тип: TDesigner3D
Описание: Максимальная точка габаритного параллелепипеда, описывающего объект
относительно ГСК объекта
Тип: TVector3d
Описание: Минимальная точка габаритного параллелепипеда, описывающего объект
относительно ГСК объекта
Тип: TVector3d
Описание: Центр габаритного параллелепипеда, описывающего объект
относительно ЛСК объекта
Тип: TVector3d
Описание: Максимальная точка габаритного параллелепипеда, описывающего объект
относительно ЛСК объекта
Тип: TVector3d
Описание: Минимальная точка габаритного параллелепипеда, описывающего объект
относительно ЛСК объекта
Тип: TVector3d
Описание: Размер габаритного параллелепипеда, описывающего объект
относительно ЛСК объекта
Тип: TVector3d
Описание: Флаг - непосредственная подсветка объекта
Тип: boolean
Описание: Флаг - является ли объект сборочной единицей
Тип: boolean
Описание: Является ли объект структурным
Тип: boolean
Описание: Матрица трансформации из ЛСК объекта в ЛСК объекта-владельца
Тип: TMatrix4
Описание: Флаг - создавать сборочный чертёж
Тип: boolean
Описание: Флаг - создавать схему сборки
Тип: boolean
Описание: Модель, частью которой является объект
Тип: TModel3D
Описание: Имя объекта
Тип: string
Описание: Заметки
Тип: string
Описание: Структурный объект (владелец), внутри которого находится данный объект
Тип: T3DObjectList
Описание: Индекс объекта внутри структурного объекта
Тип: number
Описание: Флаг - является ли объект выбранным
Результат при чтении - наличие флага Selected или Highlighted
При записи:
True - Задаёт флаг Selected
False - сбрасывает флаги Selected и Highlighted
Тип: boolean
Описание: Положение объекта. Значение относительно ЛСК объекта-владельца
Тип: TVector3d
Описание: Положение объекта по оси X. Значение относительно ЛСК объекта-владельца
Тип: number
Описание: Положение объекта по оси Y. Значение относительно ЛСК объекта-владельца
Тип: number
Описание: Положение объекта по оси Z. Значение относительно ЛСК объекта-владельца
Тип: number
Описание: Флаг - непосредственное выделение объекта
Тип: boolean
Описание: Ориентация объекта.
Содержит вектор положения и кватернион поворота
Тип: TTransformation
Описание: Уникальный идентификатор (UID) объекта
Тип: number
Описание: Флаг - использовать в ЧПУ
Тип: boolean
Описание: Флаг - использовать в Раскрое
Тип: boolean
Описание: Флаг - использовать в документации
Тип: boolean
Описание: Флаг - использовать в Смете
Тип: boolean
Описание: Флаг - учитывать в анализе модели
Тип: boolean
Описание: Количество пользовательских свойств
Тип: number
Описание: Пользовательское свойство по имени (текст) либо индексу (число).
Для удаления свойства, назначить ему Unassigned или undefined
Тип: IndexedProperty<number, number | string>
Описание: Имя пользовательского свойства с указанным индексом
Тип: IndexedProperty<number, string>
Описание: Варианты значения пользовательского свойства.
Тип: IndexedProperty<number, string>
Описание: Флаг - непосредственная видимость объекта
Тип: boolean
Описание: Получить объект, приведённый к типу структурного объекта
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T3DObjectList
Описание: Получить объект, приведённый к типу полигонального объекта
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TTriMesh
Описание: Принять ориентацию объекта
Src - Объект, ориентация которого будет принята
Тип: TObject3D
Метод не возвращает результат
Описание: Перестроить объект.
Для параметрических объектов удалется вся геометрия и строится новая
исходя из параметров объекта.
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Создать копию объекта в том же пространстве, что и объект
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TObject3D
Описание: Создать копию объекта в заданном пространстве
Dest - Новое пространство для копии
Тип: TDesigner3D
Возвращаемый тип результата: TObject3D
Описание: Создать копию объекта во временной области модели текущего пространства
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TObject3D
Описание: Найти ближайшего общего владельца с другим объектом
Obj
Тип: TObject3D
Возвращаемый тип результата: T3DObjectList
Описание: Получить матрицу трансформации из ЛСК объекта в ГСК
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TMatrix4
Описание: Перевести точку из ГСК в ЛСК объекта
V
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Проверить, есть ли пользовательское свойство с указанным именем
Name - Имя пользовательского свойства
Тип: string
Возвращаемый тип результата: boolean
Описание: Получить булево значение, является ли объект подсвеченным.
Возвращает True, если объект или один из его владельцев, вплоть до модели или
её временной области, являются подсвеченными.
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Получить булево значение, является ли объект полигональным
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Проверка, находится ли объект внутри указанного объекта (является ли указанный объект владельцем объекта).
Obj - Возможный объект-владелец
Тип: TObject3D
Возвращаемый тип результата: boolean
Описание: Получить булево значение, является ли объект выделенным.
Возвращает True, если объект или один из его владельцев, вплоть до модели или
её временной области, являются выделенными.
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Получить булево значение, является ли объект видимым.
Возвращает True, если объект и все его владельцы, вплоть до модели или
её временной области, являются видимыми.
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Описание: Перевести вектор из ГСК в ЛСК объекта-владельца
N
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести вектор из ГСК в ЛСК объекта
N
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести вектор из ЛСК объекта в ГСК
N
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести вектор из ЛСК объекта в ЛСК объекта-владельца
N
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести вектор из ЛСК другого объекта в ЛСК объекта
SrcObj - Другой объект
Тип: TObject3D
N - Вектор
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести вектор из ЛСК объекта в ГСК Эквивалентно методу NObjectToGlobal
N
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести вектор из ГСК в ЛСК объекта Эквивалентно методу NGlobalToObject
N
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести точку из ЛСК объекта в ГСК
V
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести точку из ЛСК объекта в ЛСК объекта-владельца
V
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести точку из ЛСК другого объекта в ЛСК объекта
SrcObj - Другой объект
Тип: TObject3D
V - Точка
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Задать поворот объекта.
ZDir - Новая ось Z в ЛСК объекта-родителя
Тип: TVector3d
YDir - Новая ось Y в ЛСК объекта-родителя
Тип: TVector3d
Метод не возвращает результат
Описание: Задать поворот объекта.
ZDir - Новая ось Z в ГСК
Тип: TVector3d
YDir - Новая ось Y в ГСК
Тип: TVector3d
Метод не возвращает результат
Описание: Проверка пересечения лучом. Положение и направление луча должны быть в ЛСК объекта.
Ray - Параметры луча
Тип: TRayInfo
Метод не возвращает результат
Описание: Изменить ориентацию (положение и поворот) объекта относительно нового владельца. Функция полезна при смене владельца объекта для сохранения фактического положения объекта относительно ГСК
OldOwner - Старый объект-владелец
Тип: T3DObjectList
NewOwner - Новый объект-владелец
Тип: T3DObjectList
Метод не возвращает результат
Описание: Повернуть объект вокруг оси
Axis - Ось поворота в ЛСК объекта-владельца
Тип: TVector3d
Angle - Угол поворота (в радианах)
Тип: number
Метод не возвращает результат
Описание: Повернуть объект вокруг произвольной точки
Center - Точка поворота в ГСК
Тип: TVector3d
Axis - Ось поворота в ЛСК объекта-владельца
Тип: TVector3d
Angle - Угол поворота (в радианах)
Тип: number
Метод не возвращает результат
Описание: Повернуть объект вокруг оси
Axis - Ось поворота в ГСК
Тип: TVector3d
Angle - Угол поворота (в радианах)
Тип: number
Метод не возвращает результат
Описание: Повернуть объект вокруг оси
Axis - Ось поворота в ЛСК объекта
Тип: TVector3d
Angle - Угол поворота (в радианах)
Тип: number
Метод не возвращает результат
Описание: Повернуть объект вокруг оси X в ЛСК объекта-владельца
Angle - Угол поворота (в радианах)
Тип: number
Метод не возвращает результат
Описание: Повернуть объект вокруг оси Y в ЛСК объекта-владельца
Angle - Угол поворота (в радианах)
Тип: number
Метод не возвращает результат
Описание: Повернуть объект вокруг оси Z в ЛСК объекта-владельца
Angle - Угол поворота (в радианах)
Тип: number
Метод не возвращает результат
Описание: Установить ориентацию по умолчанию (нулевое смещение и нулевой поворот)
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Перевести точку из ЛСК объекта в ГСК Эквивалентно методу ObjectToGlobal
V
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Перевести точку из ГСК в ЛСК объекта Эквивалентно методу GlobalToObject
V
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Описание: Переместить объект на заданный вектор в ЛСК объекта-владельца.
x
Тип: number
y
Тип: number
z
Тип: number
Метод не возвращает результат
Описание: Переместить объект на заданный вектор в ЛСК объекта-владельца.
V
Тип: TVector3d
Метод не возвращает результат
Описание: Переместить объект на заданный вектор в ГСК.
V
Тип: TVector3d
Метод не возвращает результат
Описание: Переместить объект на заданный вектор в ЛСК объекта.
x
Тип: number
y
Тип: number
z
Тип: number
Метод не возвращает результат
Описание: Переместить объект на заданный вектор в ЛСК объекта.
V
Тип: TVector3d
Метод не возвращает результат
Описание: Список объектов
Родительский класс: TList<T>
Свойства и методы:
Описание: Трёхмерный объект с двумерной геометрией
Родительский класс: TObject3D
Свойства и методы:
Описание: Объект для проверки пересечения объектов лучом
Свойства и методы:
Описание: Направление луча
Тип: TVector3d
Описание: Максимальное расстояние для обнаружения пересечения.
После проверки пересечения возвращает расстояние до пересечения. либо
заданное максимальное расстояние (если пересечение не было обнаружено).
Тип: number
Описание: Объект, исключённый из проверки пересечения
Тип: TObject3D
Описание: Флаг - искать первое пересечение (по структуре объектов)
Если флаг выставлен, при нахождении первого пересечения проверка
будет осатновлена.
Иначе будет проверена вся доступная структура объектов для поиска
минимального расстояния до пересечения
Тип: boolean
Описание: Точка пересечения.
Тип: TVector3d
Описание: Флаг - проверять поверхности, если луч проходит через их "заднюю" сторону
Тип: boolean
Описание: Флаг - пересечение обнаружено
Тип: boolean
Описание: Флаг - проверять пересечения со скрытыми объектами
Тип: boolean
Описание: Объект, с которым было обнаружено пересечение
Тип: TObject3D
Описание: Положение луча
Тип: TVector3d
Описание: Восстановить предыдущую запомненную ориентацию луча.
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Запомнить текущую ориентацию луча и добавить ориентацию объекта к лучу Основное использование - перевод луча из СК владельца данного объекта в СК самого объекта
TransformObj - Объект, ориентация которого будет добавлена.
Тип: TObject3D
Метод не возвращает результат
Описание: Обнулить данные о пересечении
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Преобразовать ориентацию луча
Matrix - Дополнительное преобразование (смещение и поворот) луча
Тип: TMatrix4
Метод не возвращает результат
Описание: Объект - размер.
Элементы размера лежат на плоскости XY ЛСК объекта, где ось X идёт вдоль
длины размера, а ось Y вдоль высоты размера.
Родительский класс: TPlane3DObject
Свойства и методы:
Описание: Высота размерной линии.
Тип: number
Описание: Длина размерной линии. Назначение длины назначает и значение размера.
Тип: number
Описание: Размер текста.
Тип: number
Описание: Значение размера.
Тип: number
Описание: Твёрдое тело.
Родительский класс: TTriMesh
Свойства и методы:
Описание: Ширина материала.
Значение больше 0 соответствует погонному материалу.
Значене 0 соответствует площадному материалу.
Тип: number
Описание: Список треугольников поверхности
Свойства и методы:
Описание: Количество треугольников
Тип: number
Описание: Материал поверхности
Тип: TMaterial
Описание: Полигональный объект-владелец
Тип: TTriMesh
Описание: Треугольник по индексу
Тип: IndexedProperty<number, T3DTriangle>
Описание: Полигональный объект
Родительский класс: TObject3D
Свойства и методы:
Описание: Материал объекта.
Тип: TMaterial
Описание: Наименование материала (с артикулом)
Тип: string
Описание: Поверхность по индексу
Тип: IndexedProperty<number, TTriangleList>
Описание: Количество поверхностей
Тип: number
Описание: Удалить все поверхности объекта
Метод не принимает дополнительных параметров.
Метод не возвращает результат
Описание: Получить общее количество треугольников объекта
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: number
Описание: Объект-обёртка, содержащий значение. Используется для передачи значений по ссылке при использовании методов
Свойства и методы:
Описание: Значение
Тип: T
Добавлено в версии 1
Описание: Параметры материала кромки
Свойства и методы:
Описание: Припуск
Тип: number
Описание: Наименование торцевого паза для канта
Тип: string
Описание: Флаг - подрезать панель на толщину кромки
Тип: boolean
Описание: Путь к файлу фрагмента сечения канта
Тип: string
Описание: Флаг - Лента
Тип: boolean
Описание: Наименование
Тип: string
Описание: Свес
Тип: number
Описание: Обозначение
Тип: string
Описание: Толщина
Тип: number
Описание: Ширина
Тип: number
Добавлено в версии 3
Описание: Параметры эласчичности
Свойства и методы:
Описание: Плоскости эластичности
Тип: ElasticPlane[]
Описание: Максимальный размер эластичного объекта
Тип: TVector3d
Описание: Минимальный размер эластичного объекта
Тип: TVector3d
Описание: Шаг изменения размера эластичного объекта
Тип: TVector3d
Добавлено в версии 3
Описание: Описание эластичной плоскости
Свойства и методы:
Описание: Ось эластичной плоскости
Тип: ElasticAxis
Описание: Положение эластичной плоскости (значение на оси)
Тип: number
Описание: Вес эластичной плоскости
Тип: number
Добавлено в версии 6
Описание: Объект скрипта модуля "БАЗИС-Смета"
Свойства и методы:
Добавлено в версии 6
Описание: Получить объект облицовки кромки
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TFurnButt
Добавлено в версии 6
Описание: Получить объект профиля
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TExtrusionBody
Добавлено в версии 6
Описание: Получить объект панели
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TFurnPanel
Добавлено в версии 6
Описание: Получить объект облицовки пласти
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: TFurnPlastic
Добавлено в версии 6
Описание: Получить объект тела по траектории
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: T2DTrajectoryBody
Добавлено в версии 6
Описание: Проверить, хранит ли объект облицовку кромки
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Добавлено в версии 6
Описание: Проверить, хранит ли объект профиль
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Добавлено в версии 6
Описание: Проверить, хранит ли объект панель
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Добавлено в версии 6
Описание: Проверить, хранит ли объект облицовку пласти
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Добавлено в версии 6
Описание: Проверить, хранит ли объект тело по траектории
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Параметры материала
Свойства и методы:
Описание: Наименование
Тип: string
Описание: Толщина
Тип: number
Описание: Ширина
Тип: number
Добавлено в версии 5
Описание: Параметры применения многофункционального выреза
Свойства и методы:
Описание: Удалять вырез после применения. Значение по умолчанию - true
Тип: boolean
Описание: Удалять панель, если она внутри выреза (применения выреза делает панель пустой). Значение по умолчанию - true
Тип: boolean
Описание: Делать вычитание контура вместо сквозной выемки. Значение по умолчанию - false
Тип: boolean
Описание: Применять только к видимым панелям. Значение по умолчанию - true
Тип: boolean
Описание: Дополнительный материал объекта
Свойства и методы:
Описание: Артикул
Тип: string
Описание: Количество
Тип: number
Описание: Единицы измерения
Тип: string
Описание: Наименование
Тип: string
Описание: Точка на плоскости
Свойства и методы:
Описание: Координата X
Тип: number
Описание: Координата Y
Тип: number
Описание: Кватернион поворота в трёхмерном пространстве
Свойства и методы:
Описание: Вектор кватерниона
Тип: TVector3d
Описание: Скаляр кватерниона
Тип: number
Описание: Запись трансформации - вектора положения и кватерниона поворота
Свойства и методы:
Описание: Вектор положения
Тип: TVector3d
Описание: Кватернион поворота
Тип: TQuaternion
Описание: Точка (радиус-вектор) в двумерном пространстве
Свойства и методы:
Описание: Координата по оси X
Тип: number
Описание: Координата по оси Y
Тип: number
Описание: Точка (радиус-вектор) в трёхмерном пространстве
Свойства и методы:
Описание: Координата по оси X
Тип: number
Описание: Координата по оси Y
Тип: number
Описание: Координата по оси Z
Тип: number
Добавлено в версии 1
Описание: Направление по оси -X
Тип: TVector3d
Добавлено в версии 1
Описание: Направление по оси -Y
Тип: TVector3d
Добавлено в версии 1
Описание: Направление по оси -Z
Тип: TVector3d
Добавлено в версии 1
Описание: Направление по оси X
Тип: TVector3d
Добавлено в версии 1
Описание: Направление по оси Y
Тип: TVector3d
Добавлено в версии 1
Описание: Направление по оси Z
Тип: TVector3d
Добавлено в версии 6
Описание: Список отверстий
Тип: TDrillHoleList | undefined
Добавлено в версии 6
Описание: Панель
Тип: TFurnPanel | undefined
Добавлено в версии 6
Описание: Результат вычисления параметра
Тип: number
Объявлено устаревшим с версии 3. Используйте модуль apiVersion
Описание: Версия API
Тип: number
Добавлено в версии 2
Описание: Модуль версии API скриптов
Свойства и методы:
Описание: Вывести сообщение ошибке и выбросить ошибку, если настоящая версия API меньше указанной
requiredVersion
Тип: number
Метод не возвращает результат
Описание: Получить настоящее значение версии API.
Функция возвращает значение текущей версии API.
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: number
Описание: Получить текущее значение версии API.
Функция возвращает значение текущей версии API, либо
заданное пользователем значение версии API
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: number
Описание: Установить новое значение версии API. Функция используется для добавления функционала, отсутствующего в текущей версии API
newVersion - Новое значение версии в диапазоне 0-<текущее значение версии>
Тип: number
Метод не возвращает результат
Добавлено в версии 3
Описание: Модуль с функциями пакетной обработки элементов модели
Свойства и методы:
Добавлено в версии 3
Описание: Вызвать функцию для каждой облицовки кромки панели.
panel - Панель.
Тип: TFurnPanel
func - Функция обработки
Тип: (butt: TFurnButt)=>void
Метод не возвращает результат
Добавлено в версии 3
Описание: Вызвать функцию для каждого паза панели.
panel - Панель.
Тип: TFurnPanel
func - Функция обработки
Тип: (cut: TFurnCut)=>void
Метод не возвращает результат
Добавлено в версии 3
Описание: Вызвать функцию для каждого элемента из списка двумерных элементов (двумерного контура)
list - Список двумерных элементов
Тип: T2DElemList
func - Функция обработки
Тип: (elem: T2DElement)=>void
Метод не возвращает результат
Добавлено в версии 3
Описание: Вызвать функцию для каждого отверстия фурнитуры
furn - Фурнитура
Тип: TFastener
func - Функция обработки
Тип: (hole: THole)=>void
Метод не возвращает результат
Добавлено в версии 3
Описание: Вызвать функцию для объектов внутри структурного объекта.
При рекурсивной обработке структурного объекта сначал обрабатываются
вложенные объекты, потом сам структурный объект.
list - Структурный объект, содержимое которого обрабатывается
Тип: T3DObjectList
func - Функция обработки
Тип: (obj: TObject3D)=>void
[recursive] - Рекурсивная обработка. По умолчанию = true
Тип: boolean
[objTypes] - Список типов объектов, обрабатываемых функцией. Если не задан - функция вызывается для всех найденных объектов
Тип: Set<ObjectTypeValue>
Метод не возвращает результат
Добавлено в версии 3
Описание: Вызвать функцию для каждой облицовки пласти панели.
panel - Панель.
Тип: TFurnPanel
func - Функция обработки
Тип: (plastic: TFurnPlastic)=>void
Метод не возвращает результат
Добавлено в версии 1
Описание: Модуль для работы с эластичностью объектов
Свойства и методы:
Добавлено в версии 1
Описание: Получить размер объекта. Возвращает значение GSize либо размер габаритной рамки эластичного структурного объекта
obj
Тип: TObject3D
Возвращаемый тип результата: TVector3d
Добавлено в версии 1
Описание: Получить минимальную точку в ЛСК объекта. Возвращает значение GMin либо минимальные координаты габаритной рамки эластичного структурного объекта
obj
Тип: TObject3D
Возвращаемый тип результата: TVector3d
Добавлено в версии 3
Описание: Загрузить параметры эластичности из структурного объекта
list
Тип: T3DObjectList
[createIfNotExist] - Создать пустые параметры, если их нет. По умолчанию - false
Тип: boolean
Возвращаемый тип результата: ElasticParameters | undefined
Добавлено в версии 1
Описание: Проверить, является ли объект эластичным блоком
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Изменить размер структурного объекта.
obj - Структурный объект.
Тип: T3DObjectList
newSize - Новый размер в ЛСК объекта.
Тип: TVector3d
Метод не возвращает результат
Добавлено в версии 3
Описание: Сохранить параметры эластичности в структурный объект
list
Тип: T3DObjectList
elasticParameters
Тип: ElasticParameters
Метод не возвращает результат
Добавлено в версии 3
Описание: Ось эластичной плоскости
x
y
z
Добавлено в версии 1
Описание: Модуль операций с фурнитурой
Свойства и методы:
Добавлено в версии 1
Описание: Найти объекты фурнтуры, которые сверлятся во все заданные объекты.
obj1 - Объект 1
Тип: TObject3D
[obj2] - Объект 2 (необязательный)
Тип: TObject3D
Возвращаемый тип результата: TObject3D[]
Добавлено в версии 1
Описание: Создать объект для сверления отверстий
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: THoleDrilling
Добавлено в версии 1
Описание: Тип базирования фурнитуры
box - По габаритному параллелепипеду (параметрическая секция)
face - По одной плоскости (ручка)
faceButt - По плоскости и торцу панели (шуруп, евровинт)
faceEdge - По плоскости и опорному ребру (двойная стяжка)
faceFace - По двум плоскостям (уголок, стяжка)
joint - На стык двух панелей (схема крепежа)
parallelFaces - По двум параллельным плоскостям
Добавлено в версии 1
Описание: Тип сверления отверстия
auto - Автоматически.
blind - Глухое.
through - Сквозное.
Добавлено в версии 1
Описание: Тип параметров фурнитуры
blindHole - Глухое отверстие
corner - Уголок
doubleMiniFix - Двойная стяжка
handleCab - Ручка-скоба
handleKnob - Ручка-кнопка
hinge - Петля
hinge180 - Петля 180 градусов
miniFix - Стяжка
pin - Шкант
scheme - Схема крепежа
screw - Шуруп, евровинт
shelfPin - Полкодержатель
throughHole - Сквозное отверстие
Добавлено в версии 1
Описание: Модуль для работы с двумерной геометрией
Свойства и методы:
Добавлено в версии 1
Описание: Выполнить булеву операцию с двумя контурами
contour1 - Контур 1
Тип: T2DElemList
contour2 - Контур 2
Тип: T2DElemList
boolFunction - Тип булевой операции
Тип: booleanFunction2D
result - Контур для записи результата операции
Тип: T2DElemList
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Сравнить два элемента конутра
elem1
Тип: T2DElement
elem2
Тип: T2DElement
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Получить площадь контура
contour
Тип: T2DElemList
Возвращаемый тип результата: number
Добавлено в версии 1
Описание: Найти расстояние между двумя элементами контура
elem1
Тип: T2DElement
elem2
Тип: T2DElement
Возвращаемый тип результата: number
Добавлено в версии 1
Описание: Получить точки пересечения двух двумерных элементов контура
elem1
Тип: T2DElement
elem2
Тип: T2DElement
Возвращаемый тип результата: T2DPoint[]
Описание: Добавить эквидистанту контура в другой контур. Контур должен быть упорядочен. От направления контура зависит направление эквидистанты. Если контур упорядочен против часовой стрелки, то положительное значение отступа приведёт к построению внешней эквидистанты, а отрицательное - к внутренней. Если контур упорядочен по часовой стрелке - наоборот.
source - Исходный контур
Тип: T2DElemList
destination - Контур назначения
Тип: T2DElemList
offset - Отступ от исходного контура
Тип: number
mode - Алгоритм построения эквидистанты
Тип: equidistantMode
Метод не возвращает результат
Описание: Добавить эквидистанту контура в другой контур с учётом вложенности контуров. Напраление эквидистанты не зависит от направления контура. Положительное значение отступа приведёт к построению внутренней эквидистанты, а отрицательное - к внешней.
source - Исходный контур
Тип: T2DElemList
destination - Контур назначения
Тип: T2DElemList
offset - Отступ от исходного контура
Тип: number
mode - Алгоритм построения эквидистанты
Тип: equidistantMode
Метод не возвращает результат
Добавлено в версии 1
Описание: Создать двумерный контур
[size] - Размер контура
Тип: T2DPoint
Возвращаемый тип результата: T2DElemList
Добавлено в версии 1
Описание: Создать временный двумерный контур, который будет удалён после завершения скрипта
[size] - Размер контура
Тип: T2DPoint
Возвращаемый тип результата: T2DElemList
Добавлено в версии 1
Описание: Сложить два вектора
v1
Тип: T2DPoint
v2
Тип: T2DPoint
Возвращаемый тип результата: T2DPoint
Добавлено в версии 1
Описание: Скалярное произведение векторов
v1
Тип: T2DPoint
v2
Тип: T2DPoint
Возвращаемый тип результата: number
Добавлено в версии 3
Описание: Проверить равность векторов (с точностью 0.001)
v1
Тип: T2DPoint
v2
Тип: T2DPoint
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Инвертировать вектор (изменить его направление на противоположное)
v
Тип: T2DPoint
Возвращаемый тип результата: T2DPoint
Добавлено в версии 1
Описание: Получить длину вектора
v
Тип: T2DPoint
Возвращаемый тип результата: number
Добавлено в версии 1
Описание: Создать двумерную точку
x
Тип: number
y
Тип: number
Возвращаемый тип результата: T2DPoint
Добавлено в версии 1
Описание: Умножить вектор на число
v - Вектор
Тип: T2DPoint
a - Число
Тип: number
Возвращаемый тип результата: T2DPoint
Добавлено в версии 1
Описание: Нормализовать вектор.
Функция возвращает сонаправленный вектор единичной длины для ненулевого вектора
В противном случае, функция возвращает копию исходного вектора.
v
Тип: T2DPoint
Возвращаемый тип результата: T2DPoint
Добавлено в версии 3
Описание: Повернуть вектор на заданный угол вокруг точки
v - Вектор
Тип: T2DPoint
angle - Угол в радианах
Тип: number
[center] - Центр вращения. Если не задан - точка (0, 0)
Тип: T2DPoint
Возвращаемый тип результата: T2DPoint
Добавлено в версии 1
Описание: Проверить коллинеарность векторов
v1
Тип: T2DPoint
v2
Тип: T2DPoint
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Вычесть вектор из вектора
v1 - Исходный вектор
Тип: T2DPoint
v2 - Вычитаемый вектор
Тип: T2DPoint
Возвращаемый тип результата: T2DPoint
Добавлено в версии 1
Описание: Тип булевой операции с двумерными контурами
intersection
subtraction
union
Добавлено в версии 1
Описание: Тип 2D элемента
arc - Дуга
circle - Окружность
line - Линия
list - Список 2D элементов
Добавлено в версии 3
Описание: Алгоритм построения эквидистанты
corner - Без скругления
rounding - Со скруглением
Добавлено в версии 1
Описание: Модуль для работы с трёхмерной геометрией
Свойства и методы:
Добавлено в версии 1
Описание: Проверить равность чисел (с точностью 0.001)
a
Тип: number
b
Тип: number
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Сложить два вектора
v1
Тип: TVector3d
v2
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Добавлено в версии 1
Описание: Векторное произведение векторов
v1
Тип: TVector3d
v2
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Добавлено в версии 1
Описание: Скалярное произведение векторов
v1
Тип: TVector3d
v2
Тип: TVector3d
Возвращаемый тип результата: number
Добавлено в версии 1
Описание: Проверить равность векторов (с точностью 0.001)
v1
Тип: TVector3d
v2
Тип: TVector3d
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Инвертировать вектор (изменить его направление на противоположное)
v
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Добавлено в версии 1
Описание: Проверить, является ли вектор пустым (нулевым)
v
Тип: TVector3d
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Получить длину вектора
v
Тип: TVector3d
Возвращаемый тип результата: number
Добавлено в версии 1
Описание: Создать вектор
x
Тип: number
y
Тип: number
z
Тип: number
Возвращаемый тип результата: TVector3d
Добавлено в версии 1
Описание: Умножить вектор на число
v - Вектор
Тип: TVector3d
a - Число
Тип: number
Возвращаемый тип результата: TVector3d
Добавлено в версии 1
Описание: Нормализовать вектор.
Функция возвращает сонаправленный вектор единичной длины для ненулевого вектора
В противном случае, функция возвращает копию исходного вектора.
v
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Добавлено в версии 1
Описание: Проверить коллинеарность векторов
v1
Тип: TVector3d
v2
Тип: TVector3d
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Вычесть вектор из вектора
v1 - Исходный вектор
Тип: TVector3d
v2 - Вычитаемый вектор
Тип: TVector3d
Возвращаемый тип результата: TVector3d
Добавлено в версии 1
Описание: Модуль для работы с параметрами материалов
Свойства и методы:
Добавлено в версии 1
Описание: Извлечь артикул материала из полного имени материала
fullMaterialName - Полное имя материала
Тип: string
Возвращаемый тип результата: string
Добавлено в версии 1
Описание: Извлечь наименование материала из полного имени материала
fullMaterialName - Полное имя материала
Тип: string
Возвращаемый тип результата: string
Добавлено в версии 1
Описание: Форматировать полное имя материала в виде "<Наименование> (Артикул <Артикул>)"
fullMaterialName - Полное имя материала
Тип: string
Возвращаемый тип результата: string
Добавлено в версии 3
Описание: Модуль для работы с данными объектов
Свойства и методы:
Добавлено в версии 3
Описание: Добавить список дополнительных материалов объекта.
При совпадении наименования и артикула у нового и текущего дополнительных материалов
у текущего дополнительного материала будет изменено количество
obj
Тип: TObject3D
materials
Тип: ObjectAdditionalMaterial[]
Метод не возвращает результат
Добавлено в версии 3
Описание: Добавить список пользовательских свойств объекта в виде коллекции "ключ-значение",
где ключ - имя свойства, а значение - значение свойства.
Ранее заданные пользовательские свойства объекта будут заменены при совпадении имён
obj
Тип: TObject3D
properties
Тип: Map<string, string | number>
Метод не возвращает результат
Добавлено в версии 3
Описание: Получить список дополнительных материалов объекта
obj
Тип: TObject3D
Возвращаемый тип результата: ObjectAdditionalMaterial[]
Добавлено в версии 3
Описание: Получить заметки объекта
obj
Тип: TObject3D
Возвращаемый тип результата: string
Добавлено в версии 3
Описание: Получить список пользовательских свойств объекта в виде коллекции "ключ-значение",
где ключ - имя свойства, а значение - значение свойства.
obj
Тип: TObject3D
Возвращаемый тип результата: Map<string, string | number>
Добавлено в версии 3
Описание: Задать список дополнительных материалов объекта.
Текущие дополнительные материалы объекта будут удалены
obj
Тип: TObject3D
materials
Тип: ObjectAdditionalMaterial[]
Метод не возвращает результат
Добавлено в версии 3
Описание: Задать заметки объекту
obj
Тип: TObject3D
notes
Тип: string
Метод не возвращает результат
Добавлено в версии 3
Описание: Задать список пользовательских свойств объекта в виде коллекции "ключ-значение",
где ключ - имя свойства, а значение - значение свойства.
Ранее заданные пользовательские свойства объекта будут удалены
obj
Тип: TObject3D
properties
Тип: Map<string, string | number>
Метод не возвращает результат
Добавлено в версии 5
Описание: Тип элемента для салона
box - Ящик
doorFlap - Дверь откидная
doorLeft - Дверь левая
doorLift - Дверь подъёмная
doorRight - Дверь правая
doorSlideLeft - Дверь купе левая
doorSlideRight - Дверь купе правая
facade - Фасад
handle - Ручка
none - Отсутствует
support - Опора
Добавлено в версии 1
Описание: Модуль для проверки типов 3D объектов
Свойства и методы:
Добавлено в версии 1
Описание: Проверить соответствие объекта одному из типов
obj
Тип: TObject3D
types
Тип: ObjectTypeValue[] | Set<ObjectTypeValue>
Метод не возвращает результат
Добавлено в версии 1
Описание: Проверить, является ли объект блоком
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект контуром на плоскости
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 5
Описание: Проверить является ли объект многофункциональным вырезом
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект полуфабрикатом
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект телом выдавливания
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект фурнитурой
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект покупным изделием
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 5
Описание: Проверить, является ли объект импортированным полигональным объектом
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект слоем
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект габаритной рамкой
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект панелью
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 3
Описание: Проверить, является ли объект телом вращения
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект объектом-размером
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 5
Описание: Проверить, является ли объект структурным (имеет вложенные объекты)
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Проверить, является ли объект телом по траектории
obj
Тип: TObject3D
Возвращаемый тип результата: boolean
Добавлено в версии 1
Описание: Тип 3D объекта
contour - Контур на плоскости
draftBlock - Полуфабрикат
extrusion - Профиль (тело выдваливания)
fastener - Фурнитура
furnAsm - Покупное изделие
furnBlock - Блок
importedMesh - Импортированный полигональный объект
layer - Слой
limits - Габаритная рамка
panel - Панель
rotationBody - Тело вращения
size - Размер
structObject - Структурный объект (содержит вложенные объекты)
trajectoryBody - Тело по траектории
Добавлено в версии 1
Описание: Модуль для проведения операций с панелями
Свойства и методы:
Добавлено в версии 1
Описание: Добавить облицовку кромки на панель.
panel - Панель
Тип: TFurnPanel
elemIndex - Индекс элемента контура панели
Тип: number
[materialData] - Параметры материала кромки. По умолчанию - параметры активного материала кромки.
Тип: ButtMaterialData
Возвращаемый тип результата: TFurnButt
Добавлено в версии 2
Описание: Добавить паз на панель.
panel - Панель
Тип: TFurnPanel
type - Тип паза
Тип: cutType
name - Наименование паза
Тип: string
[sign] - Обозначение паза
Тип: string
Возвращаемый тип результата: TFurnCut
Добавлено в версии 1
Описание: Добавить облицовку пласти на панель.
panel - Панель
Тип: TFurnPanel
[frontSide] - Флаг - нанести на переднюю пласть панели. По умолчанию - на заднюю пласть панели.
Тип: boolean
[materialData] - Параметры материала. По умолчанию - параметры активного материала.
Тип: FurnMaterialData
Возвращаемый тип результата: TFurnPlastic
Добавлено в версии 5
Описание: Применить многофункциональные вырезы к объектам модели
grooves - Вырез, либо массив вырезов
Тип: TCustomGroove | TCustomGroove[]
[options] - Параметры применения вырезов.
Тип: GroovingOptions
Метод не возвращает результат
Добавлено в версии 1
Описание: Тип параметров паза
pocket - Выемка
type1 - Тип 1
type2 - Тип 2
type3 - Тип 3
type4 - Тип 4
type5 - Тип 5
type6 - Тип 6
type7 - Тип 7
type8 - Тип 8
type9 - Тип 9
Добавлено в версии 1
Описание: Тип паза
extrusion - Выемка (перпендикулярно плоскости контура панели)
freeForm - По произвольной траектории на плоскости контура панели
Добавлено в версии 1
Описание: Тип лицевой стороны
back - Задняя
default - Не задана
front - Передняя
Добавлено в версии 1
Описание: Тип ориентации текстуры
custom - Произвольная
horizontal - Горизонтальная
none - По умолчанию
vertical - Вертикальная
Добавлено в версии 6
Описание: Получить список объектов
Метод не принимает дополнительных параметров.
Возвращаемый тип результата: EstimateObject[]
Добавлено в версии 6
Описание: Получить значение параметра
paramName - Наименование параметра
Тип: string
Возвращаемый тип результата: number
Описание: Матрица преобразования в трёхмерном пространстве
Является масиивом значений типа number
Система типов языка JavaScript имеет ряд ограничений, не позволяющих объяснить преобразование объектов внутри движка скриптов в рамках языка JavaScript, поэтому вводятся дополнительные абстракции - интерфейсы, абстрактные классы и перечисляемые типы.
Интерфейсы в системе Базис - это виртуальный (не имеющий реализации в коде) тип, описывающий свойства объекта. Объект считается реализацией интерфейса, если имеет все свойства, описанные в интерфейсе. Например, объект, реализующий интерфейс TVector3d может быть создан как специальной функцией, так и вручную с назначением всех свойств реализуемого интерфейса:
// Создание вектора с помощью специальной функции
let v1 = geometry3d.VectorMake(1, 0, 0);
// Создание вектора вручную
let v2 = {
x: 1,
y: 0,
z: 0
}
Оба созданных в примере выше объекта могут быть использованы и как параметры методов функций системы Базис и как значения свойств объектов системы Базис.
В большинстве случаев интерфейсы используются для передачи через движок скриптов тех объектов, которые не могут быть переданы по ссылке. Поэтому движок оперирует копиями объектов - при передаче интерфейса во внутреннюю функцию системы Базис движок скриптов считывает значения всех свойств объекта, реализующего интерфейс и создаёт объект системы Базис, который идёт как аргумент в вызываемую функцию. В обратную сторону конвертация схожа - при возвращении свойством/методом объекта (не ссылки на объект) движок скриптов преобразует объект системы Базис в объект JavaScript, которому назначает значения свойств оригинального объекта.
Важная заметка: из-за копирования объектов движком скриптов изменения интерфейса, полученного из свойства/метода объектов системы Базис не отразятся на исходном значении внутри объекта, например:
// Создаём панель
let panel = objects3d.NewPanel(100, 100);
// Создаём вектор будущего положения панели
let pos = geometry3d.VectorMake(100, 200, 300);
// Задаём положение панели
panel.Position = pos;
// Считываем положение панели
let pos2 = panel.Position;
// Меняем координату X первого вектора
pos.x = 400;
// Меняем координату Y второго вектора
pos2.y = 500;
// Считываем настоящее положение панели
let realPos = panel.Position;
// Выводим значения переменных
// Как видно из вывода лога, все три переменных ссылаются на разные объекты
// и изменения переменных не отражаются на значении свойства Position
// панели еслине задать значение свойства напрямую
console.log(JSON.stringify(pos)); // {"x":400,"y":200,"z":300}
console.log(JSON.stringify(pos2)); // {"x":100,"y":500,"z":300}
console.log(JSON.stringify(realPos)); // {"x":100,"y":200,"z":300}
Абстрактные классы - абстракция для описания классов системы Базис. Эти классы описаны в глобальном пространстве для упрощения поиска определений, но фактическое их положение иное. Поэтому, их конструкторы не могут быть вызваны из глобального пространства, для создания экземпляра класса используются встроенные функции внутренних модулей, например:
// Создание объекта панели с помощью специальной функции
let panel = objects3d.NewPanel(100, 100);
Большинство объектов, с которыми происходит взаимодействие в системе Базис, в пространстве JavaScript описываются как экземпляры абстрактных классов.
Перечисляемые типы (enums) предоставляют конечный набор именованных значений. В JavaScript они реализованы как обычные объекты с набором свойств, например:
// Тип, задающий направление - вверх, вниз, влево, вправо
const direction = {
up: 0,
down: 1,
left: 2,
right: 3
}
Перечисляемые типы в основном используются как группа констант, элемент которой передаётся в качестве параметра метода либо значения свойства. Как и обычные константы, это удобно тем, что при изменении реального значения (например, значение было равно 0, потом стало равно 5) параметра в методе и в перечисляемом типе скрипт продолжит корректно работать с новым значением, если оно задано с помощью константы перечисляемого типа.
ReferenceObject - специальный тип, используемый для передачи значений, которые могут изменяться внутри вызываемого метода. Конструкция языка JavaScript не реализует изменение значения переданной переменной внутри метода, поэтому при передаче параметров функции через движок скриптов нет возможности ни изменить значение переменной JavaScript в методе системы Базис ни наоборот - изменить значение переменной системы Базис в методе Javascript. Для передачи таких параметров используется тип ReferenceObject - объект со свойством value, значение которого будет перезаписываться.
Как описано выше, вызываемый метод не может переопределить значение переменной, переданной в него. Например код ниже не позволит получить ближайший элемент контура к точке и расстояние до неё:
// Создадим панель
let panel = objects3d.NewPanel(100, 200);
// Точка для поиска ближайшего элемента контура
let point = {
x: 50,
y: -20
}
// Максимальное расстояние поиска (максимальное расстояние до точки)
let distance = 100;
// Найденный элемент
let elem;
let result = panel.Contour.FindNearestObject(point, distance, elem);
if (result) { // result == true, поэтому выполнение продолжится в этом блоке кода
console.log('Элемент найден');
console.log(`Расстояне от точки до элемента: ${distance}`);
if (elem) { // elem не определён, поэтому выполнение продолжится по ветке else
if (elem.IsLine()) {
console.log(`Pos1: ${JSON.stringify(elem.AsLine().Pos1)}`)
console.log(`Pos2: ${JSON.stringify(elem.AsLine().Pos2)}`)
}
}
else
console.log('Элемент не был возвращён методом') // В лог будет выведено это сообщение
}
else
console.log("Элемент не найден");
Для получения изменённого значения как раз и создан тип ReferenceObject, который будет передаваться в метод системы Базис, а после выполнения метода движок скриптов перепишет значение свойства value переданного объекта ReferenceObject.
// Создадим панель
let panel = objects3d.NewPanel(100, 200);
// Точка для поиска ближайшего элемента контура
let point = {
x: 50,
y: -20
}
// Максимальное расстояние поиска (максимальное расстояние до точки)
let distance = 100;
// Найденный элемент
let elem;
// Создадим объекты ReferenceObject, хранящие значения расстояния и найденного элемента
let distanceRef = new ReferenceObject(distance);
let elemRef = new ReferenceObject(elem);
let result = panel.Contour.FindNearestObject(point, distanceRef, elemRef);
// Перезаписываем новые значения расстояния и найденного элемента
distance = distanceRef.value;
elem = elemRef.value;
if (result) {// result == true, поэтому выполнение продолжится в этом блоке кода
console.log('Элемент найден');
console.log(`Расстояне от точки до элемента: ${distance}`);
if (elem) {// elem определён, поэтому продолжается выполнение этого блока кода
if (elem.IsLine()) {// elem является линией, поэтому продолжается выполнение этого блока кода
console.log(`Pos1: ${JSON.stringify(elem.AsLine().Pos1)}`)
console.log(`Pos2: ${JSON.stringify(elem.AsLine().Pos2)}`)
}
}
else
console.log('Элемент не был возвращён методом')
}
else
console.log("Элемент не найден");
В некоторых случаях (в основном, в функциях обратного вызова) бывает необходимо изменить значение, переданное из системы Базис, которое нельзя вернуть как результат функции. В таких случаях движок может создать объект типа ReferenceObject и передать его в качестве нужного параметра в вызываемую функцию JavaScript; после завершения функции значение такого объекта будет преобразовано движком и назначено в нужную область памяти для корректного изменения значения, переданного по ссылке. В качестве примера рассмотрим фильтрацию ввода в поле ввода текстового компонента:
//Функция-фильтр вводимых символов
function FilterLetterCharacters(sender, key) {
// Получение строки из кода символа
let keyString = String.fromCharCode(key.value);
// Регулярное выражение, соответствующее любой цифре либо точке
let regex = /\d|\./;
// Если строка не соответствует регулярному выражению, обнуляем введённый символ.
// Таким образом, после выполнения этой функции дальнейшая обработка будет для
// символа с нулевым значением и изначальный символ не будет введён в поле компонента
if (!keyString.match(regex))
key.value = 0;
}
var UserForm1 = UI.components.NewForm();
UserForm1.Width = 400;
UserForm1.Height = 300;
UserForm1.Caption = 'UserForm1';
UserForm1.Show();
var cxTextEdit1 = UI.components.NewTextEdit(UserForm1, UserForm1);
cxTextEdit1.Width = 121;
cxTextEdit1.Top = 55;
cxTextEdit1.Left = 75;
cxTextEdit1.Height = 23;
// Назначаем функцию-фильтр на событие ввода символа
cxTextEdit1.OnKeyPress = FilterLetterCharacters;
Тип IndexedProperty - абстрактный тип, введённый для имитации объекта со свойствами, доступными по индексу из-за различий JavaScript и системы Базис. Технически, со стороны системы Базис доступ к значению индексного свойства идет одной операцией (имя свойства + индекс свойства), а со стороны Javascript - двумя, доступ к свойству по имени и доступ к свойству полученного значения по индексу. Потому был описан отдельный тип объекта, возвращаемый движком при доступе к индексному свойству объекта, который хранит в себе необходимые данные для дальнейшего доступа по индексу.