Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лазерное сканирование 2014 / Литература Лекции / Середович В.А., Комиссаров А.В., Комиссаров Д.В., Широкова Т.А. Наземное лазерное сканирование. 2009

.pdf
Скачиваний:
680
Добавлен:
26.04.2015
Размер:
8.89 Mб
Скачать

моделировании фундаментов резервуаров и технологических аппаратов

(рис. 94);

Рис. 94. Трехмерные модели опор под трубопроводами

моделирование кабельных эстакад и их элементов. На технологических объектах существует большое количество надземных кабельных эстакад, обеспечивающих электроснабжение и работу средств автоматики и связи. Конструкция таких эстакад состоит из опор, на которые крепятся фермы. На фермы устанавливаются кабельные стойки с полками. Трехмерные модели кабельных эстакад создаются из геометрических тел, соответствующих по форме реальным элементам эстакады (рис. 95).

Рис. 95. Трехмерные модели кабельных эстакад

Примеры трехмерных векторных моделей, созданных в программном продукте Cyclone, представлены на рис. 96, 97, 98 и 99.

Рис. 96. Трехмерная модель Рис. 97. Векторная модель

Новосибирского

зрительного зала

судоходного шлюза

Новосибирского областного

 

кукольного театра

Рис. 98. Векторная модель

Рис. 99. Фрагмент цифровой

здания управления ОАО

трехмерной модели

«Сибнефть» г. Ноябрьска

установки комплексной

(фасад)

подготовки газа

На основе созданной трехмерной модели объекта в ПП Cyclone можно построить ее срез (рис. 100) с использованием функции Create

Object Slice by Reference Plane.

Трехмерную модель объектов ситуации можно создавать с помощью трехмерных полилиний и чертежей профилей. Для этих целей в ПП Cyclone реализованы два режима рисовки полилиний: автоматический (рис. 101) и интерактивный.

Рис. 100. Срез векторизованной трехмерной модели здания управления ОАО «ННГ-Сибнефть» (г. Ноябрьск) на уровне четвертого этажа

Рис. 101. Вызов функции автоматического встраивания полилиний

После вызова функции Create Object Fit Edge появляется диалоговое окно автоматического встраивания полилиний (рис. 102), в котором указывается поперечный срез объекта, по которому необходимо создать структурные линии. После этого оператор показывает места, в которые необходимо встроить полилинии (белые кресты на рис. 102), и нажимает кнопку Fit.

Рис. 102. Диалоговое окно встраивания полилиний в автоматическом режиме

На последнем этапе программа предлагает оператору выбрать степень сглаживания встраиваемых полилиний, после чего действие функции завершается.

В интерактивном режиме рисовки полилиний оператор указывает точки на точечной модели, которые должны являться узлами полилинии, и затем при помощи функции Create Object From Pick Point Poliline вписывает ее.

3.6.Трехмерное моделирование объектов сложной геометрической формы в программном продукте RapidForm

Программный продукт RapidForm 2006 состоит из нескольких модулей, каждый из которых содержит стандартный и специальный набор инструментов.

Введем понятия некоторых внутренних терминов, используемых в ПП RapidForm. Точка, координаты которой измерены в процессе сканирования, называется Vertex. По точкам (Vertex) строится полигональная модель – Shell, представляющая собой набор треугольников, каждый из которых называется

Face [144, 145].

Для всех модулей стандартным набором инструментов является:

меню File, содержащее функции, которые являются характерными для большинства программных продуктов (например, создать новый проект, открыть ранее созданный, сохранить, импорт/экспорт, настроить параметры печати, изменить свойства отображения объекта и т. д.);

меню Select, включающее инструменты выборки, позволяющие выделять примитивы с использованием различных параметров (например, выделить видимые точки, точки вдоль границы объекта и т. д.);

меню Edit, в которое входят функции редактирования (вырезать, копировать, вставить, удалить и т. д.). В модулях Curve и Surface меню Select и Edit отсутствуют;

меню Measure, с помощью которого можно выполнить различные измерения (длин линий, площадей, объемов и т. д.). В каждом модуле ПП

RapidForm можно изменить количество используемых инструментов. В модуле Color данное меню отсутствует;

меню Information, предназначенное для получения различной информации как о модели всего объекта, так и об отдельных ее элементах (например, информацию о полигональной модели: в виде количества точек, треугольников, из которых она состоит, ее объема и т. д.);

меню Ref. Geometry, содержащее инструменты для создания геометрических примитивов по заданным параметрам и их редактирования (например, построение цилиндра заданного радиуса, проходящего через указанную точку (Vertex));

меню View, в котором представлены инструменты визуализации, включающие опции масштабирования, отображения полигональной модели, изменения точки вращения и т. п.;

меню Macro, включающее функции, разработанные пользователем. Создание цифровой модели объекта в виде NURBS-поверхности с

использованием данных НЛС и ПП RapidForm заключается в следующем. Обработку данных сканирования следует начинать в модуле Scan.

Инструменты данного модуля содержатся в меню Build. На первом этапе выполняется приведение сканов к единой системе координат. Оно реализуется при помощи инструмента Build Register 2Shells. При этом система координат одного из сканов принимается за основную (базовую), и к ней приводятся все остальные сканы. Существует несколько вариантов ориентирования сканов:

автоматический режим, при использовании которого алгоритмы, реализованные в ПП, находят соответствие между сканами в области их

перекрытия.

Данный процесс выполняется при

помощи функции

Build Register

Fine. При работе с ПП RapidForm

можно производить

ориентирование двух и более сканов одновременно;

 

интерактивный режим подориентирования сканов (рис. 103). В этом случае оператор указывает три соответствующие точки на сканах и при помощи функции Build Register 2 Shells Pick 3 Ref. Points второй скан преобразуется в систему координат первого.

Рис. 103. Окно регистрации двух сканов

Следующим действием является объединение ориентированных сканов в единую точечную модель с помощью функции Build Merge Point Clouds. Эта процедура также применяется для объединения нескольких полигональных моделей (Build Merge Shells Meshes Surface). Создание полигональной модели (Shell) по точечной модели осуществляется путем выполнения функции Build Triangulate Surface 3D. При этом в появившемся диалоговом окне оператор выбирает вид расчета расстояния между точками (Automatic Decision, Manual Decision и Distant Scan-Line Data Set), которые будут участвовать в построении полигональной модели. Для построения полигональной модели можно использовать так называемые настройки «по умолчанию». В ПП RapidForm имеется инструмент Build Triangulate Surface 2D, позволяющий строить полигональную модель, спроецированную на плоскость.

После объединения всех сканов или полигональных моделей в единую выполняется процесс ее фильтрации и сглаживания с помощью функций

Build

Filter Redundancy, Build Filter Noise, Build Filter Redundancy,

Build

Smooth Points и др.

С использованием инструментов модуля Polygon проводятся различные преобразования полигональной модели. Сначала рассмотрим действия, наиболее часто применяемые для редактирования Shell, а затем набор функций для его преобразования по желанию оператора.

В большинстве случаев на полигональной модели необходимо сгладить выступающие в некоторых местах вершины Face по отношению к близлежащим. Для этого активируется функция меню Tool Smooth Shell, которая действует на всю Shell. В диалоговом окне предлагается выбрать метод сглаживания и настроить для него опции. Пользователь имеет возможность в интерактивном режиме сгладить необходимые участки полигональной модели с помощью инструмента Tool Smooth Paint, при этом также можно изменять параметры сглаживания. На рис. 104 показана полигональная модель до и после сглаживания.

После этого рекомендуется перестроить полигональную модель с помощью функции

Tool

Remesh

Global. Данная операция

 

применяется для всей Shell. Для выполнения

 

этой операции на отдельном участке

 

полигональной

модели, предварительно

 

выделенном

инструментами

меню

Select,

 

используется

 

 

 

процедура

 

Tool

Remesh

Local.

 

 

Рис. 104. Полигональная

С

помощью

функций

меню

Clean

модель до и после

необходимо

найти

и удалить

неправильные

сглаживания

треугольники (Face), нормали к которым

 

развернуты

в

противоположную

сторону

 

относительно близлежащих полигонов, пересекающиеся треугольники и др. В ПП RapidForm предусмотрена возможность исключения четырех типов

Рис. 105. Результат применения функции
Clean Find Abnormal Faces

неправильных Face. Инструмент Clean Find Abnormal Faces позволяет найти и выделить сразу все виды неправильных треугольников. При этом выдается информация о количестве неправильных треугольников каждого типа, и их грани отображаются соответствующим цветом. На рис. 105 показан результат применения данной функции.

Инструменты меню Clean позволяют сразу удалять два вида неправильных треугольников с помощью опций меню Clean Non-manifold Faces и Clean Crossing Faces. С

использованием инструментов Find Self Intersection и Delete Spikes выделяются и удаляются с правильных Face «плохие» треугольники по заданным критериям.

Например, для выполнения

процедуры

Clean Delete Spikes критериями

являются:

площадь Face меньше введенного значения, длина стороны меньше указанной и т. д.

Функция Clean Delete Singularities позволяет найти и удалить Vertex, не участвующие в построении Face, исключить «кластеры» с

большим количеством треугольников, когда от одного Vertex выходит много граней до соседних Vertex и треугольники получаются слишком мелкие, и выполнить другие операции с полигональной моделью.

После удаления неправильных и «плохих»

 

треугольников

необходимо

приступить к

 

заполнению пустот в полигональной модели

 

(«дырок»). Инструмент Tool

Fill

Holes

 

позволяет это сделать двумя способами. В

 

первом

случае инструментом

Tool

Fill

 

Holes

Volume

оператор

 

указывает

 

обрабатываемую полигональную модель, в

 

диалоговом окне задает критерии заполнения

Рис. 106. Полигональная

«дырок» (например, количество итераций при

модель с пропущенными

расчете).

Программа

самостоятельно

треугольниками и после ее

анализирует и заполняет пропуски, при этом

заполнения

может оптимизировать Shell, если эта

 

процедура была выбрана при запуске данной

функции. На рис. 106 показана полигональная модель до и после применения функции Tool Fill Holes Volume.

При использовании инструмента Tool Fill Holes Surface оператор указывает полигональную модель, программа отыскивает места пропусков, выделяя при этом стороны Face, находящиеся на границе пропусков. С помощью появившейся на экране кнопки оператор может просматривать все «дырки» на Shell. Далее, выделяя один или несколько пропусков, оператор задает

способ и критерии заполнения «дырок» (например, плоскими треугольниками, сглаживающими границы между имеющимися полигонами, или с помощью сплайн-функций, описывающих некую кривую). При наличии сложных участков модели, а также больших пропусков (по сравнению с остальными), пользователь может перед заполнением «дырок» построить «мостики» между противоположными гранями Face, с помощью которых поверхность будет более правильно передавать форму Shell. Для построения «мостиков» используются те же способы, что и для заполнения «дырок». Затем находятся более мелкие пропуски и заполняются. На рис. 107 показан процесс построения вспомогательных «мостиков» для заполнения пропущенных треугольников.

 

После

 

заполнения

пропущенных

 

треугольников

необходимо

 

еще

раз

 

проверить

наличие

неправильных

Face.

 

Если они имеют место, то их надо удалить и

 

снова

заполнить

«дырки».

Следует

 

учитывать, что у объектов, представляющих

 

собой какую-либо пластину (например, плита

 

с рельефным рисунком), программа будет

 

считать «дыркой» всю границу объекта, и

 

будет ее заполнять с использованием

 

функции Tool

Fill Holes

 

 

 

 

Рис. 107. Построение

Volume.

 

 

 

 

 

 

Перечисленные выше инструменты

и

вспомогательных «мостиков»

действия

 

обязательны для

выполнения

для заполнения пропущенных

 

подготовки

 

полигональной

 

модели

к

треугольников с помощью

 

 

последующему построению по ней NURBS-

функции Tool Fill

поверхности.

При

математическом

Holes Surface

описании сложных поверхностей наиболее

 

эффективным средством являются сплайнфункции [134]. Рассмотрим некоторые функции меню Tool, с помощью которых можно преобразовать Shell с целью более детального построения NURBSповерхности:

Tool Subdivide позволяет разбить каждый Face еще на три или четыре треугольника в зависимости от выбранной опции. Данная функция применима как для всей полигональной модели (Shell), так и для выделенной области

(Region);

Tool Decimate уменьшает количество треугольников (при этом укрупняя их) полигональной модели в соответствии с критериями, заданными пользователем в диалоговом окне;

Tool Weld Shells предназначена для объединения нескольких полигональных моделей в одну;

Tool Trim Region удаляет или перемещает в новую полигональную модель треугольники, расположенные внутри кривой. При этом стороны

граничных треугольников, построенных на Shell, располагает вдоль кривой линии (curve);

Tool Divide Mirror разрезает полигональную модель вдоль заданной референцной плоскости или полилинии и зеркально отображает выбранную часть модели относительно заданной плоскости. Для этого существует несколько опций – удаление выбранного участка, копирование его в другую Shell и прочее;

Tool Divide (with Polyline, with Curve, with Surface, with Solid)

позволяет разрезать полигональную модель соответственно вдоль полилинии, кривой линии, поверхности или объектом в виде Solid;

Tool Fit Shell To Point Cloud приближает сглаженную полигональную поверхность к вершинам (Vertex), по которым она была построена (предварительно необходимо создать копию исходных сканерных данных);

Tool Fit Edges To Curves располагает стороны треугольников полигональной модели вдоль кривой линии, построенной на Shell. При этом редактируются только полигоны, близлежащие к кривой. На рис. 108 показан результат применения данного инструмента;

Рис. 108. Результат применения функции Tool Fit Edges To Curves

Tool Fit Boundary To Curves применяется обязательно, если у моделируемого объекта есть граница. Стороны треугольников полигональной модели, находящиеся у границы, «дотягиваются» до кривой линии, описанной вдоль этой границы;

Tool Fit Regions To Plane (Cylinder, Sphere, Cone, Torus, Box)

вписывает выделенную область полигональной модели в заданную фигуру – плоскость, цилиндр, шар, тор, параллелепипед. Эти фигуры могут быть построены инструментами меню Ref. Geometry или заданы параметрами, предлагаемыми ПП RapidForm;

Tool Deform By Curve (Free-Form Deformation, Paint, Trackball) –

инструменты деформации полигональной модели. Например, на Shell строится кривая, вдоль нее выделяются Face, которые подлежат изменению. Оператор перемещает кривую в нужном направлении, тем самым деформирует полигональную модель;

Tool Engrave Engrave Text выполняет нанесение на полигональную модель каких-либо текстовых надписей или их редактирование.

инструмент,
Рис. 109. Полигональная модель с построенной на ней сеткой кривых линий

Следующий этап построения NURBS-поверхности по полигональной модели заключается в разделении ее на участки кривыми линиями (сплайнами), которые строятся и редактируются инструментами модуля Curve.

При построении сплайнов по полигональной поверхности наиболее часто используемыми инструментами меню Curve являются:

Curve Create Interpolate построение кривой линии в интерактивном режиме. При этом оператор может выбирать точку, к которой будет «привязываться» будущая линия (к точке на Face, к Vertex, к референцной точке) и редактировать положение точек в процессе построения кривой. На заключительном этапе можно задать тип построения линии (Generate Intermediate Points – отрезок линии между выделенными точками будет проходить через близлежащие вершины треугольников, Leave As It Is – линия строится только по выделенным точкам);

Curve Create Slice – построение кривых линий относительно выбранной оси (осей) системы координат полигональной модели или любой другой оси, указанной пользователем, на заданном расстоянии друг от друга;

Curve Create Fit Boundary – вписывание кривой линии в границу объекта, при этом пользователь может задать процент ее сглаживания. Данный инструмент применяется всегда для объектов, имеющих границу;

Curve Create Mirror – зеркальное отображение кривых линий относительно линии (плоскости) симметрии.

Для дальнейшего использования построенных кривых линий необходимо их преобразовать, а именно представить в виде ячеек. Ячейка должна иметь четыре стороны (каждая сторона представляет отдельную кривую линию), соединенных между собой последовательно в узлах. При этом хотя бы одна линия должна иметь направление построения против часовой стрелки. На рис. 109 показана полигональная модель с построенной сеткой кривых линий.

При работе с ПП RapidForm наиболее часто используются следующие инструменты редактирования сплайнов:

Curve Edit Reverse – изменить направление сплайна;

Curve Edit Make Closed – превратить в замкнутый сплайн;

Curve Edit Deform – откорректировать положение сплайна по контрольным точкам (точкам, которые лежат на Face);

Curve Edit Interpolation Points –

отредактировать точки на сплайне (вставить, переместить, удалить);

Curve Edit Transform – повернуть,

переместить, масштабировать сплайн относительно осей системы координат по заданным оператором параметрам;

Curve Trim – позволяющий

разрезать сплайны (Curve

Curve

– разделить кривые линии в точке их

пересечения на две, Curve

Surface

– разрезать сплайн плоскостью; Pick Point –

разбить кривой на две линии в точке, указанной оператором; Global – программа анализирует имеющиеся линии и автоматически их разрезает);

Curve

Tool

Smooth – сгладить построенный сплайн;

Curve

Tool

Extend – продлить сплайн по заданному направлению и

расстоянию;

 

 

Curve

Tool

Match – соединить концы сплайнов «узел к узлу», при

этом первая выделенная линия перемещается ко второй;

Curve

Tool

Merge – объединить два состыкованных сплайна друг с

другом.

В модуле Curve имеется меню Template, инструменты которого дают возможность сохранять построенную сетку кривых линий. Затем путем преобразований (масштабирования, перемещения и др.) ее можно использовать для построения NURBS-поверхности объектов, аналогичной ранее созданной.

Когда сетка сплайнов построена, необходимо перейти в модуль Surface и приступить к моделированию NURBS-поверхности, которое осуществляется двумя способами: по построенной сетке сплайнов и автоматически. Создание NURBS-поверхности по сетке сплайнов производится следующим образом.

Активируется функция Surface Create Polygon Fit By Curves, далее для каждой ячейки создается Loop (замкнутый полигон). Причем первая выбранная линия полигона должна иметь правильное направление (против часовой стрелки). Затем выбираются метод (аппроксимации или интерполяции) построения поверхности, количество контрольных точек (количество ячеек сетки, которые образуют поверхность) и другие опции. В программе имеется возможность предварительного просмотра и оценки качества построения поверхности. На рис. 110 показано окно построения NURBS-поверхности в пределах выбранной ячейки сетки. В результате для каждой ячейки получаются NURBS-поверхности, которые впоследствии можно объединить в единую модель.

Рис. 110. Окно построения NURBS-поверхности в пределах выбранной ячейки сетки