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

AutoCAD 2009. Учебный курс

.pdf
Скачиваний:
63
Добавлен:
22.03.2015
Размер:
17.27 Mб
Скачать

Сеть в виде поверхности вращения

411

ет произвольное число вершин. Многоугольные сети более удобны в тех случаях, когда требуется нарисовать весь объект как единое целое.

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

Отображением на рисунке невидимых кромок граней управляет системная переменная SPLFRAME. Если ее значение не равно нулю, невидимые кромки проявляются на экране и могут редактироваться. Если же переменная равна нулю, невидимые кромки скрыты.

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

Команда 3DMESH строит трехмерную многоугольную сеть из пространственных четырехугольных ячеек, открытую как в направлении M, так и в направлении N (по аналогии с осями X и Y плоскости XY). Преобразование сети в замкнутую производится командой PEDIT. Сети, созданные командой 3DMESH, могут быть несимметричными; в большинстве случаев она применяется в комбинации с командными пакетами или LISP-программами, вычисляющими координаты вершин сети. Команда 3DMESH вызывается из падающего меню Draw Modeling Meshes 3D Mesh.

Запросы команды 3DMESH:

Enter size of mesh in M direction: — указать размер сети в направлении M

Enter size of mesh in N direction: — указать размер сети в направлении N

Specify location for vertex (m, n): — указать положение вершины

Specify location for vertex (m, n): — указать положение вершины

Specify location for vertex (m, n): — указать положение вершины

где m и n — номера ряда и столбца данной вершины сети, причем первой является вершина (0,0). Вначале меняется величина n; прежде чем определять вершины в столбце m + 1, необходимо определить координаты всех вершин в столбце m. Вершины можно задавать как двумерные или трехмерные точки.

Сеть в виде поверхности вращения

Команда REVSURF, формирующая поверхность вращения путем поворота определяющей кривой вокруг выбранной оси (рис. 17.12), применяется для получения поверхностей, обладающих осевой симметрией. Команда вызывается из падающего меню Draw Modeling Meshes Revolved Mesh.

412

Глава 17. Построение поверхностей

Запросы команды REVSURF:

Current wire frame density: SURFTAB1=6 SURFTAB2=6 — текущая плотность каркаса

Select object to revolve: — выбрать объект для вращения

Select object that defines the axis of revolution: — выбрать объект, определяющий ось вращения

Specify start angle <0>: — указать начальный угол

Specify included angle (+=ccw, -=cw) <360>: — указать центральный угол

Рис. 17.12. Пример поверхности вращения

В качестве определяющей кривой могут быть выбраны отрезок, дуга, круг, эллипс, эллиптическая дуга, полилиния или трехмерная полилиния, сплайн. Определяющая кривая задает направление N сети поверхности. Осью вращения может быть отрезок или незамкнутая полилиния (двумерная или трехмерная). Если выбрана полилиния, то ось вращения определяется вектором, соединяющим первую вершину полилинии с последней; все промежуточные вершины игнорируются. Ось вращения задает направление М сети.

Начальный угол определяет отступ начала поверхности вращения от определяющей кривой, а центральный задает угол поворота кривой вокруг оси вращения. Если принимаются значения этих углов по умолчанию (0° или полный круг), то поверхность начинается с определяющей кривой и полностью охватывает ось вращения, замыкаясь в направлении M сети. Если центральный угол меньше 360°, поверхность будет разомкнутой. Если начальный угол отличен от нуля, генерация поверхности начинается после поворота на этот угол, а не с определяющей кривой.

Сеть в виде поверхности вращения

413

Как показано на рис. 17.13, точка указания оси вращения определяет направление вращения (каждая поверхность на рисунке задана с начальным углом 0° и центральным углом 90°). Для определения направления вращения применяется правило правой руки. Если вытянуть большой палец вдоль оси вращения в сторону конца оси и согнуть остальные пальцы, то они укажут направление вращения и направление отсчета начального угла.

Рис. 17.13. Определение направления вращения

Плотность создаваемой сети управляется системными переменными SURFTAB1 и SURFTAB2. Поверхность вращения делится вдоль направления вращения на равные угловые интервалы, количество которых равно значению SURFTAB1. Если определяющая кривая — это отрезок, дуга, круг или сглаженная сплайном полилиния, то кривая делится на одинаковые интервалы, количество которых равно значению SURFTAB2. Если кривая представляет собой полилинию, не сглаженную сплайном, то у прямолинейных сегментов вершинами сети становятся концы, а каждый дуговой сегмент делится на интервалы, число которых равно значению

SURFTAB2.

Пример. Формирование поверхности вращения

Постройте поверхность вращения (рис. 17.14).

Запустите команду REVSURF, вызвав ее из падающего меню Draw Modeling Meshes Revolved Mesh. Ответьте на запросы:

_REVSURF

Current wire frame density: SURFTAB1=6 SURFTAB2=6 — текущая плотность каркаса

Select object to revolve: — укажите кривую 1

Select object that defines the axis of revolution: — укажите ось 2

Specify start angle <0>: 0 — начальный угол

Specify included angle(+=ccw,-=cw)<360>: 200 — охватывающий угол поверхности

414

Глава 17. Построение поверхностей

 

 

 

 

Рис. 17.14. Формирование поверхности вращения

Сеть в виде поверхности сдвига

Команда TABSURF формирует многоугольную сеть, которая представляет собой поверхность сдвига, заданную определяющей кривой и направляющим вектором (рис. 17.15). Созданная сеть — это, по сути, набор многоугольников с параллельными направляющему вектору сторонами. И определяющая кривая, и направляющий вектор должны существовать на рисунке к моменту выполнения команды. Она вызывается из падающего меню Draw Modeling

Meshes Tabulated Mesh.

Рис. 17.15. Поверхность сдвига: а) определяющая кривая разомкнута; б) определяющая кривая замкнута

Запросы команды TABSURF:

Select object for path curve: — текущая определяющая кривая

Select object for direction vector: — текущий направляющий вектор

Сеть в виде поверхности сдвига

415

Определяющая кривая может представлять собой отрезок, дугу, круг, эллипс, эллиптическую дугу, двумерную или трехмерную полилинию, а также сплайн. Направляющий вектор может быть отрезком либо разомкнутой двумерной или трехмерной полилинией. Если выбрана полилиния, имеют значение только ее первая и последняя вершины, а все промежуточные игнорируются. Направляющий вектор показывает сдвиг от конечной точки, ближайшей к точке указания (на рис. 17.15 это T1), до другой его конечной точки.

С помощью команды TABSURF строится многоугольная сеть 2 × N. Половина вершин размещается вдоль определяющей кривой, начиная с ближайшего к точке указания конца. Другая половина расположена вдоль кривой, параллельной первой и сдвинутой от нее на вектор направления. Направление N сети лежит вдоль определяющей кривой. Расстояние между двумя кривыми равно расстоянию между двумя конечными точками примитива, выбранного как вектор направления. Вдоль вектора направления лежит направление M сети. Плотностью поверхности сдвига в направлении N управляет системная переменная SURFTAB1. Если определяющая кривая — это отрезок, дуга, круг или сглаженная сплайном полилиния, то кривая делится на одинаковые интервалы, число которых равно значению системной переменной SURFTAB1. Если кривая представляет собой полилинию, не сглаженную сплайном, то у прямолинейных сегментов вершинами сети становятся концы, а каждый дуговой сегмент делится на интервалы, число которых равно значению системной переменной SURFTAB1.

Пример. Формирование линейчатой поверхности сдвига

Постройте линейчатую поверхность, заданную определяющей кривой и направляющим вектором (рис. 17.16).

Рис. 17.16. Формирование линейчатой поверхности сдвига

416

Глава 17. Построение поверхностей

Запустите команду TABSURF, вызвав ее из падающего меню Draw Modeling Meshes Tabulated Mesh. Ответьте на запросы:

_TABSURF

Select object for path curve: — выберите кривую 1

Select object for direction vector: — выберите вектор 2

Сеть в виде поверхности соединения

Команда RULESURF формирует многоугольную сеть, которая изображает поверхность, натянутую на две заданные линии (рис. 17.17). Исходные объекты (кромки) поверхности соединения могут представлять собой отрезки, точки, дуги, круги, эллипсы, эллиптические дуги, двумерные и трехмерные полилинии, а также сплайны. Команда вызывается из падающего меню Draw

Modeling Meshes Ruled Mesh.

Рис. 17.17. Примеры поверхностей соединения: а) между двумя разомкнутыми линиями; б) между двумя замкнутыми линиями; в) между точкой и разомкнутой линией; г) между точкой и замкнутой линией

Запросы команды RULESURF:

Current wire frame density: SURFTAB1=6 — текущая плотность каркаса

Select first defining curve: — выбрать первую определяющую кривую

Select second defining curve: — выбрать вторую определяющую кривую

Допустим, требуется указать два примитива, определяющих края поверхности соединения. Если одна граница замкнута (например, в случае с кругом или замкнутой полилинией), то и другая также должна быть замкнута (см. рис. 17.17, б). Одной из границ может быть точка, а другой — разомкнутая или замкнутая кривая линия (см. рис. 17.17, в, г). В случае с разомкнутыми кривыми выбор точек указания определяет, откуда будет начато построение поверхности (см. рис. 17.17, а). AutoCAD начинает с конечной точки каждой линии, ближайшей к точке, с помощью которой линия была указана. На рис. 17.18, а Т1 — это точка, с помощью которой была указана первая граница, в то время как Т2 — точка указания второй границы. Если

Сеть в виде поверхности соединения

417

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

Рис. 17.18. Поверхности соединения между двумя разомкнутыми линиями: a) начальные точки заданы правильно; б) начальные точки заданы неправильно

Поверхность соединения строится как многоугольная сеть размером 2 × N. Команда RULESURF размещает половину вершин сети с равными интервалами вдоль одной определяющей линии, а половину — также с равными интервалами вдоль другой линии. Плотностью сети (то есть количеством граней) в направлениях М и N управляют системные переменные SURFTAB1 и SURFTAB2 соответственно.

Пример. Формирование линейчатой поверхности соединения

Постройте линейчатую поверхность по двум направляющим (рис. 17.19).

Запустите команду RULESURF, вызвав ее из падающего меню Draw Modeling Meshes Ruled Mesh. Ответьте на запросы:

_RULESURF

Current wire frame density: SURFTAB1=6 — текущая плотность каркаса

Select first defining curve: — выберите левую кривую

Select second defining curve: — выберите правую кривую

Рис. 17.19. Формирование линейчатой поверхности соединения

418

Глава 17. Построение поверхностей

Сеть в виде поверхности, заданной кромками

Команда EDGESURF формирует участок поверхности Кунса по четырем смыкающимся краям. Участок поверхности Кунса — это бикубическая (то есть обладающая кубической кривизной как в направлении M, так и в направлении N) поверхность, «натянутая» на четыре пространственные кривые (рис. 17.20). Команда вызывается из падающего меню Draw Modeling Meshes

Edge Mesh.

Рис. 17.20. Пример бикубической поверхности

Запросы команды EDGESURF:

Current wire frame density: SURFTAB1=20 SURFTAB2=20 — текущая плотность каркаса

Select object 1 for surface edge: — выбрать первую кромку поверхности

Select object 2 for surface edge: — выбрать вторую кромку поверхности

Select object 3 for surface edge: — выбрать третью кромку поверхности

Select object 4 for surface edge: — выбрать четвертую кромку поверхности

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

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

Редактирование трехмерных многоугольных сетей

419

другой конечной точки (см. рис. 17.20). Два других края, касающиеся первого, определяют направление N сети. Системная переменная SURFTAB1 задает количество интервалов вдоль направления M (первый выбранный край), а системная переменная SURFTAB2 — количество интервалов вдоль направления N. В результате создается сеть размером (SURFTAB1+1)× (SURFTAB2+1).

Пример. Формирование поверхности Кунса

Постройте сеть — поверхность Кунса для четырех граничных B-сплайн кривых (рис. 17.21).

Запустите команду EDGESURF, вызвав ее из падающего меню Draw Modeling Meshes Edge Mesh. Ответьте на запросы:

_EDGESURF

Current wire frame density: SURFTAB1=20 SURFTAB2=20 Select object 1 for surface edge: — укажите кромку 1

Select object 2 for surface edge: — укажите кромку 2

Select object 3 for surface edge: — укажите кромку 3

Select object 4 for surface edge: — укажите кромку 4

Рис. 17.21. Формирование поверхности Кунса

Редактирование трехмерных многоугольных сетей

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

Select polyline or [Multiple]: — выбрать полилинию

Enter an option

[Edit vertex/Smooth surface/Desmooth/Mclose/Nclose/Undo]: — задать ключ

Если многоугольная сеть в данный момент замкнута в направлениях М и N, то ключи Mclose и Nclose заменяются соответственно на Mopen и Nopen.

420

Глава 17. Построение поверхностей

Ключи команды PEDIT:

Multiple — возможность выбора нескольких объектов;

Smooth surface — используется для сглаживания гладкой поверхностью;

Desmooth — используется в том случае, если сглаживающая поверхность уже построена и требуется убрать сглаживание и восстановить контрольные точки многоугольной сети;

Edit vertex — служит для редактирования отдельных вершин многоугольной сети. На первой вершине появляется маркер редактирования ×, и AutoCAD выдает запрос:

Current vertex (m,n). — текущая вершина

Enter an option

[Next/Previous/Left/Right/Up/Down/Move/REgen/eXit]<N>: — задать ключ

Многоугольную сеть можно рассматривать как прямоугольный массив M × N, где M и N — размеры, определенные в команде 3DMESH или установленные системными переменными SURFTAB1 и SURFTAB2 для команд RULESURF, TABSURF, REVSURF

и EDGESURF.

Next и Previous — позволяют «шагать» вперед и назад по вершинам, причем первыми меняются точки в направлении N.

Right и Left — позволяют двигаться вперед и назад в направлении N.

Up и Down — позволяют двигаться вдоль направления M.

Move — используется в случае, когда необходимо перенести вершину. Для этого на нее следует поставить маркер редактирования, после чего поступит запрос:

Specify new location for marked vertex: — указать новое положение помеченной вершины

REgen — позволяет перерисовать многоугольную сеть на экране.

eXit — осуществляет выход к основной подсказке редактирования.

Указание уровня и высоты

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

Уровнем объекта называется координата z плоскости XY, в которой рисуется основание объекта. Если уровень равен нулю, то рисование идет в плоскости XY текущей ПСК. Плоскости с положительным уровнем расположены выше плоскости XY, с отрицательным — ниже.