Собственные функции динамических компонентов

SketchUp

Функция

[Шпаргалка]

Значение

Пример SketchUp

CHOOSE(index,value1,value2, ...valueN)

[Выбрать]

Функция CHOOSE возвращает значение из списка параметров (value1,value2, ...valueN), исходя из номера позиции "index". Эта функция позволяет создать (вместе с OPTIONINDEX) раскрывающийся список, который содержит несколько значений атрибутов на выбор.

Используйте CHOOSE и OPTIONINDEX вместе в качестве механизма назначать различные значения, в зависимости от выбора пользователя, в диалоговом окне "Component Options" (Параметры компонента). Например, если диалоговое окно "Component Options" позволяет пользователю выбрать различные материалы для компонента (и цена меняется в зависимости от выбранного материала), Вы можете создать формулу для MSRP (Аббревиатура «MSRP» расшифровывается как «Manufacturer's Suggested Retail Price». Перевод с английского - «Рекомендованная производителем розничная цена»).

Пример 1:

=CHOOSE(2,"Blue","Red","Green")

Выдает результат: "Red."

Пример 2:

=CHOOSE (OPTIONINDEX("Material"), 100, 150, 200)

Выдает результат: 100, 150, or 200 в зависимости от выбранного материала в диалоговом окне "Component Options"

CURRENT("attributeName")

[текущий]

Функция "CURRENT" принимает "attributeName" (имя атрибута) и возвращает значение атрибута, которое назначил пользователь SketchUp. Эта функция позволяет делать проверку поведения инструмента масштабирования (Scale Tool) или перемещения (Move Tool).

Пример 1:

=ROUND(CURRENT("LenX")/2)*2

При изменении значения "LenX", этот пример ограничивает изменение размера компонента по оси X шагом 2 дюйма(/см?).

EDGES()

[ребра]

Функция EDGES возвращает число "несгруппированных" ребер (линий) внутри компонента или группы, поэтому эта функция является внутренней.

FACEAREA("materialName")

[площадь материала]

Метод FACEAREA возвращает площадь (в квадратных дюймах) каждой "разгруппированной" грани, которая окрашена в "materialName" (название материала). Метод FACEAREA возвращает общую площадь всех несгруппированных граней, когда "materialName" не указан, причем посчитает два раза (обе стороны (лицевую и обратную)).

Пример 1:

=FACEAREA("Oak")

Выдает площадь материала Oak внутри компонента или группы.

FACES()

[грани]

Функция FACES возвращает количество "разгруппированных" граней внутри компонента или группы, эта функция является внутренней.

LARGEST(value1,value2,...valueN)

[Наибольшее]

Функция LARGEST возвращает наибольшее из значений списка (value1,value2,...valueN).

Пример 1:

LenX=LARGEST(CURRENT("LenX"), 20, 10)

Этот пример ограничивает компонент в масштабировании по оси X, поэтому он не может быть масштабируем на значение, меньшее чем крупнейшее из трех чисел (или значение Lenx, или 20 или 10):

LAT()

[широта]

Функция LAT возвращает широту текущей модели SketchUp.

LNG()

[долгота]

Функция LNG возвращает долготу текущей модели SketchUp.

NEAREST(originalValue, value1, value2, ...valueN)

[ближайший]

Функция NEAREST сравнивает значение "originalValue" со списком значений "value1, value2, ...valueN", и возвращает целевое значение, которое ближе всего к "originalValue".

Пример 1:

= NEAREST(CURRENT("LenX"),24,36,48)

При вводе значения в поле Lenx, этот пример вызовет привязку компонента к ближайшей ширине 24,36, или 48 после масштабирования.

OPTIONINDEX("attributeName")

[значение опции]

Функция OPTIONINDEX возвращает значение выбранной опции из списка строк "attributeName" с различными атрибутами. Например, если атрибутом является список: "red","blue", и "green"; и "blue" - текущее значение, эта функция вернет 2. Если совпадений не найдено, возвращается 0.

OPTIONLABEL("attributeName")

[название опции]

Функция OPTIONLABEL возвращает название выбранной опции из списка строк "attributeName" с различными атрибутами. Например, если атрибутом является список: "Red=red"", "Blue=blue" или "Green=green", и blue - текущее значение, эта функция возвращает "Blue". Если совпадение не найдено, возникает ошибка.

SMALLEST(value1,value2,...valueN)

[наименьший]

Функция SMALLEST возвращает наименьшее из значений в списке.

Пример 1:

=SMALLEST(CURRENT("LenX"),20, 10)

Этот пример ограничивает компонент в масштабировании по оси X, поэтому он не может быть масштабируем на значение, большее, чем наименьшее из трех чисел (или значение Lenx, или 20 или 10):

SUNANGLE()

[угол солнца к северу (в горизонтальной плоскости)]

Функция SUNANGLE возвращает угол (в градусах) между солнцем и северным направлением текущей модели.

SUNELEVATION()

[угол солнца к горизонтальной плоскости (в вертикальной плоскости)]

Функция SUNELEVATION выдает высоту Солнца (в градусах) из настроек тени (shadow settings) текущей модели. Высота определяется как угол между вектором к солнцу и горизонтальной плоскостью.