====== Справочник команд 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'' | Вещественное | Множитель |