Способ изготовления сравнительно гладкого корпуса в Solid Works

Приступив к изучению программы Solid Works я столкнулся с фактом отсутствия учебных пособий на некоторые темы, в частности моделирование корпусов кораблей. Все имеющиеся программные пособия, уроки в сети не содержали этого. Кроме того существует большой пробел по возможностям изготовления корпусов плавсредств и для других программных продуктов. В сети я встретил только один, но достаточно исчерпывающий урок по 3д молерированию корпусов в Rhinoceros, где изготовление шло как с анализом кривых так и поверхностей. Но впервые столкнувшись с SW, программой более высокого уровня, чем мне приходилось иметь дело мне пришлось находить способ подходящий именно для этой программы, хотя конечно накопленный опыт NURBS моделирования в Носороге мне пригодился в полной мере. Так как я не корабел и не имею даже общего представления о средствах расчета корпусов судов - параметрическом моделировании, то решил ознакомить любителей моделирования со способом рисования правдоподобно выглядящих трехмерных объектов, то, на что хватило моих скромных способностей.

Создаем эскиз на плоскости "спереди". В него вставляем картинку с сечениями корпуса - Меню Инструменты/Инструменты эскиза/картинка. Центрируем картинку по абсолютным координатам, с таким расчетом чтобы ось X совпалада с ватерлинией, а по оси Y было киль выносим в сторону.

 

Затем создаем в плоскости "справа" эскиз и вставляем боковые проекции корпуса, с таким расчетом что ось Z совпадает с ватерлинией, а ось Y с первым сечением.

В конечном итоге получаем примерно такую картинку:

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

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

В конечном результате получаем картинку следующего вида:

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

Затем создаем плоскость под углом соответствующему углу наклона транца.

Следующим этапом является рисование линий сечений. Для этого выбираем плосктость первого шпангоута и создаем эскиз. Выбираем сплайн и отмечем две крайние точки сечения. Получаем линию следующего вида:

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

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

 

 

На рисунке слева виден результат построения кривой из двух точек, справа из четырех. Соответственно от этого и зависит результирующая поверхность. Но в случае если есть сечение более сложного характера, например плоское днище и выгнутые боковые линии, то сечение стоит строить из нескольких линий: прямой и кривой. Причем все сечения должны содержать эти элементы иначе не удастся достичь гладкости поверхности. Но в любом случае, если используется кривая то правило "двух точек остается в силе".

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

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

После создания кривых сечения приступаем к боковым поверхностям. Создаем линию киля из одной кривой с минимальным количеством точек, в данном случае 3. Если создавать из прямой линии и кривой, то на корпусе потом получится угловатая складка, не очень заметная, но тем не менее - присутствующая. В дальнейшем эта линия будет направляющей.

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

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

Теперь выбираем кнопку "трехмерный эскиз", сплайн и касаясь через одно сечение, рисуем 3х мерную кривую.

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

Таким же образом поступаем с видом сверху.

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

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

Теперь начинается собственно само построение поверхности: Меню Вставка/Поверхность/По сечениям. Указываем заготовленные направляющие, контуры сечений.

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

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

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

 

Теперь, когда есть полученная половинка корпуса, можно приступать к дальнейшему построению корпуса. Если требуется просто склеить 2 половинки корпуса то выделяем плоскость "справа", выбираем в меню Вставка/Массив-Зеркало/Зеркальное отражение выбираем "копировать тело". Если планируем вставить киль, то формируем новую плоскость по отношению к плоссти "справа" равную толщине половины киля.

Дальше выбираем меню Вставка/Поверхность/По сечениям выделяем кромки и заполняем поверхность для транца.

Так же дальше заполняем верхнюю поверхность. Полученная болванка корпуса пока что только набор поверхностей, которые надо сшить преобразовав с твердотельный объект. Для этого выбираем меню Вставка/Поверхность/Сшить поверхность и выделяем все поверхности, ставим галочку "Попытаться создать твердотельный объект". Теперь мы имеем твердотельный редактируемый объект, который можно преобразовывать дальше в зависимости от наших задач, например сформировать оболочку.

 

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

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

Делается такой корпус также одной поверхностью. При этом заднее окончание в трехмерном эскизе формируется так:

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

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

Ознакомиться с моделью можно здесь (680 кб)

Мурат Вишняков

27 июня 2006 года

Замечания, пожелания, советы и прочее, направляйте по адресу rony7@mail.ru либо ICQ 82815769

 

назад

X