<< Оглавление >> Смещение структурных линий |
|
Можно делать смещение геолиний, тополиний, 3D полилиний и структурных линий.
Для команды офсет (смещение) логически замкнутые контура (полилинии, СЛ, границы...) должны быть логически замкнутыми с позиции платформы (не только физически, графически замкнутыми).
В Нанокад 23 работа с такими контурами правильна (в 22 ошибка).
В новом контуре идентифицируются узлы и правильно расставляются отметки.
Создается новый (целевой) объект, смещенный на указанное расстояние от базового объекта. Объект создается только в случае, если он является непрерывным. Отметки в вершинах смещенного объекта вычисляются с учетом уклона по линиям – перпендикулярам к соответствующим элементам базового объекта.
В случае смещения угла наружу в целевой контур добавляются (при необходимости) дополнительные вершины, образующие плоский угол. Отметки во всех вершинах плоского угла совпадают.
В случае смещения угла вовнутрь отметка в точке в общем случае неоднозначна, поэтому создается логически точка с двойной отметкой, т. е. реально две точки с одинаковыми координатами, но разными отметками. При вырождении последовательности элементов базового объекта в точку отметка в этой точке является двойной и считается от невырожденных элементов базового объекта.
В случае, когда количество вершин смещенной линии не совпадают с исходной, возникает проблема, какие элементы являются вырожденными и какие добавлены. Соответственно не известно, какие отметки в полученных точках. Для решения проблемы находятся вырожденные линии и точка на смещенном объекте, в которую эти линии вырождаются. Отметка в точке получается двойной и считается по невырожденным линиям, которые в пересечении задают эту точку. Аналогично с дугами.
В частном случае вырожденные точки могут лежать на одной линии. Тогда вырожденная линия определяется неоднозначно. В этом случае получается двойная отметка в вершине, которая считается по первой и последней невырожденной линии, т. е. считаем, что вырождаются средние элементы.
Опциональная настройка для смещения структурных линий: выводить дополнительные точки на внешних углах или нет плюс минимальное расстояние для этих точек.
Дополнительные точки – на внешних углах, минимальное расстояние (меньше – не добавляются).
Двойные отметки – на внутренних.
Еще раз: некоторые особенности алгоритма смещения структурных линий:
На рисунке внешняя черная линия получена путем смещение внутренней, при этом отметки вычисляются при помощи заданного уклона. По такому правилу можно вычислить отметки в точках A1 и A2. Отметки в любой точке отрезков (A1,B) и (B,A2) остаются неизвестными. Поскольку отметки в точках A1 и A2 всегда одинаковы, то логично положить отметки любой точки отрезков (A1,B) и (B,A2) равными отметке A1 (или, что эквивалентно, A2). Таким образом, в результате смещения образуется «плоский» угол <A1, B, A2>.
В случае, если используется флаг «не добавлять дополнительные точки», то точки A1 и A2 не вычисляются, поэтому заданный пользователем уклон сохраняется между точками А и В. Но поскольку расстояние АВ и А А1 разные, то и отметки в точке В в этих двух случаях будут отличаться.
Такие два способа создания смещения необходимы для того, чтобы корректно отрабатывать ситуации, когда отметки в точках C и D разные. В таком случае смещенные по правилу перпендикуляров прямые AC и AD в трехмерном пространстве могут не пересекаться (такой проблемы не возникает, если мы работаем в одной плоскости), поэтому не определена отметка в точке В. В результате появляется возможность выбора: или добавлять дополнительные точки А1 и А1, или же считать уклоны не по правилу перпендикуляров, а по принципу ближайшей точки, т. е. уклон между точками А и В.