Правила согласования геометрических сетей
Правила редактирования стандартной геометрической сети, приведенные в разделе по редактированию, учитываются и применяются к согласованию и разрешению конфликтов. Ниже приведены основные правила.
-
У ребра всегда должно быть как минимум два соединения, по одному на каждом конце.
-
Простые ребра не поддерживают связность в середине ребра; сложные ребра поддерживают связность в середине ребра.
-
Системные соединения не могут быть отнесены друг к другу.
При согласовании не будут создаваться новые объекты. Сюда относятся объекты системных соединений.
Конфликты возникают если один и тот же объект изменен как в родительской/целевой, так и в дочерней/редактируемой версии. Обновление можно внести в связность и/или геометрию/атрибуты. В следующих примерах подробно рассмотрены примеры возникновения конфликтов и их разрешения в геометрических сетях. Каждый пример согласования конфликта, вызванного изменениями объекта, выполнен в пользу целевой версии. В каждом приведенном примере версия 1 является родительской (целевой), а версия 2 – дочерней (редактируемой).
В сценарии 1 рассматривается пример изменения геометрии пространственного объекта как в родительской, так и в дочерней версиях. Объект сложное ребро (CEF1) редактировался в обеих версиях, что было идентифицировано как конфликт в процессе согласования.
Хотя сложное ребро не редактируется напрямую, в версии 1 создается новое соединение в средней точке, а в версии 2 создается новое ребро и соединение в средней точке, что приводит к появлению новой вершины в сложном ребре. Так как геометрия ребра обновляется в обеих версиях, в процессе согласования идентифицируется конфликт.
В сценарии 2 рассматривается пример обновления связности для объекта-соединения как в родительской, так и в дочерней версиях. В версии 1 ребро удаляется из связанного соединения, в то время как в версии 2 создается новое ребро, связанное с тем же соединением. И, хотя при этом связность для соединения изменяется в обеих версиях, в процессе согласования конфликтов не обнаруживается.
Если обновление затрагивает только связность объекта в двух версиях, сам объект не приводит к конфликту при согласовании. В процессе согласования обнаруживается только изменения связности объектов в каждой версии и удаление этих объектов как конфликтов.

В сценарии 3 рассматривается пример удаления пространственного объекта в родительской версии и обновления связности в дочерней версии. В версии 1 удаляется соединение, связанное с 3 ребрами, в то время, как в версии 2 создается новое ребро, связанное с соединением, которое удалено в версии 1. В процессе согласования идентифицируется конфликт объекта-соединения и нового ребра.
В этом примере в конфликт вовлечен новый, создаваемый объект. Если соединение в конечной точке ребра, которое было создано в дочерней версии, было удалено в родительской версии, новое, созданное ребро является причиной конфликта. Если на вновь созданное ребро конфликт не распространяется, проблема может возникнуть в процессе разрешения конфликта, так как вновь созданное ребро не может быть восстановлено. Сценарий 3 иллюстрирует пример, где два конфликтующих объекта отсутствуют после согласования, так как согласование выполнено в пользу целевой версии. Так как вновь созданное ребро не участвует в конфликте, нет возможности восстановить его в процессе согласования. Новое ребро будет потеряно.

Сценарии 3а иллюстрирует ситуацию, обратную сценарию 3. Новое ребро создается и связывается с соединением в версии 1. То же самое соединение удаляется в версии 2. В процессе согласования конфликт вызывает соединение, удаленное в версии 2. Ребро, созданное в родительской версии, конфликта не вызывает.

В сценарии 4 рассматривается пример обновления атрибутов в родительской версии и обновления связности в дочерней версии. В версии 1 обновляется атрибут ребра CEF 1, в то время как в версии 2 обновляется связность ребра, так как удаляется объект-соединение. При этом обновления ребра в версии 2 могут затрагивать как связность, так и геометрию. Оба объекта – и ребро, атрибут которого обновляется в версии 1, и соединение, которое удалено в версии 2, являются причиной конфликта при согласовании.
В этом примере в конфликт вовлечены существующие объекты. Обновление атрибута для ребра CEF1 распространяется на связанные с ним соединения. Когда одно из соединений изменилось в версии 2, это привело к возникновению конфликта.

Отсоединенное состояние объектов не учитывается и не сохраняется. Объекты, которые были отсоединены до согласования, могут быть связаны после него. Это происходит, если сам объект или объект, с которым он совпадает, редактируется в версии, которая выбрана как приоритетная при разрешении конфликтов в диалоговом окне Опции согласования (Reconcile options).