Правило Развернуть контейнер применяется для разворачивания схем путем добавления объектов содержания, относящихся к следующему:
- Они содержатся в контейнере входных данных схемы.
- Они разделяют тот же контейнер, что и содержание входных данных схемы.
Правило Развернуть контейнер разворачивает контейнеры по классу источника или таблице объекта или по категориям сети. Когда правило настроено для обработки в классе источника контейнерной сети или таблице объектов, вы можете отфильтровать эти контейнеры по атрибутам.
В схемах, где все контейнеры развернуты, вы можете заметить следующее:
- Любой контейнер точек в сети, например, структурное соединение, распределительный или передающий механизм, отображается как контейнер-полигон, геометрия которого рассчитана таким образом, чтобы этот контейнер отображался в виде прямоугольника вокруг своего содержимого.
- Любой линейный контейнер, например, структурное ребро, отображается рядом со связанными пространственными и другими объектами содержимого. Он может быть соединен с контейнерами-полигонами, где эти контейнеры развернуты.
Когда к схеме будет применен алгоритм компоновки, вы сможете настроить эту компоновку, чтобы она работала одним из двух способов:
- На верхнем графе схемы сохраняется относительное расположение следующих элементов:
- Всех пространственных и других объектов содержимого, связанных со структурным соединением или сборкой устройства внутри контейнера-полигона устройства сборки
- Всех пространственных и других объектов содержимого, связанных с линейным контейнером вокруг его линейного контейнера схемы, пытаясь отобразить их вдоль этого линейного контейнера.
- На объектах содержания и всех других объектах в схеме, не делая никакой разницы между ними.
Выполнение правила Развернуть контейнер
В следующих примерах показано, как правило Развернуть контейнер обрабатывает контейнер, а также пространственные и другие объекты содержимого, которые имеются в схемах по умолчанию.
Схема А – правило Развернуть контейнер выполняет обработку точечных и линейных объектов и других объектов содержимого
На первом изображении внизу показана схема А перед выполнением правила Развернуть контейнер. Эта схема отображает ребро структуры, соединяющее два структурных соединения. Эти структурные соединения и ребра являются контейнерами, которые в схеме не развернуты. Это представление контейнеров сети в схемах по умолчанию, когда в схеме не представлено ни одного связанного объекта содержания.
На втором изображении внизу показана схема А после выполнения правила Развернуть контейнер. Когда правило выполняется, оно извлекает все содержимое, относящееся к каждому структурному соединению контейнера и ребру контейнера и затем добавляет их на схему. Далее оно заменяет каждое структурное соединение контейнера на полигональный контейнер и вычисляет геометрию полигонального контейнера, чтобы он рисовался вокруг всех пространственных и других объектов содержания схемы.
Схема B – обработка объектов содержания правилом Развернуть контейнер
Предположим, что для создания схемы пользователь выбрал в качестве входных данных несколько пространственных или других объектов содержания сети – одна шина, соединенная с двумя точками подключений. Внизу на первом изображении показан исходный граф схемы, полученный на этапе построения.
На втором изображении внизу показано содержание схемы на завершающей стадии этого этапа построения, непосредственно перед началом действия правила Развернуть контейнер. Поскольку шина была идентифицирована как объект содержимого, правило Развернуть контейнер автоматически добавило в схему линейный контейнер этого объекта. Таким же образом, поскольку каждая точка соединения, представленная в схеме, была пространственным или другим объектом содержимого, правило автоматически добавило в схему связанный с точками контейнер-полигон.
На третьем изображении внизу показана схема, полученная после завершения процесса выполнения правила Развернуть контейнер. Правило извлекает все содержимое, связанное с каждым линейным и полигональным контейнером, представленным на схеме, и добавляет эти пространственные объекты и объекты содержимого в схему. Затем он повторно вычисляет геометрию каждого полигонального контейнера, чтобы каждый из них отображал все свои пространственные и другие объекты содержимого.
Конфигурация правила Развернуть контейнер
Инструменты, которые можно использовать для добавления правила Развернуть контейнер в шаблон – Добавить правило Развернуть контейнер, Добавить правило Развернуть контейнер по атрибутам и Добавить правило Развернуть контейнер по категории.
- Используйте инструмент Добавить правило Развернуть контейнер для настройки автоматического развертывания всех контейнеров схемы на основе определенных классов источников таблиц сети и таблиц объектов. Он позволяет задать список классов источников сети и таблиц объектов и настроить либо расширение каждого пространственного объекта или другого объекта сети, принадлежащего к этим классам источников сети или таблицам объектов, либо расширение любого пространственного объекта или другого объекта, который не входит в указанные классы сети и таблицы объектов.
- Используйте инструмент Добавить правило Развернуть контейнер по атрибутам для настройки развертывания контейнеров схемы на основе одного определенного исходного класса сети или таблицы объектов, отбирая эти контейнеры по их атрибутам.
- Используйте инструмент Добавить правило Развернуть контейнер по категории, чтобы настроить разворачивание контейнеров, помеченных определенными категориями сети или не помеченные ими.
Примечание:
Инструмент Добавить правило Развернуть контейнер по категории применим только к Инженерной сети версии 7 и более поздних версий.
Подсказка:
При настройке правил схемы по атрибутам вы можете фильтровать объекты схем по значениям атрибутов источников сети относительно других значений атрибутов объектов схемы, используя следующее специальное выражение SQL: WHERE 'OBJECT' = 'IN_DIAGRAM'. Например, чтобы построить зарос к объекту схемы с минимальным значением атрибута в созданной схеме, вы можете настроить любой инструмент Добавить <XXX> по правилу атрибута с выражением SQL на основе следующего синтаксиса: <attributeName> = (SELECT MIN(<attributeName>) FROM <networkClassName>) WHERE 'OBJECT' = 'IN_DIAGRAM'.