Инструменты пользователя

Инструменты сайта


Боковая панель

developers:tutorial:tlc_dictionary

Содержание

Справочник команд TLC

В данном справочнике представлены только методы и свойства расширяющие функционал языка LISP (LISt Processing), разработанные НПФ Топоматик

Методы

Важно! Если для аргумента указан тип 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)
    )
  )
)
Результат

Метод 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 Вещественное Множитель
developers/tutorial/tlc_dictionary.txt · Последние изменения: 2023/02/19 19:03 — proxor