Содержание статьи
Область взаимодействия атрибутов
Атрибуты могут получать данные из других атрибутов. Для этого есть несколько вариантов обращения, в зависимости от их расположения. Но область работы обращений ограничена текущим уровнем вложенности или одним уровнем выше (родительский компонент).
С помощью обращения нельзя получить данные другого атрибута, который находится на уровень ниже (дочерний компонент). Таковы правила динамических компонентов SketchUp.
Текущий компонент
Чтобы получить данные из другого атрибута текущего выбранного компонента, достаточно ввести в формулу с именем этого атрибута, начиная со знака равно. Например:
=l1_component_301_thickness
Соседний компонент
Если нужно обратится к атрибуту другого компонента, который находится на этом же уровне вложенности, нужно сначала обратится к этому компоненту, вписав его имя объекта.
Вот так в этом случае будет выглядеть формула:
=panel_1!l1_component_301_thickness
Родительский компонент
Если атрибут находится уровнем выше (родительский атрибут), то нужно добавить обращение к родителю (parent!), которое записывается так:
=parent!l1_component_301_thickness
Перенос атрибутов
Довольно часто нужны значения атрибутов, которые находятся на несколько уровней выше. В этом случае одна функция parent! не поможет, т.к. она может получить значения атрибутов только из родительского компонента (один уровень выше). Но можно сделать перенос атрибутов. Для этого требуется на каждом промежуточном уровне создать требуемый атрибут и формулой обратиться к этому же атрибуту в родительском компоненте.
Например, нужно получить данные из атрибута l1_component_301_thickness, который находится на несколько уровней выше. Для этого на каждом промежуточном уровне создаём атрибут l1_component_301_thickness и записываем в него формулу:
=parent!l1_component_301_thickness
Таким образом можно перенести значение любого атрибута через несколько уровней вложенности.