====== Справочник команд TLC ====== В данном справочнике представлены только методы и свойства расширяющие функционал языка **[[https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%81%D0%BF|LISP (LISt Processing)]]**, разработанные **[[https://new.topomatic.ru/|НПФ Топоматик]]** ===== Методы ===== __**Важно!**__ Если для аргумента указан тип **3D-вектор**, то значением этого аргумента могут быть: * 3D-вектор * вещественное число * строка конвертируемая в вещественное число * перечисление объектов конвертируемых в вещественное число Для примера рассмотрим метод **vec-len**, который рассчитывает длину **3D-вектора** принимаемого в качестве единственного аргумента. В общем виде сигнатура метода будет выглядеть так: (vec-len vector) Примеры использования: ==3D-вектор== В качестве аргумента передаётся 3D-вектор c координатами X=1.0, Y=5.0, Z=0.0 (vec-len (vec 1.0 5.0 0.0))) ==Вещественное число== В качестве аргумента передаётся вещественное число, которое будет преобразовано в 3D-вектор с координатами X=1.0, Y=0.0, Z=0.0 (vec-len 1.0) ==Строка== В качестве аргумента передаётся строка конвертируемая в вещественное число, которое будет преобразовано в 3D-вектор с координатами X=1.0, Y=0.0, Z=0.0 (vec-len "1.0") ==Перечисление== В качестве аргумента передаётся перечисление объектов конвертируемых в вещественное число, которое будет преобразовано в 3D-вектор с координатами X=1.0, Y=5.0, Z=0.0 (vec-len (list 1.0 "5.0" 0.0)) (vec-len (array "1.0" 5.0 0.0)) ==== Метод defcomponent ==== **defcomponent** - главный метод конструкции. В теле **defcomponent** располагаются инструкции описывающие геометрию и свойства конструкции. ^ Описание ^^^ | Метод содержащий описание конструкции ||| ^ Синтаксис ^^^ | (defcomponent construction_name smdx_type ;;; пользовательский код ) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''construction_name '' | Строка | Название конструкции | | ''smdx_type'' | Строка | Smdx-тип | ^ Пример ^^^ | (defcomponent "My Custom Construction" "SmdxElement" (defproperty CustomIntProperty 5 "Cвойство с целым числом" (v-property-integer "n" 0 100) ) (defgeometry (v-extrude (v-profile-round 2) (vec 0 0 5) ) ) ) ||| ^ Результат ^^^ | {{ :developers:tutorial:tlc:tut_tlc_custom_construction.png?nolink |}} ||| ---- ==== Метод defgeometry ==== ^ Описание ^^^ | Определение блока геометрии ||| ^ Синтаксис ^^^ | (defgeometry objects) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''objects'' | Перечисление 3D-объектов или составных 3D-объектов | Выравниваемые 3D-объекты | ^ Пример ^^^ | (defgeometry (v-extrude (v-profile-round 2) (vec 0 0 5) ) (v-scale (vec 2.0) (v-sphere 1.0) (v-translate (vec 2.0 0.0 0.0) (v-sphere 1.0) ) ) ) ||| ---- ==== Метод defproperty ==== ^ Описание ^^^ | Определение свойства конструкции ||| ^ Синтаксис ^^^ | (defgeometry var_name default_value caption property_type) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''var_name'' | Переменная | Имя переменной | | ''default_value'' | Объект | Значение свойства по умолчанию | | ''caption'' | Строка | Заголовок свойства | | ''property_type'' | Тип свойства | Тип свойства | ^ Пример ^^^ | (defproperty CustomIntProperty 5 "Cвойство с целым числом" (v-property-integer "n" 0 100) ) ||| ===== Методы создания типа свойства ===== В типах свойств ''v-property-double'' и ''v-property-integer'' требуется указать единицы измерения. Аргумент ''units'' может принимать следующие значения: ^ Значение ^ Описание ^ | "mm" | Милиметры, мм | | "cm" | Сантиметры, см | | "m" | Метры, м | | "m^2" | Метры квадратные, м2 | | "m^3" | Метры кубические, м3 | | "ppm" | Промилле, ‰ | | "deg" | Грудусы, ° | | "r" | Радианы, рад | | "kg" | Килограммы, кг | | "kmh" | Километры в час, км/ч | | "c" | Градусы цельсия, C° | | "n" | Количество, шт | | "m^3/c" | Метры кубические в секунду, м3/с | ==== Метод v-property-double ==== ^ Описание ^^^ | Создание типа свойства: вещественное число ||| ^ Возвращаемое значение ^^^ | Тип свойства ||| ^ Синтаксис ^^^ | (v-property-double units min_limit max_limit) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''units'' | Строка | Единицы измерения | | ''min_limit'' | Вещественное | Минимальное допустимое значение | | ''max_limit'' | Вещественное | Максимальное допутимое значение | ^ Пример ^^^ | (v-property-double "m^3/c" 0 100) ||| ---- ==== Метод v-property-integer ==== ^ Описание ^^^ | Создание типа свойства: целое число ||| ^ Возвращаемое значение ^^^ | Тип свойства ||| ^ Синтаксис ^^^ | (v-property-integer units min_limit max_limit) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''units'' | Строка | Единицы измерения | | ''min_limit'' | Целое | Минимальное допустимое значение | | ''max_limit'' | Целое | Максимальное допутимое значение | ^ Пример ^^^ | (v-property-integer "n" 0 100) ||| ---- ==== Метод v-property-logic ==== ^ Описание ^^^ | Создание типа свойства: логическое значение (истина/ложь) ||| ^ Возвращаемое значение ^^^ | Тип свойства ||| ^ Синтаксис ^^^ | (v-property-logic) ||| ---- ==== Метод v-property-enum ==== ^ Описание ^^^ | Создание типа свойства: перечисление ||| ^ Возвращаемое значение ^^^ | Тип свойства ||| ^ Синтаксис ^^^ | (v-property-enum items) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''items'' | Перечисление строк или пар ключ/значение (строка/строка) | Элементы перечисления. Если элемент пара ключ/значение, то ключ пары устанавливается в качестве значения элемента, а значение ключа является описанием элемента | ^ Пример ^^^ | (v-property-enum "Value1" "Значение1" "Value2" "Значение2" "Value3" "Значение3" "Value4" "Значение4" ) ||| | (setq EnumValues (dict "Value1" "Значение1" "Value2" "Значение2" "Value3" "Значение3" "Value4" "Значение4" ) ) (v-property-enum EnumValues) ||| ---- ==== Метод v-property-string ==== ^ Описание ^^^ | Создание типа свойства: строка ||| ^ Возвращаемое значение ^^^ | Тип свойства ||| ^ Синтаксис ^^^ | (v-property-string) ||| ---- ==== Метод v-property-typed ==== ^ Описание ^^^ | Создание типа свойства: тип объекта информационной модели ||| ^ Возвращаемое значение ^^^ | Тип свойства ||| ^ Синтаксис ^^^ | (v-property-typed type) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''type'' | Строка | Тип объекта информационной модели | ^ Пример ^^^ | (v-property-typed "SmdxElement") ||| ===== Методы редактирования 3D-объектов ===== ==== Метод "v-compound" ==== ^ Описание ^^^ | Создание составной 3D-модели ||| ^ Возвращаемое значение ^^^ | Составная 3D-модель ||| ^ Синтаксис ^^^ | (v-compound objects) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''objects'' | Перечисление 3D-объектов или составных 3D-объектов | Объединяемые 3D-объекты | ^ Пример ^^^ | (v-compound (v-extrude (v-profile-round 0.4) (vec 0 0 0.5) ) (v-translate (vec 0.0 0.0 0.5) (v-extrude (v-profile-rect 0.1) (vec 0 0 2) ) ) ) ||| ---- ==== Метод "v-quality" ==== ^ Описание ^^^ | Изменение детализации 3D-модели ||| ^ Возвращаемое значение ^^^ | 3D-модель ||| ^ Синтаксис ^^^ | (v-quality quality objects) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''quality'' | Вещественное | Степень детализации в диапазоне 0.01 - 1.00 | | ''objects'' | Перечисление 3D-объектов или составных 3D-объектов | Изменяемые 3D-объекты | ^ Пример ^^^ | (v-quality 0.5 (v-extrude (v-profile-round 0.4) (vec 0 0 0.5) ) ) ||| ---- ==== Метод "v-translate" ==== ^ Описание ^^^ | Перемещение 3D-модели ||| ^ Возвращаемое значение ^^^ | 3D-модель ||| ^ Синтаксис ^^^ | (v-translate vector objects) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector'' | 3D-vector | Вектор смещения | | ''objects'' | Перечисление 3D-объектов или составных 3D-объектов | Перемещаемые 3D-объекты | ^ Пример ^^^ | (v-translate (vec 0.0 0.0 0.5) (v-extrude (v-profile-rect 0.1) (vec 0 0 2) ) ) ||| ---- ==== Метод "v-scale" ==== ^ Описание ^^^ | Масштабирование 3D-модели ||| ^ Возвращаемое значение ^^^ | 3D-модель ||| ^ Синтаксис ^^^ | (v-scale vector objects) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector'' | 3D-вектор | Вектор масштаба | | ''objects'' | Перечисление 3D-объектов или составных 3D-объектов | Масштабируемые 3D-объекты | ^ Пример ^^^ | (v-scale (vec 2.0) (v-sphere 1.0) (v-translate (vec 2.0 0.0 0.0) (v-sphere 1.0) ) ) ||| ---- ==== Метод "v-align" ==== ^ Описание ^^^ | Выравнивание 3D-модели FIXME ||| ^ Возвращаемое значение ^^^ | 3D-модель ||| ^ Синтаксис ^^^ | (v-align vector_1 vector_2 angle objects) (v-align vector_1 vector_2 direction objects) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector_1'' | 3D-vector | Первый опорный вектор FIXME | | ''vector_2'' | 3D-vector | Второй опорный вектор FIXME | | ''angle'' | Вещественное | Угол в градусах | | ''direction'' | 3D-vector | Вектор направления | | ''objects'' | Перечисление 3D-объектов или составных 3D-объектов | Выравниваемые 3D-объекты | ---- ===== Методы создания тела ===== ==== Метод "v-sweep" ==== ^ Описание ^^^ | Создание тела путём выдавливания профиля вдоль кривой FIXME ||| ^ Возвращаемое значение ^^^ | 3D-модель ||| ^ Синтаксис ^^^ | (v-sweep profile curve) (v-sweep profile curve orientation) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''profile'' | Профиль | Выдавливаемый профиль | | ''curve'' | Кривая | Кривая | | ''direction'' | 3D-vector | Трёхмерный вектор направления | | ''orientation'' | FIXME | Ориентация | ---- ==== Метод "v-revolve" ==== ^ Описание ^^^ | Создание тела путём вращения профиля вдоль дуги FIXME ||| ^ Возвращаемое значение ^^^ | 3D-модель ||| ^ Синтаксис ^^^ | (v-revolve profile) (v-revolve profile span) (v-revolve profile span angle) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''profile'' | Профиль | Выдавливаемый профиль | | ''span'' | Вещественное | Градусная мера дуги. По умолчанию 360 | | ''angle'' | Вещественное | Угол начала дуги. По умолчанию 0 | ---- ==== Метод "v-extrude" ==== ^ Описание ^^^ | Создание тела путём выдавливания профиля вдоль вектора ||| ^ Возвращаемое значение ^^^ | 3D-модель ||| ^ Синтаксис ^^^ | (v-extrude profile direction) (v-extrude profile direction orientation) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''profile'' | Профиль | Выдавливаемый профиль | | ''direction'' | 3D-вектор | Трёхмерный вектор | | ''orientation'' | FIXME | Ориентация | ---- ==== Метод "v-sphere" ==== ^ Описание ^^^ | Создание сферического тела с заданным радиусом ||| ^ Возвращаемое значение ^^^ | 3D-модель ||| ^ Синтаксис ^^^ | (v-sphere radius) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''radius'' | Вещественное | Радуис сферы | ===== Методы создания профилей ===== ==== Метод "v-profile-rect" ==== ^ Описание ^^^ | Создание прямоугольного профиля ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-rect width) (v-profile-rect width height) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''width'' | Вещественное | Ширина | | ''height'' | Вещественное | Высота. По умолчанию равно занчению аргумента ''width'' | ---- ==== Метод "v-profile-round" ==== ^ Описание ^^^ | Создание круглого профиля ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-round radius) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''radius'' | Вещественное | Радиус | ---- ==== Метод "v-profile-arc" ==== ^ Описание ^^^ | Создание дугового профиля ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-arc radius angle span) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''radius'' | Вещественное | Радиус дуги | | ''angle'' | Вещественное | Угол начала дуги | | ''span'' | Вещественное | Градусная мера дуги | ---- ==== Метод "v-profile-polygon" ==== ^ Описание ^^^ | Создание вписанного многоугольного профиля FIXME ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-polygon quantity radius) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''quantity'' | Целое | Количество углов | | ''radius'' | Вещественное | Радиус окружности | ---- ==== Метод "v-profile-g" ==== ^ Описание ^^^ | Создание Г-образного профиля (уголок) ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-g thickness width) (v-profile-g thickness width height) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''thickness'' | Вещественное | Толщина стенки | | ''width'' | Вещественное | Ширина | | ''height'' | Вещественное | Высота. По умолчанию равно занчению аргумента ''width'' | ---- ==== Метод "v-profile-p" ==== ^ Описание ^^^ | Создание П-образного профиля (швеллер) ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-p thickness width) (v-profile-p thickness width height) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''thickness'' | Вещественное | толщина стенки | | ''width'' | Вещественное | ширина | | ''height'' | Вещественное | Высота. По умолчанию равно занчению аргумента ''width'' | ---- ==== Метод "v-profile-t" ==== ^ Описание ^^^ | Создание Т-образного профиля (тавр) ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-t thickness width) (v-profile-t thickness width height) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''thickness'' | Вещественное | толщина стенки | | ''width'' | Вещественное | ширина | | ''height'' | Вещественное | Высота. По умолчанию равно занчению аргумента ''width'' | ---- ==== Метод "v-profile-shape" ==== ^ Описание ^^^ | Создание фигурного профиля ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Примечание ^^^ | Профиль должен содержать минимум два вершины. Аргументами могут быть трёхмерные векторы или пары координат X и Y в любом сочетании. Координаты X и Y передаются как отдельные аргументы, поэтому важно следить за количеством и типом передаваемых аргументов. ||| ^ Синтаксис ^^^ | (v-profile-shape vector_1 vector_2 ... vector_N) (v-profile-shape x_1 y_1 x_2 y_2 ... x_N y_N) (v-profile-shape vector_1 x_2 y_2 ... x_N y_N) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector_#'' | 3D-вектор | Трёхмерный вектор | | ''x_#'' | Вещественное | Координата X | | ''y_#'' | Вещественное | Координата Y | ---- ==== Метод "v-profile-compound" ==== ^ Описание ^^^ | Создание составного профиля ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Примечание ^^^ | Составной профиль должен содержать минимум два профиля ||| ^ Синтаксис ^^^ | (v-profile-shape profile_1 profile_2 ... profile_N) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''profile_#'' | Профиль | Профиль | ===== Методы преобразования профилей ===== ==== Метод "v-profile-rotate" ==== ^ Описание ^^^ | Вращение профиля ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-rotate profile angle) (v-profile-rotate profile x y) (v-profile-rotate profile function) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''profile'' | Профиль | Вращаемый профиль | | ''angle'' | Вещественное | Угол вращения | | ''x'' | Вещественное | Координата X вектора вращения FIXME | | ''y'' | Вещественное | Координата Y вектора вращения FIXME | | ''function'' | Функция | Функция-делегат FIXME | ---- ==== Метод "v-profile-scale" ==== ^ Описание ^^^ | Масштабирование профиля ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-scale profile vector_1) (v-profile-scale profile vector_1 vector_2) (v-profile-scale profile function) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''profile'' | Профиль | Масштабируемый профиль | | ''vector_1'' | 3D-вектор | Вектор масштабирования | | ''vector_2'' | 3D-вектор | Вектор приращения FIXME масштаба. Если задан, то в качестве вектора масштабирования будет использована разность векторов ''vector_2'' и ''vector_1'' FIXME | | ''function'' | Функция | функция-делегат FIXME | ---- ==== Метод "v-profile-translate" ==== ^ Описание ^^^ | Перемещение профиля ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-translate profile vector_1) (v-profile-translate profile vector_1 vector_2) (v-profile-translate profile function) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''profile'' | Профиль | Перемещаемый профиль | | ''vector_1'' | 3D-вектор | Вектор перемещения | | ''vector_2'' | 3D-вектор | Вектор приращения FIXME перемещения. Если задан, то в качестве вектора перемещения будет использована разность векторов ''vector_2'' и ''vector_1'' FIXME | | ''function'' | Функция | Функция-делегат FIXME | ---- ==== Метод "v-profile-mirror" ==== ^ Описание ^^^ | Зеркальное отражение профиля ||| ^ Возвращаемое значение ^^^ | Профиль ||| ^ Синтаксис ^^^ | (v-profile-translate profile vector) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''profile'' | профиль | Профиль | | ''vector'' | 3D-вектор | Нормаль плоскости отражения FIXME | ===== Методы работы с кривыми ===== ==== Метод "v-curve-straight" ==== ^ Описание ^^^ | Создание кривой в форме отрезка ||| ^ Возвращаемое значение ^^^ | Кривая ||| ^ Синтаксис ^^^ | (v-curve-straight start_vector end_vector) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''start_vector'' | 3D-вектор | Начало кривой | | ''end_vector'' | 3D-вектор | Конец кривой | ---- ==== Метод "v-curve-arc" ==== ^ Описание ^^^ | Создание кривой в форме дуги ||| ^ Возвращаемое значение ^^^ | Кривая ||| ^ Синтаксис ^^^ | (v-curve-arc center normal major) (v-curve-arc center normal major span) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''center'' | 3D-вектор | Центр дуги окружности | | ''normal'' | 3D-вектор | Нормаль плоскости кривой FIXME | | ''major'' | 3D-вектор | Направление оси построения FIXME | | ''span'' | Вещественное | Градусная мера дуги. По умолчанию 360 | ---- ==== Метод "v-curve-d0" ==== ^ Описание ^^^ | Вычисление точки лежащей на кривой на заданном расстоянии от её начала ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (v-curve-d0 curve distance) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''curve'' | Кривая | Кривая | | ''distance'' | Вещественное | Расстояние от начала кривой | ---- ==== Метод "v-curve-d1" ==== ^ Описание ^^^ | Вычисление касательного вектора в точке лежащей на кривой на заданном расстоянии от её начала FIXME ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (v-curve-d1 curve distance) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''curve'' | Кривая | Кривая | | ''distance'' | Вещественное | Расстояние от начала кривой | ---- ==== Метод "v-curve-length" ==== ^ Описание ^^^ | Вычисление длины кривой ||| ^ Возвращаемое значение ^^^ | Вещественное ||| ^ Синтаксис ^^^ | (v-curve-length curve) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''curve'' | Кривая | Кривая | ---- ==== Метод "v-curve-selection" ==== ^ Описание ^^^ | Выделение объектов с помощью кривой ||| ^ Возвращаемое значение ^^^ | Кривая ||| ^ Синтаксис ^^^ | (v-curve-selection curve tolerance map) (v-curve-selection curve tolerance map s1) (v-curve-selection curve tolerance map s1 s2) (v-curve-selection curve tolerance map s1 s2 mode) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''curve'' | Кривая | Кривая | | ''tolerance'' | Вещественное | Радиус поиска | | ''s1'' | Вещественное | FIXME | | ''s2'' | Вещественное | FIXME | | ''mode'' | Целое | Режим выбора. По умолчанию 0. Доступные значения: FIXME | ===== Методы работы с видами ===== ==== Метод "defview" ==== ^ Описание ^^^ | Изменение вида 3D-модели FIXME ||| ^ Возвращаемое значение ^^^ | 3D-модель FIXME ||| ^ Синтаксис ^^^ | (defview view objects) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''view'' | Вид | Вид | | ''objects'' | Перечисление 3D-объектов или составных 3D-объектов FIXME | 3D объекты | ---- ==== Метод "v-top" ==== ^ Описание ^^^ | Получение вида "сверху" ||| ^ Возвращаемое значение ^^^ | Вид ||| ^ Синтаксис ^^^ | (v-top) ||| ---- ==== Метод "v-front" ==== ^ Описание ^^^ | Получение вида "спереди" ||| ^ Возвращаемое значение ^^^ | Вид ||| ^ Синтаксис ^^^ | (v-front) ||| ===== Методы создания примитивов ===== ==== Метод "v-entity-circle" ==== ^ Описание ^^^ | Создание примитива "круг" ||| ^ Синтаксис ^^^ | (v-entity-circle diameter) (v-entity-circle diameter width) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''diameter'' | Вещественное | Диаметр | | ''width'' | Вещественное | Толщина линии. По умолчанию 0.0 | ---- ==== Метод "v-entity-arc" ==== ^ Описание ^^^ | Создание примитива "дуга" ||| ^ Синтаксис ^^^ | (v-entity-arc diameter angle span) (v-entity-arc diameter angle span width) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''diameter'' | Вещественное | диаметр | | ''angle'' | Вещественное | угол начала дуги | | ''span'' | Вещественное | градусная мера дуги | | ''width'' | Вещественное | Толщина линии. По умолчанию 0.0 | ---- ==== Метод "v-entity-line" ==== ^ Описание ^^^ | Создание примитива "отрезок" ||| ^ Синтаксис ^^^ | (v-entity-line start_vector end_vector) (v-entity-line start_vector end_vector width) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''start_vector'' | 3D-вектор | Вектор начала отрезка | | ''end_vector'' | 3D-вектор | Вектор конца отрезка | | ''width'' | Вещественное | Толщина линии. По умолчанию 0.0 | ---- ==== Метод "v-entity-text" ==== ^ Описание ^^^ | Создание примитива "текст" ||| ^ Синтаксис ^^^ | (v-entity-text value) (v-entity-text value height) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''value'' | Строка | Текст | | ''height'' | Вещественное | Высота текста. По умолчанию 1.0 | ---- ==== Метод "v-entity-text-styled" ==== ^ Описание ^^^ | Создание примитива "стилизованый текст" ||| ^ Синтаксис ^^^ | (v-entity-text-styled value height justify id title) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''value'' | Строка | Текст | | ''height'' | Вещественное | Высота текста | | ''justify'' | Целое | Выравнивание | | ''id'' | Строка | Идентификатор FIXME | | ''title'' | Строка | Иднетификатор FIXME | ---- ==== Метод "v-entity-hatch" ==== ^ Описание ^^^ | Создание примитива "штриховка" ||| ^ Синтаксис ^^^ | (v-entity-hatch profile) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''profile'' | Профиль | Профиль, по которому будут определены границы штриховки | ---- ==== Метод "v-entity-curve" ==== ^ Описание ^^^ | Создание примитива "кривая" ||| ^ Синтаксис ^^^ | (v-entity-curve curve) (v-entity-curve curve s1) (v-entity-curve curve s1 s2) (v-entity-curve curve s1 s2 width) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''curve'' | Кривая | Кривая | | ''s1'' | Вещественное | FIXME | | ''s2'' | Вещественное | FIXME | | ''width'' | Вещественное | Толщина линии. По умолчанию 0.0 | ===== Методы работы с векторами ===== ==== Метод "vec" ==== ^ Описание ^^^ | Создание вектора ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec) (vec x) (vec x y) (vec x y z) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''x'' | Вещественное | Координата X. По умолчанию 0.0 | | ''y'' | Вещественное | Координата Y. Если не аргумент не задан, то позвращается вектор со значением аргумента ''x'' по всем трём осям | | ''z'' | Вещественное | Координата Z. По умолчанию 0.0 | ---- ==== Метод "vec-x" ==== ^ Описание ^^^ | Получение координаты X вектора ||| ^ Возвращаемое значение ^^^ | Вещественное ||| ^ Синтаксис ^^^ | (vec-x vector) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector'' | 3D-вектор | Вектор | ---- ==== Метод "vec-y" ==== ^ Описание ^^^ | Получение координаты Y вектора ||| ^ Возвращаемое значение ^^^ | Вещественное ||| ^ Синтаксис ^^^ | (vec-y vector) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector'' | 3D-вектор | Вектор | ---- ==== Метод "vec-z" ==== ^ Описание ^^^ | Получение координаты Z вектора ||| ^ Возвращаемое значение ^^^ | Вещественное ||| ^ Синтаксис ^^^ | (vec-z vector) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector'' | 3D-вектор | Вектор | ---- ==== Метод "vec-len" ==== ^ Описание ^^^ | Вычисление длины вектора ||| ^ Возвращаемое значение ^^^ | Вещественное число ||| ^ Синтаксис ^^^ | (vec-len vector) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector'' | 3D-вектор | Вектор | ---- ==== Метод "vec-dot" ==== ^ Описание ^^^ | Вычисление скалярного произведения векторов ||| ^ Возвращаемое значение ^^^ | Вещественное число ||| ^ Синтаксис ^^^ | (vec-dot vector_1 vector_2) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector_#'' | 3D-вектор | Вектор | ---- ==== Метод "vec-cross" ==== ^ Описание ^^^ | Вычисление векторного произведения ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec-cross vector_1 vector_2) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector_#'' | 3D-вектор | Вектор | ---- ==== Метод "vec-reflect" ==== ^ Описание ^^^ | Вычисление отражения вектора ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec-reflect vector normal) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector'' | 3D-вектор | Вектор | | ''normal'' | 3D-вектор | Нормаль плоскости отражения FIXME | ---- ==== Метод "vec-min" ==== ^ Описание ^^^ | Создание вектора с наименьшими координатами ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec-min vector_1 vector_2) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector_#'' | 3D-вектор | Вектор | ---- ==== Метод "vec-max" ==== ^ Описание ^^^ | Создание вектора с наибольшими координатами ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec-max vector_1 vector_2) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector_#'' | 3D-вектор | Вектор | ---- ==== Метод "vec-clamp" ==== ^ Описание ^^^ | Определение вектора расположенного в пределах заданного диапазона FIXME ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec-clamp vector vector_min vector_max) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''vector'' | 3D-вектор | Вектор | | ''vector_min'' | 3D-вектор | Нижний предел диапазона FIXME | | ''vector_max'' | 3D-вектор | Верхний предел диапазона FIXME | ---- ==== Метод "vec-lerp" ==== ^ Описание ^^^ | Определение вектора расположенного на отрезке (линейная интерполяция) ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec-lerp start end length) ||| ^ Аргумент ^ Тип ^ Описание ^ | ''start'' | 3D-вектор | Первая точка отрезка | | ''end'' | 3D-вектор | Вторая точка отрезка | | ''length'' | Вещественное | Расстояние до определяемой точки | ---- ==== Метод "vec-normalize" ==== ^ Описание ^^^ | Нормализация ветора (приведение к единичному вектору) ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec-normalize vector) ||| | ''vector'' | 3D-вектор | Вектор | ---- ==== Метод "vec-eq" ==== ^ Описание ^^^ | Сравнение векторов ||| ^ Возвращаемое значение ^^^ | Логическое (истина/ложь) ||| ^ Синтаксис ^^^ | (vec-eq vector_1 vector_2) (vec-eq vector_1 vector_2 epsilon) ||| | ''vector_#'' | 3D-вектор | Сравниваемые векторы | | ''epsilon'' | Вещественное | Допустимая погрешность | ---- ==== Метод "vec-add" ==== ^ Описание ^^^ | Сложение векторов ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec-add vector_1 ... vector_N) FIXME ||| | ''vector_#'' | 3D-вектор | Cкладываемые трёхмерные векторы | ---- ==== Метод "vec-sub" ==== ^ Описание ^^^ | Вычитание векторов ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Примечание ^^^ | Если аргумент ''!args'' не задан, то возвращается отрицательный вектор аргумента ''vector'' ||| ^ Синтаксис ^^^ | (vec-sub init_vector) (vec-sub init_vector vector_1 ... vector_N) FIXME ||| | ''init_vector'' | 3D-вектор | Вектор из которого производится вычитание | | ''vector_#'' | 3D-вектор | Вычитаемые векторы. Если не заданы, то возвращается отрицательный вектор аргумента ''vector'' | ---- ==== Метод "vec-mul" ==== ^ Описание ^^^ | Умножение вектора на скаляр ||| ^ Возвращаемое значение ^^^ | 3D-вектор ||| ^ Синтаксис ^^^ | (vec-sub vector multiplier) ||| | ''vector'' | 3D-вектор | Умножаемый вектор | | ''multiplier'' | Вещественное | Множитель |