Урок по моделированию термопистолета появился в азбуке 13й версии САПР КОМПАС-3D. Потом в какой-то версии его убрали, сейчас в азбуке его нет. Считаю что модель очень интересная для учебных целей, поэтому решил переделать её с учётом нового функционала 21й версии.
Также есть интересная статья в САПР и Графике, где рассказывается об исходных условиях для построения этой модели.
Подготовка эскизов
Начнём построение модели. Создаём деталь. Строим новый эскиз на плоскости ZY.
Включаем параметрический режим, отображение ограничений и степеней свободы. Строим два вертикальных отрезка. Их центры выравниваем с началом координат.
Образмериваем их как на рисунке.
Запускаем команду Коническая кривая.
Указываем сначала верхнюю точку левого отрезка, потом верхнюю точку правого отрезка. Произвольно располагаем третью точку (пересечения касательных), примерно как на рисунке. Устанавливаем коэффициент 0,5. Создаём операцию.
Указываем размеры для точки пересечения касательных как на рисунке. Размеры отложены от начала координат.
Строим вертикальный отрезок, примерно как на рисунке
Выравниваем его по вертикали с верхним правым отрезком. Устанавливаем его длину 12 мм.
Ставим размер 167 мм от начала координат до нижней точки отрезка.
Продолжаем строить всё в том же эскизе. Для наглядности все предыдущие построения, кроме нижнего короткого отрезка, на следующих картинках показаны не будут.
Строим коническую кривую из начала координат к нижней части короткого отрезка. Точку пересечения касательных располагаем произвольно. Коэффициент устанавливаем 0,61. Создаём операцию.
Проставляем размеры как на рисунке
Строим произвольную дугу по трем точкам, примерно как на рисунке.
Выравниваем нижнюю точку дуги с верхней точкой короткого отрезка. Устанавливаем радиус дуги 220 мм. Устанавливаем расстояние 40 мм по горизонтали от нижней точки дуги до верхней точкой короткого отрезка.
Устанавливаем вертикальный размер дуги 100 мм, расстояние по горизонтали от начала координат до верхней точки дуги устанавливаем 90 мм.
Продолжаем строить всё в том же эскизе. Для наглядности коническая кривая на следующих картинках показана не будет.
Запускаем команду «Сплайн по полюсам».
Строим из верхней точки короткого отрезка произвольный сплайн из 5 точек, примерно как на рисунке.
Выравниваем по горизонтали верхнюю точку сплайна с верхней точкой дуги. Устанавливаем горизонтальный размер 40 мм между верхней точкой короткого отрезка и верхней точкой сплайна.
Вторую снизу точку сплайна выравниваем по горизонтали с верхней точкой короткого отрезка. Устанавливаем горизонтальный размер между этими точками 14 мм.
Третью снизу точку выравниваем по вертикали со второй и устанавливаем вертикальный размер 46 мм от верхней точки короткого отрезка.
Для последней точки сплайна устанавливаем горизонтальный размер 30 мм и вертикальный размер 80 мм от верхней точки короткого отрезка.
Результат построений. Выходим из режима эскиза.
Запускаем команду «Плоскость через ребро параллельно/перпендикулярно другой грани»
Указываем плоскость ZX, затем указываем левый вертикальный отрезок.
Снова указываем плоскость ZX, затем указываем правый вертикальный отрезок.
Переключаемся на команду «Смещенная плоскость».
Указываем плоскость ZX, вводим расстояние 145 мм. При необходимости меняем направление. Создаём объект.
Запускаем команду «Точка на пересечении».
Указываем плоскость ZX, затем верхнюю коническую кривую. Создаём объект.
Указываем смещенную плоскость, затем верхнюю коническую кривую. Создаём объект.
Создаём эскиз на левой плоскости через ребро и грань.
Строим из начала координат окружность диаметром 52 мм. Выходим из режима эскиза.
Создаём эскиз на плоскости ZX.
Запускаем команду «Спроецировать объект».
Проецируем ближайшую точку. Для проецирования удобно повернуть эскиз на небольшой угол, чтобы её было хорошо видно. Выходим из команды проецирования.
Точка нужна нам для обеспечения гарантированного пересечения эскизов, чтобы последующие операции корректно построились.
Жмём правой кнопкой в свободном месте. В открывшемся контекстном меню выбираем «Нормально к...».
Строим произвольную дугу.
Запускаем команду «Объединить точки». Указываем начало координат и центр дуги.
Переключаемся на команду «Точка на кривой».
Указываем дугу и спроецированную точку.
Запускаем команду Выравнивание. Указываем начало координат и края дуги. Затем указываем горизонтальную прямую для выравнивания по горизонтали.
Запускаем команду «Эллипс».
Указываем начало координат. Указываем правый край дуги. Третью точку располагаем произвольно.
Запускаем команду «Усечь кривую».
Указываем верхнюю часть эллипса.
Устанавливаем размер 34 мм между началом координат и нижней точкой эллипса. Выходим из режима эскиза
Создаём новый эскиз на смещённой плоскости.
Проецируем точку, лежащую на смещённой плоскости.
Проецируем начало координат.
Жмём правой кнопкой в свободном месте. В открывшемся контекстном меню выбираем «Нормально к...».
Строим произвольный эллипс.
Строим горизонтальную прямую, пересекающую эллипс.
Усекаем верхнюю часть эллипса.
Удаляем вспомогательную прямую (клик по ней, затем кнопка Delete на клавиатуре). Объединяем начало координат и центр эллипса.
Выравниваем по горизонтали края дуги эллипса и начало координат.
Проставляем размеры как на рисунке.
Строим эллипс из начала координат. Указываем спроецированную точку и край дуги.
Усекаем нижнюю часть эллипса. Выходим из режима эскиза.
Создаём эскиз на правой плоскости через ребро и грань.
Строим эллипс с центром из начала координат. Указываем верхнюю точку отрезка как первую характерную точку эллипса. Вторую указываем произвольно.
Проставляем размеры как на рисунке. Выходим из режима эскиза.
Создаём ещё один эскиз на той же плоскости
Проецируем короткий отрезок.
Меняем стиль его линии на тонкую, чтобы он не отображался в режиме модели.
Строим произвольный сплайн по полюсам из шести точек, который начинается с верхней точки отрезка, а заканчивается в нижней точке отрезка. Создаём операцию.
Выравниваем по вертикали третью и четвертую точки.
Аналогично поступаем со вторым и пятым полюсами.
Первую и вторую точки выравниваем по горизонтали.
Данное выравнивание требуется для обеспечения касательности сплайна к его зеркальному отражению. Это важно чтобы у двух половин термопистолета не было видно некрасивого шва между ними.
Аналогично по горизонтали выравниваем пятый и шестой полюса.
Проставляем горизонтальные размеры как на рисунке.
Проставляем вертикальные размеры как на рисунке. Выходим из режима эскиза.
Основные формообразующие эскизы завершены, можно приступать к созданию поверхностей.
Создание поверхностей
Переключаемся на набор «Каркас и поверхности». Запускаем команду «Поверхность по сечениям».
Указываем эскизы с окружностями и эллипсами слева направо. Создаём объект.
Обратите внимание, что поверхность состоит из частей. Это связано с тем, что созданные нами ранее эскизы, образующие эту поверхность, также не были цельными.
Переключаемся на команду «Поверхность выдавливания».
Указываем крайний левый эскиз (Эскиз:2). Выдавливаем на расстояние 10 мм. При необходимости меняем направление. Создаём объект.
Переключаемся на команду «Поверхность по траектории».
Указываем нижний маленький эскиз в качестве сечения, и коническую кривую первого эскиза в качестве траектории. Выбираем тип движения сечения «Ортогонально траектории». Создаём объект.
Поверхность по траектории получилась как бы половинчатой. Приведём к такому же виду остальные поверхности, чтобы в дальнейшем просто создать зеркалированием вторую половину.
Запускаем команду «Сшивка поверхностей».
Указываем поверхность выдавливания и поверхность по сечениям. Тело нам создавать пока не требуется. Создаём объект. Запускаем команду «Усечение поверхности».
Переключаемся на режим «Усечение исходной поверхности». Указываем в дереве сшивку поверхностей. Переключаемся на секущий объект и указываем плоскость ZY. При необходимости меняем направление, чтобы затемнённая часть усечения оказалась с той же стороны от плоскости ZY, что и поверхность по траектории. Создаём объект.
Указываем в дереве сшивку поверхностей. Переключаемся на секущий объект и указываем поверхность по траектории. Создаём объект.
Указываем поверхность по траектории. Переключаемся на секущий объект и указываем в дереве сшивку поверхностей. При необходимости меняем направление, чтобы затемнённая часть поверхности по траектории составляла большую часть поверхности, как на рисунке. Создаём объект.
Запускаем команду «Точка на кривой».
Указываем дугу, образующую рукоятку термопистолета. Нам нужно расположить точку в самой верхней части этой кривой, поэтому устанавливаем смещение 100 % от длины кривой. Если точка оказалась внизу, а не вверху — смените направление. Создаём объект.
Указываем сплайн, образующий рукоятку термопистолета. Нам нужно расположить точку в самой верхней части этой кривой, поэтому устанавливаем смещение 0 % от длины кривой. Если точка оказалась внизу, а не вверху — смените направление. Создаём объект.
Направление зависит от порядка построения кривой, одну мы строили снизу, а вторую сверху. Поэтому в первом случае верх — это 100%, а во втором 0%. Направление указывается зелёной стрелочкой.
Наша задача на этом этапе создать пары точек, лежащие на одной горизонтальной плоскости. Небольшие отклонения от горизонтальности допускаются, но лучше их избегать. Чем параллельнее между собой будут пары точек, тем в дальнейшем ровнее будет построенная на их основе сетка кривых, а значит более гладкой будет поверхность, построенная уже на этих кривых.
Снова указываем дугу. Точку нужно расположить примерно по центру, поэтому устанавливаем смещение 62%. Создаём объект.
Третья точка будет не в самой нижней точке, поэтому очевидный вариант 50% не подходит для середины в данном случае. Данный процент был подобран методом подбора для обеспечения наибольшей горизонтальности между точками пары.
Указываем теперь сплайн. Устанавливаем смещение 40,5%. Создаём объект. На картинке условно показана горизонтальная линия. Надо стараться максимально к ней приблизится.
Снова указываем дугу. Устанавливаем смещение 23%. Создаём объект.
Указываем сплайн. Устанавливаем смещение 76%. Создаём объект.
Запускаем команду «Отрезок по координатам».
Кликаем по точкам как на рисунке.
Строим два оставшихся отрезка.
Запускаем команду «Плоскость через ребро параллельно/перпендикулярно другой грани»
Переключаемся на положение плоскости «Перпендикулярно грани». Указываем плоскость ZY и верхний отрезок.
Помним про небольшое отклонение отрезков от горизонтали. Оно не позволит нам использовать режим Параллельно грани во всех случаях. Верхний отрезок горизонтальный, а остальные — нет.
Аналогично строим плоскости на двух других отрезках. Выходим из команды.
Создаём эскиз на верхней плоскости.
Проецируем отрезок, как на рисунке.
Строим сплайн по полюсам из шести полюсов, края которого лежат на вершинах проекции отрезка. Строим ограничения и размеры как на рисунке.
Поверхности и плоскости на картинке скрыты для наглядности. Не перепутайте направление — эскиз должен быть с той же стороны относительно плоскости ZY, что и остальные построения.
Создаём эскиз на средней плоскости.
Аналогично проецируем отрезок и строим сплайн по полюсам, затем накладываем на него размеры и ограничения, как на рисунке.
Проделываем все те же действия на последней плоскости.
Обратите только внимание, что второй и пятый полюса сплайна не лежат на одной горизонтали. Это требуется для создания небольшого заужения на рукоятке.
Для большей стабильности поверхности нам требуется создать третью кривую в вертикальном направлении. На картинке слева показан пример продления поверхности по сети кривых без промежуточной кривой по вертикали — видно, что продление вырождается, появляется «острый угол». Справа при наличии промежуточной кривой мы видим более стабильный результат. Поэтому не ленимся и строим третью промежуточную кривую.
Запускаем команду «Точка на кривой», указываем верхний эскиз и вводим значение смещения 50%. Создаём объект.
Проделываем аналогичные действия на двух других эскизах.
Запускаем команду «Сплайн по точкам» и указываем построенные точки, как на рисунке. Создаём объект.
Запускаем команду «Поверхность по сети кривых».
Важно — не перепутайте порядок кривых в направлениях U и V, иначе в некоторых версиях может не построится продление.
Выбираем кривые и сплайн слева направо, как показано на рисунке. Переключаемся на «Направление V» - для этого кликаем там, где показано стрелкой на картинке.
Указываем снизу вверх все три сплайна из эскизов, как показано на рисунке. Видим, что появился фантом поверхности, значит всё построено корректно.
Теперь зададим сопряжения. Выбираем первую границу. Указываем плоскость ZY и левую кривую, как на рисунке. Устанавливаем условие «Перпендикулярность».
Делаем всё тоже самое для третьей границы и правой кривой. Создаём объект.
Построение перпендикулярных сопряжений требуется, чтобы обеспечить гладкость кромки между зеркальными частями. Это важно чтобы у двух половин термопистолета не было видно некрасивого шва между ними.
Запускаем команду «Продление поверхности».
Указываем нижнюю кромку поверхности по сети кривых и задаём длину 26 мм. Создаём объект.
Запускаем команду «Усечение поверхности».
Переключаемся на усечение исходной поверхности. Указываем в качестве усекаемой поверхности поверхность по сети кривых, а в качестве секущей — поверхность по траектории. Меняем направление, чтобы закрашенной осталась большая часть поверхности. Создаём объект.
Теперь наоборот, указываем в качестве усекаемой поверхности поверхность по траектории, а в качестве секущей — поверхность по сети кривых. Создаём объект.
Можно было бы сделать аналогичное продление вверх, но тогда ручка будет смотреться некрасиво. Надо сделать там красивый переход между рукояткой и корпусом.
Запускаем команду «Эквидистанта поверхности».
Указываем поверхность по сети кривых, устанавливаем расстояние 10 мм. При необходимости меняем направление, чтобы эквидистанта поверхности строилась наружу. Создаём объект.
Запускаем команду «Продление поверхности». Указываем верхнее ребро эквистанты, задаём длину 31мм. Создаём объект.
Запускаем команду «Усечение поверхности». Переключаемся на усечение исходной поверхности. Указываем в качестве усекаемой поверхности поверхность по сечениям, а в качестве секущей — эквидистанту. При необходимости меняем направление, чтобы закрашенной осталась большая часть поверхности. Создаём объект.
Запускаем команду «Удалить грани».
Выбираем эквидистанту. Убираем галочку «Сохранить целостность». Создаём объект.
Запускаем команду «Сплайн по точкам».
Указываем левые вершины углов верхней части рукоятки и ствола термопистолета, как показано на рисунке. Переключаемся на режим редактирования.
Выбираем первую вершину. Указываем способ управления формой - «Сопряжением». Указываем объект сопряжения нижнее ребро поверхности по сечениям, как показано на рисунке. Устанавливаем условие «По касательной».
Выбираем вторую вершину. Указываем способ управления формой - «Сопряжением». Указываем объект сопряжения левое ребро поверхности по сети кривых, как показано на рисунке. Устанавливаем условие «По касательной». Создаём объект.
Указываем правые вершины углов верхней части рукоятки и ствола термопистолета, как показано на рисунке. Переключаемся на режим редактирования.
Настраиваем сопряжения аналогично левой стороне. Создаём объект.
Запускаем команду «Поверхность по сети кривых».
Указываем нижнее ребро поверхности по сечениям, полученное усечением эквидистантой, а затем указываем верхнее ребро поверхности по сети кривых. Переключаемся на направление V.
Указываем левый, затем правый сплайны.
Задаём сопряжения поверхности. Выбираем первую границу. Указываем нижнюю грань поверхности по сечениям, задаем условие «По касательной».
Выбираем третью границу. Указываем поверхность по сети кривых. Задаем условие «По касательной».
Выбираем вторую границу. Указываем плоскость ZY. Задаем условие «Перпендикулярно».
Выбираем четвертую границу. Делаем аналогично прошлому сопряжению. Создаём объект.
Запускаем команду «Сшивка поверхностей». Указываем все четыре поверхности. Тело создавать не требуется. Создаём объект.
Запускаем команду «Зеркальный массив».
Указываем сшитую поверхность. Затем переключаемся на плоскость.
Указываем плоскость ZY. Создаём объект.
Запускаем команду «Заплатка».
Указываем два наружных ребра поверхности выдавливания. Создаём объект.
Указываем четыре наружных ребра поверхности по сечениям. Создаём объект.
Указываем два наружных ребра поверхности по траектории. Создаём объект.
Твердотельное моделирование
Здесь без доработки модели с помощью твердотельного моделирования не обойтись. Сначала сделаем из набора поверхностей твёрдое тело.
Запускаем команду «Сшивка поверхностей». Указываем обе зеркальных поверхности и все три заплатки. Ставим галочку «Создать тело». Создаём объект.
Переключаемся на набор «Твердотельное моделирование». Запускаем команду «Скругление».
Указываем ребро заплатки, как показано на рисунке. Устанавливаем радиус 6 мм. Создаём объект.
Переключаемся на способ построения «С постоянной хордой». Указываем ребро самой малой заплатки. Устанавливаем хорду 3 мм. Создаём объект.
Указываем ребро пересечения рукоятки и гарды. Устанавливаем хорду 5 мм. Создаём объект.
Указываем ребро пересечения ствола и гарды. Устанавливаем хорду 12 мм. Создаём объект.
Запускаем команду «Оболочка».
Устанавливаем толщину 2,5 мм. Указываем грань раструба пистолета. Создаём объект.
Получился такой результат
Попробуйте самостоятельно доделать термопистолет. Пример готовой сборки есть в папке Samples с установленным КОМПАСом.