CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Не черти чертежи чертят

Сергей ПОПОВ popov_sergey@ukr.net

(Продолжение, начало см. в МК № 24 (195))

Сегодня мы остановимся на 3D-моделировании в среде AutoCAD. Вообще, в AutoCAD'е существуют три абсолютно разные формы представления 3D-модели —Solid (твердотелая модель), Surface (поверхность) и Wireframe (каркас).

Каркасная модель не содержит каких-либо поверхностей — только точки, линии и кривые. Для составления такой модели двухмерные объекты позиционируются в трехмерном пространстве.

Surface, в отличии от wireframe-модели, содержит не только ребра (Edges), но и грани (Faces), соединяющие их. Но из-за того, что грани плоские, такая модель может лишь приближенно представлять кривые поверхности. Гранные поверхности также называются mesh (сеть).

И, наконец, Solid'ы, с которыми, собственно, мы и будем работать. Они наиболее просты в использовании, точнее всего передают форму поверхности, без каких-либо потерь. Даже самые сложные модели создаются всевозможными сочетаниями основных методов моделирования, которых, кстати, не так уж и много (по сравнению с 3D Studio MAX, например). Вот какими мы будем пользоваться: Extrude (выдавливание замкнутой полилинии — либо по нормали к плоскости полилинии, либо по указанному пути —path); Revolve (вращение замкнутой полилинии вокруг оси ); Fillet (скругление); Chamfer (фаски); а также булевы операции: Union (объединение объектов в один), Subtract (вычитание из одной группы объектов другой), Intersect (только объем, общий для нескольких пересекающихся тел).

Итак, приступим к практическим занятиям. Сейчас на примере я попытаюсь рассказать о некоторых особенностях 3D-моделирования в AutoCAD'е. Для начала изваяем что-нибудь простенькое, например вот это (Рис. 1).

Сразу видно, что деталь представляет собой тело вращения, поэтому делать мы ее будем не иначе как Revolv'ом. Все, что нужно уметь делать, вы уже умеете, поэтому чертим ее профиль (Рис. 2). Но вот беда: Revolve работает только с замкнутыми и не самопересекающимися полилиниями. Но ничего страшного, сейчас мы сделаем из нашего контура как раз такую полилинию. Зайдем в меню Modify > Polyline или в командной строке наберем pedit. Появится запрос: «Указать полилинию» — но у нас-то пока еще нет никакой полилинии! Ничего страшного. Выбираем любую линию, в ответ на запрос, превратить ли ее в полилинию, отвечаем Yes. Далее выбираем J(oint), что значит «присоединить», и выбираем все остальные сегменты. Итак, у нас получился замкнутый контур. Теперь будем его вращать. В меню выбираем Draw > Solids > Revolve, или в командной строке пишем rev(olve), выбираем контур, а затем указываем две точки оси, в данном случае две нижних вершины, и подтверждаем, что вращать надо на все 360°.

Итак, если перейти в изометрический вид, то можно лицезреть получившуюся модель (все виды легко переключаются тулбаром View). Но только вот не совсем понятно, что именно изображено, так как показывается все — даже то, что не должно быть видно. Но существует замечательная команда hi(de), которая убирает невидимые линии, но при этом кривые поверхности отображаются побитыми на грани. Выглядит это примерно вот так (Рис. 3). Можно также отрендерить получившуюся модель — команда render. Но встроенный рендер весьма слаб, так что, если хотите получить приемлемое качество картинки, лучше экспортировать модель в программу, предназначенную для этого (тот же 3D Studio MAX). Отмечу только, что не стоит экспортировать из AutoCAD'а в *.3ds, а затем импортировать в MAX'е — все кривые поверхности будут апроксимироваться весьма малым количеством граней (для поверхностей вращения не больше 16). MAX и без этого отлично понимает формат *.dwg — поэтому, импортируя в MAX dwg-файл, вы можете сами задать точность передачи кривых поверхностей (параметр Surface deviation — не ставьте слишком маленькое значение, можете не дождаться :-)).

Рис. 1   Рис. 2   Рис. 3

Но наша модель еще не закончена, ведь нужно еще сделать 4 отверстия. На виде слева от центра начертим окружность, на которой будут находиться центры отверстий. Начертим одну маленькую окружность, скажем, вверху. Чтобы облегчить себе жизнь, мы не будем рисовать все 4 окружности — AutoCAD сделает это за нас.

Итак, набираем команду Ar(ray) (массив) (Рис. 4), указываем нашу окружность, указываем тип массива —P(olar), указываем центр массива, количество элементов, остальное оставим по умолчанию. Теперь снова перейдем в изометрический вид и наберем команду ext(rude). Выберем объекты, т. е. окружности, которые вскоре станут отверстиями, и укажем высоту выдавливания; угол конусности (Angle of taper) оставим равным 0. На виде сверху проверим, пересекают ли получившиеся цилиндры то, что надо, и наоборот; если что не так, то подвинем их.

Теперь применим волшебную команду Subtract. Можно прямо так ее и набрать в командной строке, а можно выбрать в менюшке Modify > Solids Editing > Subtract. Следует запомнить, что вначале нужно выбирать объекты, из которых вычитать, а затем те, которые будут вычитаться. Вот и все, простенькая модель готова.

Далее следует небольшое лирическое отступление, которое, тем не менее, имеет большую важность. Оно будет касаться систем координат. Если посмотреть в левый нижний угол экрана, то можно увидеть стрелки, показывающие направления осей. Переключитесь с вида сверху на изометрический, а затем на него же — с вида слева. Обратили внимание, как меняется форма курсора и стрелки в углу? Это происходит потому, что когда вы переходите на вид слева, координаты меняются местами, чтобы для вас в этой проекции направление вправо оставалось x, а направление вверх —y. А при переходе в изометрию эти координаты назад не меняются. Так, существует WCS (World Coordinate System), т. е. мировая система координат, и множество разнообразных UCS (User Coordinate System), или пользовательских систем координат (ПСК). За всю эту дребедень отвечает кнопка (Рис. 5). В ней спрятаны несколько наиболее часто используемых пресетов для работы с UCS. Например, можно выставить UCS текущего вида, задать UCS по трем точкам и т. д.

Рис. 4   Рис. 5

Всегда, собираясь что-либо чертить в изометрическом виде, проверяйте, в какой UCS вы находитесь.

Возвращаясь к теме: ведь я еще обещал, что мы будем использовать команды Fillet и Chamfer. Рассмотрим их действие на простой модели (Рис. 6).

Рассказать о всех возможных комбинациях, в которых могут быть применены эти команды к solid'ам, практически невозможно. В каждом конкретном случае могут быть получены различные результаты. Но я попытаюсь рассказать о наиболее типичных случаях.

Итак, рассмотрим действие команды Chamfer. После того как вы щелкните по ребру модели, выделится одна из граней или поверхностей, содержащих ребро. Можно выбрать другую грань, нажав N(ext). После выбора так называемой Base Surface будет предложено выбрать грани, которые будут отсекаться. Вот что может получиться: (Рис. 7). Как вы сами видите, действие команды варьируется в зависимости от ситуации.

Рис. 6   Рис. 7

Использование команды Fillet аналогично действию команды Chamfer, но только тут не будет предлагаться выбрать базовую поверхность. Просто выбираете грань, и AutoCAD сам поймет, что именно нужно скруглять. Результат будет таков: (Рис. 8-9).

Рис. 8   Рис. 9

Если вы, применив какую-либо из этих команд, вдруг обнаружите ошибку — не беда. Поверхности, созданные этими командами, можно удалить. В меню Modify > Solids Editing есть множество команд, для работы с 3D-моделями. Из названия нетрудно догадаться, что они делают.

Бывает очень полезно раскрашивать модели. Да, да, именно раскрашивать. Просто когда модель уже становится достаточно сложной, то сам начинаешь путаться. Раскрасив ключевые грани или ребра, вы тем самым упрощаете, для себя в первую очередь, понимание модели. Чем более наглядной она будет, тем проще будет работать с ней.

Solid'ы можно также сечь и создавать сечения. А в чем разница? — спросите вы. А вот в чем: когда вы делаете сечение (команда sec(tion)), то исходный объект остается без изменений, а на основе параметров, описывающих его, и параметров, задающих секущую плоскость, создается так называемый region, который представляет собой плоскую ограниченную грань, которая может состоять из линий, окружностей, дуг (включая эллиптические дуги) и сплайнов. А вот если вы сечете объект (команда sl(ice)), то в результате вы получите уже измененный объект. Будет предложено выбрать, с какой стороны отсекать, либо оставить обе стороны.

Хотелось бы еще поведать о команде interfere. Она также доступна из меню Draw > Solids > Interference. В некоторых случаях эта функция бывает просто незаменима. Что же она делает? Она создает solid из общего объема двух групп тел. Фактически это тот же Intersect, с той лишь разницей, что исходные объекты остаются нетронутыми. Например, если требуется сделать соединение труб, то проще всего это сделать с помощью команды interfere в сочетании с командой separate (разделить), которая разделяет solid на части, не связанные общим объемом. Из первой и второй трубы командой interfere получим некий объект. Напомню, что трубой обычно называют цилиндр с отверстием. Далее из второй трубы вычтем полученный объект. Затем разделим то, что раньше было второй трубой, и удалим ненужную часть. Теперь, объединив все воедино, получим то, что хотели.

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

Вот, пожалуй, и все на сегодня. В следующей статье я постараюсь еще глубже раскрыть тему, так что продолжение coming soon…

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov