Туториал по Alias StudioTools номер 2
автор: Андрей Клецков (111) - andklv@mail.ru, http://andklv.narod.ru --- место написания тут - http://3dcenter.ru/forum/index.php?showtopic=67804
тутор одним файлом тут

 

будем моделировать вот этот фен (или хотя что-то на него похожее)


в этотм туторе нам размеры уже будут важны поэтому настроим сетку так чтобы от неё больше смысла было.
по умолчанию сетка (grid) выглядит так

mm - о том что базовый юнит - миллиметр
100 - говорит что в одном квадратике 100 базовых юнитов то есть миллиметров

100 миллиметров в одном квадратике сетки - зажирно. сделаем чтобы в одном квадратике был 1 сантиметр.
путём хитрых манипуляций с main units и rest grids (типа отметить ресет гридс, сменить юниты на сантиметры, снять ресет грид, сменить юниты на миллиметры) мы получим один квадратик равный 10 миллиметрам

ставим картинку в виде канваса.

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

начинаем создавать курвы. чтобы канвас не сильно мешал, можно его сделат ьполупрозрачным. эт оможно сделать в окошке canvas layer editor - там ваще много чего можно с канвасами делать.

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

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

с поверхностями то же самое что и кривыми, только добавляется ещё второе как-бы измерение (U и V). можно поверхность представлять как сетку из кривых.

на картинке кривая 3 и 5 порядков.
чем выше порядок, тем более гладкая кривая. вот например при проектировании железных дорог нужно чтобы степень кривизны была не мене 9 (короче я сам пр оэто мало чего знаю :)

так вернёмся к фену

основную форму будем делать револвом (revolve)
так как у всех новых объектов пивот (Pivot - центр - зелёненькая точечка) находится в нуле и ось револва пройдёт через ноль что нам не очень удобно, можно пивот подтянуть поближе к центру.

нажав кнопку хистори и выбрав созданную поверхность можно подвигать ось револва чтобы попасть в чертёж.

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

будем делать набалдашник хитрой формы.
нам нужно сначала сделать как бы конусообразное завершение формы (кстати можно было её сразу рисовать в револве и потом разрезать).
чтобы поверхности выглядели красиво нам нужно сохранить гладкость (continuity).

рисуем кривую из 4 точек. и затем подбираем гладкость этой кривой к поверхности. команда project tangent в группе curve edit

немного теории про гладкости - это в одбщем наверное одна из основных фишек нурбсов.

как известно, нурбс поверхности можно представить как четырёхугольные поверхности описанные контрольными точками, которые распологаются в строго определённом порядке - как таблица, то есть строгоиз ячеек с 4мя углами, эта сетка называется hull. в то же время нурбс поверхность имеет свою координатную систму - UV пространство - это как бы развёрнутая на плоскость поверхность. то есть точка лежащая ровно в центре поверхности может иметь любую 3хмерную координату и будет иметь координату в uv [0.5, 0.5].

что-то я от гладкости отвлёкся. но чтобы её объяснить нужно понимать про контрольные точки.

значит гладкости бывают разного порядка g0 (position), g1 (tangency), g2 (curvature), g3, g4, g5....
зачем оно нужно? так как нурбс поверхности четырёхугольные то никуда не деться от необходмости стыковать их между собой. но при этом нужно сохранять гладкость которую имеют сами отдельные поверхности. (кстати чисто теортически наверное можно описать фигуру любой сложности только из одной нурбс поверхности, но я такого не встречал.)

итак, смотрим на картинку.
на ней показаны 3 пары кривых с разной гладкостью. причём 2 последниие были получены из первой.
также мы видим график кривизны (как он строится и рассчитывается пусть лучше математики объяснят, факт что при чем он глаже и без переломов тем глаже отражения)
мы видим что при g0 - график резко перекладывается с одной стороны на тругую. при этом следующие контрольные точки от той в которой кривые касаются, располагаются абы как.
при g1 - мы видим что перелом графика стал меньше. и что соседние точки от тех что касаются находятся на одной линии(!)
при g2 - мы видим что график идёт без переломов. и что 2 соседние точки находятся как бы в симметрии по отношению к тем где гасаются кривые.
внизу справа - картинка с зеброй - зебра имитирует полосатые отражения. и видно что при g0 и g1 полоски разламываются в месте контакта, а при g2 - они ровные.
что нам к этим полоскам - а то что такой перелом отражений - некрасиво. и ест ьтакое понятие в промышленном дизайне как поверхности класса А. означающее что все поверхности имеют кривизну не ниже g2. то есть очень гладкие без переломов отражения. надо сказать что для визуализации в местах типа фасок часто хватает гладкости g1 потому как разлом отражений не сильо заметен ввиду небольшого разрешения изображения.

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

смотрим зебру - не фонтан. но и чего удивляться если мы везде использовали g1 (tangent)
в принципе этого могло быть вполне достаточно для рендеринга. но мы пойдём дальше и сделаем переход этот в g2

удаляем созданную рельсу
удаляем construction history на профиле и делаем project tangent в режиме curvature

ользуясь историей мы двигаем точку в самой первой кривой (а от неё по истории перестраивается револв, и привязка второй кривой в режиме curvature). и получаем такую форму.

опять рельса

зибра с переходом курватуре.
точку можно всё ещё двигать и за ней будут перестраиваться все поверхности (рина сосёт)

делаем раструб
сначала нам нужно поиметь прямоуголник со скруглёнными углами

рисуем EP (edit points, для того чтобы прямую линию степени 3 получить) курвы в виде прямоугольника, приснапливаясь к гриду (alt). повтор команды в студии это alt+1.

затем выбираем все 4 курвы и масштабируем их до нужной ширины дырки.

делаем филлет
команда fillet curves
задаём радиус 2 мм

два предыдущих поста можно удалить (но форум не позволяет почему то мне эт осделать)

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

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

далее путём редактирования точек придаём нашей прокаченной поверхности нужную форму (при этом история пропадёт)
рисуем арку
и проецируем арку на поверхность, получая кривую-на-поверхности (COS - curve on surface) - это кривая описанная в UV координатах поверхности и по которой можно поверхность обрезать

ну и собственно обрезаем ненужное (запускаем команду trim, крустиком помечаем часть поверхности по ту сторону кривой и выбираем что с ней сделать оставить, удалить или разбить поверхность на 2)

далее делаем филет с помощью surface fillet
вообще в студии до одного места инструментов предназначенных для филетов и в них можно запутаться.

тем не менее пока остановимся на этом.

нас в опциях интересует возможность переменного радиуса и гладкость по curvature

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

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

нажимаем recalc.

всё филет готов.

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

филлеты

тип 1 - нам нужно к краю поверхности приделать филет, который начинается от поверхности и как бы доращивает его.

такой случай у меня на конце раструба.

в студии такой филет делает инструмент tube flange

в общем, в режиме курватуры мне не удалось его прогнать, хотя и для tangent пришлось покрутить толерансы (tolerances - это праметры в настройках, задающие точность построений и вычислений. чем меньше допуски тем лучше, но и тем медленнее. в общем не стал я сильно с этим возиться, всё на одно завязывается, очень хорошо теорию нурбсовую знать нужно, приходит с опытом или от чтения умных книжек)

второй тип филета - когда он должет заканчиваться там где заканчивается край поверхности - то есть банально отрезается нужный кусок поверхности и строится филет от края (но всё это автоматом, оно автоматом и продолжение - flange деллать ещё может)

вот на ствке соновного корпуса и набалдашника. 2 раза такогого филета на каждый край

нужно было бы тут рассказать до пачки о третьем инструменте для филета - tubular offset - делает филеты из курвы на поверхности. но что-то не нашёл такого места, как нибудь дальше.

делаем выгиб посередине корпуса

рисуем кривые и проецируем их на основную поверхность

вырезаем середину
строим профили (не учитывая филеты)
рельсами (1 профиль 1 рельса) прокатываем сначала боковые стенки, и потом рельсой (1 профиль и 2 рельсы) серединку.
имея историю можно легко и быстро подправить форму профилей если что-то не нравится.

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

перейдём к ручке

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

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

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

далее рисуем такие кривые (маленькие по бокам, тоже выделенные белым как и большая основная)
то есть мы рисуем контуры поверхности для УХА (буду так называть эту хрень полукруглую)

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

далее картим рельсу с двумя профилями и двумя рельсами, причём на рельсе взятой с поверхности ставим курватуру.

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

посмотрет ьчто творится с вашими курватурами на стыках поверхностей можно отдельным инструментом.
вот он нарисовал зелёную жирную C. с - значит курватура. зелёная - значит допуски попадают, если будет красная, значит курватура разбилась (вроде так)

убрать эти штуки можно опять кликнув на ребро. то есть первый клик - появилось, второй клик - убралось.

вот тут я немного сэкономил на картинках, поэтому много словами.

нужно достроитьвот такие поверхности ка кна картинках.
как они делаются
рисуются профили для рельсы (одна посередине, другая т угла нашей последней поверхности, чтобы точно там прошла), прокатывается рельса. и далее делаем трим поверхностям прокаченной рельсы и последней поверхности (они должны пересекаться, если последняя поверхность выше - аккуратно опустить ниже её точки - то что вымы уже раньше опускали, но если мало опустили)

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

ладно. инструмент n-sided surface по нескольким кривым создаёт поверхность.
так делаем боковую и низнюю поверхность в вырезе по УХО

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

симметричные детали рисуются пунктиром - на картинке видно.

ответная часть для ручки на корпусе
делаем вырезы под уши

в виде спереди (сзади) рисуем крывые, прокатываем рельсу, и делаем трим поверхностям

команда surface fillet
делает филлет между пересекающимися поверхностями, с курватурой.

для тог очтобы отзеркалить объекты не обязательно класть их на слой с симметрией. можно ий отмиррорить специальной командой.

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

есть 2 команды round и 9.0 round
чем они отлияаются, я вам не скажу, но если не срабатывает одна можно попробовать использовать другую.

кнопка
берётся окружность, и 2 рельсы (создавая рельсы нужн оприснапиться к окружности)
прокаывается рельса, рисыется профиль под вырез, драфтом вытягивается (или рельсой)
получается 2 пересекающие поверхности которым нужно сделать филлет
вариант 1 - перессечение поверхностей, тримаем, удаляем лишнее, филет на стык
вариант 2 - surface fillet

дырка в ручке под кнопку
пересечение 2х поверхностей, вырез, дырки, филет на край

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

сообразив что таким образом, которым я сделал уши, мне не получится сделать филеты, а переделывать "по правильному" было в лом, я по-быстрому делаю филеты на ручке, абы как залепляя дыры (всё равно работа филетов уже была показана, интересо было бы конечно теоретически рассмотреть как правильно решить такую ситуацию...)

некая кнопка на задней части рукоятки.

создаём сферу, располагаем и масштабируем её под нужный размер
делаем пересечение 2х поверхностей - ручки и сферы, чтобы получить COS (curve on surface)
вырезаем дырку
делаем филет - fillet flange

закругляшка на задней части

срезаем по началу закругления (прямая, прецирование, обрезание) и делаем сзади кружочек такой (2 кривые, из них рельсой гнутая поверхность, создаём окружность, поворачиваем её через командную строку нажав rotate и введя 0 -90 90 - это абсолютные значения трансформа вращения. вырезаем из поверхности окружность). обрез и кружок соединяем freeform blend

вырезаем решётки сзади.
там очень много дырок, поэтому я органичусь только 20 чтобы быстрее было

создаём construction plane - это другая координатная система. задаётся по трём точкам. в общем там есть подсказки. в палитре кнопок есть вкладка для constuction objects. среди прочего там есть кнопка toggle для того тчобы быстро активировать выбранный constr. plane

рисуем профиль дырки при активированной тольк очто созданном construction plane

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

далее само клонирование с поворотом.
edit>duplicate>object
и там выбираем поворот на 18 градусов чтобы каждая новая копия повернулась по окружности (360/20=18)
создастся одна лишняя копия, её можно удалить.

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

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

далее кривые проецируем на поверхность и вырезаем дырки.

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

ну и филеты инструментом tube flange

на ручке есть некая выемка под пальцы.
рисуем профиль, точнее его половину. делаем зеркальную копию (duplicate > mirror)
и соединяем 2 кривые в одну (object edit > attach - blend)

в виде спереди или сзади проецируем кривую на поверхность ручки. та кривая что получилась сзади не нужа и её можно удалить (pick curve on surfaсe, COS)

инструментом tubular offset можно легко и быстро сделать канавку

далее займёмся вертикальным швом который разрезает весь фен.
сначала вырезаем овальные дырки по бокам. затем делаем offset кривой по которой будет разрез. проецируем 2 кривые на поверхности (выбрать все поверхности, запустить проецирование, выбрать кривые - оно само сразу на всём построит). затем вырезать середину дырки.

инструментом tube flange делаем филеты. там есть опция chain select если её отметить достаточно будет выбрать только одно ребро, и студая сама выберет все эти последующие кривые, главное чтобы курватура была не ниже tangent. в моём случае были проблемы (потому как ая не следил за радиусами филетов, в общем пришлось выбирать эджи покуда строилось, а остальное доделывать руками рельсами и square surface)

овальная пупырушка посередине.
простая сфера. масштабируется чтобы приобрела овальную форму. затем используем lattice rig для того чтобы погнуть эту сферу. в общем латтис риг создаёт как бы решётку, которую можно резактировать и вместе с решёткой будет двигаться и модель.

ну и наконец резиновая штукенция внизу.
просто нарисовал профиль со всеми этими изгабами и сделал revolve.
для петли, нарисовал контур путли, отредактировал точки в пространстве, пристроил кружок в конец и прокатил его по профилю с помощью extrude

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

вот собственно и всё. конец тутора.