Собственные функции динамических компонентов
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) текущей модели. Высота определяется как угол между вектором к солнцу и горизонтальной плоскостью.