9.5. Грани и сети Для того чтобы при тонировании поверхности объектов были непрозрачными, они должны быть созданы специальным образом. Мы уже знаем, что у цилиндра (выдавленного круга) все поверхности в режиме двумерного каркаса являются непрозрачными при скрытии невидимых линий, а вот у выдавленной полилинии в форме прямоугольника непрозрачны только боковые стенки. Сам прямоугольник не является сплошным плоским объектом и фактически имеет только контур, без внутренности. Для непрозрачных треугольников и четырехугольников в AutoCAD есть специальный объект — грань. Непрерывно расположенные грани могут объединяться в "сеть". Поверхности очень многих трехмерных объектов могут быть представлены в виде сетей. Сеть хотя и является приближенным представлением объекта, но дает достаточно много информации о его форме и размерах. Для примера выберем пункт в падающем меню Draw | Surfaces | 3D Surfaces (Рисование | Поверхности ЗМ поверхности). На экране появится диалоговое окно 3D Objects (ЗМ объекты) (рис. 9.69). Рис. 9.69. Диалоговое окно 3D Objects В этом окне доступны 9 объектов (Box3d (ЗМ ящик). Pyramid (Пирамида), Wedge (Клин), Dome (Купол), Sphere (Сфера), Cone (Конус), Torus (Top), Dish (Чаша) и Mesh (Сеть)), которые после задания параметров будут построены в текущем рисунке поверхностями в виде сетей с четырехугольными и треугольными ячейками. Все клетки (ячейки) таких поверхностей непрозрачны для операций скрытия невидимых линий, раскрашивания и тонирования. В панели инструментов Surfaces (Поверхности) (рис. 9.70) собраны кнопки всех основных операций с гранями и сетями. Рис. 9.70. Панель инструментов Surfaces Рассмотрим кнопки этой панели. Первая кнопка вызывает команду рисования плоских четырехугольников SOLID (ФИГУРА), описанную в разд. 2.18. Команда строит примитивы, называемые SOLID (ФИГУРА). Фигуры обладают дополнительным свойством — они являются непрозрачными, благодаря чему их кнопка включена в панель Surfaces (Поверхности). Фигура является плоским (двумерным) объектом и располагается в плоскости, параллельной плоскости XY текущей системы координат. Команда 3DFACE (3-ГРАНЬ), которой соответствуют кнопка панели инструментов Surfaces (Поверхности) и пункт падающего меню Draw | Surfaces | 3D Face (Рисование | Поверхность ЗМ грань), строит также четырехугольные примитивы, но они являются уже трехмерными объектами, вершины которых могут не лежать в одной плоскости. Первый запрос команды 3DFACE (3-ГРАНЬ) выглядит так: Specify first point or [Invisible]: (Первая точка или (Невидимая):) Если выбрать опцию Invisible (Невидимая), то кромка грани, идущая из первой точки во вторую, будет невидимой (это полезно в трехмерных моделях). После выбора этой опции AutoCAD повторит запрос первой точки. Если задана первая точка, то выводится следующий запрос: Specify second point or [Invisible]: (Вторая точка или [Невидимая]:) Здесь выбор опции Invisible (Невидимая) будет означать, что кромка между второй и третьей точками будет невидимой. После ввода второй точки: Specify third point or [Invisible] <exit>: (Третья точка или [Невидимая] <выход>:) Если в этот момент нажать клавишу <Enter>, то команда закончит свою работу. Далее после ввода третьей точки: Specify fourth point or [Invisible] <create three-sided face>: (Четвертая точка или [Невидимая! <создать треугольную грань>:) В этот момент нажатие клавиши <Enter> создает треугольную грань (т. е. четвертая и третья вершины совпали). А после указания четвертой точки снова выдается запрос о третьей точке (в качестве первой и второй точек следующей грани будут взяты третья и четвертая точки предыдущей). Если неправильно задан обход вершин грани, то грань может получиться перекрученной. В этом случае нужно поменять местами третью и четвертую точки. На рис. 9.71 приведен пример построения граней. Для наглядности на рисунке еще построен цилиндр и выполнено скрытие невидимых линий. На рисунке видно, что грани являются непрозрачными. Грани можно редактировать с помощью ручек. Возможны грани, все кромки которых невидимы, однако при скрытии невидимых линий такие грани будут закрывать расположенные под ними объекты. Рис. 9.71. Пример построения граней Команда EDGE (КРОМКА), которой соответствует кнопка панели инструментов Surfaces (Поверхности), дает возможность менять видимость кромок граней и сетей. Удобным средством изменения видимости кромок является окно Properties (Свойства). Восемь кнопок (с 3-й по 10-ю) панели инструментов Surface (Поверхности) (см. рис. 9.70) позволяют строить сети стандартной формы (ящик, клин, пирамида, конус, сфера, купол, чаша, тор) — такие же, что и с помощью диалогового окна 3D Objects (ЗМ объекты) (см. рис. 9.69). Сети — это более сложные объекты, чем грани. Если сеть расчленить с помощью команды EXPLODE (РАСЧЛЕНИТЬ), то она распадется на грани, причем из одной ячейки сети получится одна грань (каждая грань будет иметь одну кромку с соседней гранью). Все сети стандартной формы строятся относительно текущей плоскости построений, поэтому перед тем как приступить к созданию подобного объекта, не забудьте перейти в необходимую ПСК. Построение восьми стандартных поверхностей может быть выполнено не только с помощью вышеупомянутых восьми кнопок панели инструментов Surfaces (Поверхности), но и при помощи команды 3D (ЗМ), которая строит все эти объекты. Рассмотрим построение стандартной поверхности на примере прямоугольного параллелепипеда — ящика (построение остальных поверхностей выполняется аналогично). После вызова команды 3D (ЗМ) появляется первый запрос: Select option [Box/Cone/DIsh/DOme/Mesh/ Pyramid/Sphere/Torus/Wedge]: (Задайте опцию [Ящик/КОнус/ЧАша/КУпол/СЕть/Пирамида/СФера/Тор/КЛин]:) Выберите опцию Box (Ящик). Следующий запрос: Specify comer point of box; (Угловая точка ящика:) Укажите точку первого угла. Далее: Specify length of box: (Длина ящика:) Укажите длину вводом числа или точки. Затем: Specify width of box or [Cube]: (Ширина ящика или {Куб/:) Нужно ввести ширину числом или точкой либо выбрать опцию Cube (Куб). Если ширина задана, т. е. строящийся ящик не является кубом, то следует дополнительный запрос: Specify height of box: (Высота ящика:) Теперь все размеры определены, но можно еще повернуть ящик вокруг оси Z. Следующий запрос: Specify rotation angle of box about the Z axis or [Reference]: (Угол поворота ящика вокруг оси Z или /Опорный угол]:) После задания угла строится замкнутая сеть в форме ящика. На рис. 9.72 приведен пример ящика, повернутого на —25° вокруг оси Z (также выполнено скрытие невидимых линий). Рис. 9.72. Построение стандартной сети в форме ящика В общем случае сеть — это объект, у которого вдоль одного направления имеется определенное количество точек (М), а вдоль другого направления — другое заданное количество точек (N). Эти направления так и принято называть — М-направление и N-направление. Соответственно общее количество ячеек есть произведение (М - 1) на (N - 1). Сети могут быть незамкнутыми и замкнутыми, причем замыкание может быть по одному или двум направлениям. Сеть, не замкнутая по какому-то направлению, может быть замкнута с помощью команды PEDIT (ПОЛРЕД), т. к. эта команда редактирует не только полилинии, но и сети (которые во внутреннем представлении в системе AutoCAD являются примитивами POLYLINE). Команда 3DMESH (3-СЕТЬ), которой соответствует кнопка панели инструментов Surfaces (Поверхности), позволяет построить произвольную незамкнутую сеть по координатам точек вершин этой сети. Первый запрос команды: Mesh M size: (Размер сети в направлении М:) Введите число от 2 до 256, определяющее размер сети по направлению М (например, 3). Далее: Mesh N size: (Размер сети в направлении N:) Введите число от 2 до 256, определяющее размер сети по направлению N (например, 4). Затем выдаются запросы по каждой из 12 вершин сети. Точки по каждому направлению нумеруются от 0 до М — 1 и от 0 до N — 1, соответственно. Система AutoCAD запросит первую вершину: Vertex (0, 0): (Положение вершины (0, 0):) Далее по очереди запрашиваются все остальные вершины с номерами (О, 1), (О, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1. 3), (2, 0), (2, 1), (2, 2), (2, 3). Пример такой сети приведен на рис. 9.73. Рис. 9.73. Построение сети размером 3x4 На этом рисунке направление Л/ближе к горизонтальной границе экрана, а направление N — к вертикальной. Четыре последних кнопки панели инструментов Surfaces (Поверхности) представляют собой случаи построения более сложных сетей. Кнопка которой соответствует команда REVSURF (П-ВРАЩ). Команда позволяет получить поверхность, образующуюся в пространстве при вращении линии вокруг отрезка. На рис. 9.74 показан пример сети, полученной как поверхность вращения полилинии вокруг оси МСК (невидимые линии скрыты). При построении поверхностей вращения размер сети определяется значениями системных переменных SURFTAB1 и SURFTAB2 (о системных переменных см. разд. 11.1). Они определяют количество прямолинейных сегментов, которыми аппроксимируются в обоих направлениях криволинейные участки используемых в построении сетей линий. Стандартные значения этих переменных равны 6. Пример на рис. 9.74 был построен со значениями SURFTAB1 = 12 и SURFTAB2 = 12. Рис. 9.74. Построение поверхности вращения Для изменения значения системной переменной используйте команду SETVAR (УСТПЕРЕМ). Остальные три кнопки панели инструментов Surfaces (Поверхности) выполняют следующие операции: — создает поверхность сдвига, получаемую от движения одной кривой вдоль другой (команда TABSURF (П-СДВИГ)); — создает поверхность соединения, возникающую при плавном переходе от одной линии к другой (команда RULESURF (П-СОЕД)); — создает поверхность Кунса между четырьмя кромками, образующими замкнутый криволинейный четырехугольник (команда EDGESURF (П-КРОМКА)). В этих командах также имеют большое значение системные переменные SURFTAB1 и SURFTAB2.