. 3D моделирование. Болт с резьбой.
3D моделирование. Болт с резьбой.

3D моделирование. Болт с резьбой.

Продолжаем тему 3D моделирование в AutoCAD.

В этом уроке мы программным методом построим Болт с резьбой.

При создании болта в программе будем использовать стандартные команды Автокад.

Для примера мы построим болт М16.

Откройте редактор Visual LISP: Введите в командной строке « VLIDE» (или « VLISP ») и нажмите < Enter >.

Создайте новый файл.

В начале, для лучшей наглядности и более простому указанию элементов болта переведем чертеж ЮЗ изометрию при помощи стандартной команды Автокад « _-view «:

Затем добавим исходные данные, для построения головки болта:

Добавим переменную raz_g , в которой будет хранить размер под ключ:

Переменную h_g , в которой будет хранить высоту головки болта:

И переменную fas_g , в которой будет хранить размер фаски головки болта:

Затем добавляем запрос базовой точки, от которой мы начнем наши построения:

Координаты базовой точки сохраняем в переменной bp :

Рис. 1. Задаем исходные данные.

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

И в конце программы вернем привязки установленные пользователем:

Рис. 2. Управление привязками.

Теперь приступим непосредственно к построению:

В начале постоим шестигранник при помощи стандартной команды «_polygon» :

Выделите текст, как показано на рисунке и нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 3.

Рис. 3. Загрузка выделенного фрагмента.

Программа переедет в Автокад. На запрос: « Укажите базовую точку: » Укажите любую точку в рабочем окне Автокад. Программа построит шестигранник. См . Рис. 4.

Рис. 4. Шестигранник

Далее при помощи команды «Выдавить» (« _extrude «) построим головку болта:

Добавьте эту строку в программу выделите ее и нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 5.

Рис. 5. Головка болта.

Перейдите в Автокад. Программа построила головку болта. См. Рис. 6.

Рис. 6. Головка болта.

Запомним наш последний построенный примитив в переменной 3dgon :

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

Чтобы определить координаты первой точки, используем функцию mapcar :

Функцию mapcar поочередно применяет <функцию> сначала к первым элементам списков, затем ко втором и так далее. В результате образуется новый список, который и является возвращаемым значением. В нашем случаи я к списку координат базовой точки р1 прибавляю список, который изненит координату X на значение r1

Координаты первой точки сохраняем в переменной р1 :

Координаты второй точки определяем относительно первой, путем изменения координаты Х на размер фаски fas_g :

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

Значение расстояния сохраняем в переменной а1 :

Координаты третьей точки определяем относительно первой, путем изменения координаты Z на расстояние а1 :

Все точки определены, строим треугольник при помощи 3D полилинии:

Добавьте эти строки в программу, выделите их нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 7.

Рис. 7. Режущий треугольник

Перейдите в Автокад. Программа построила нужный треугольник. См. Рис. 8.

Рис. 8. Режущий треугольник

Запомним наш последний построенный примитив в переменной 3dp :

Теперь, давайте построим фигуру вращения, вращая наш треугольник вокруг оси параллельной оси Z и проходящей через базовую точку bp:

Найдем вторую точку оси относительно bp , изменив координаты Z на 10 :

Строим фигуру вращения:

Добавьте строки в программу, выделите их нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 9.

Рис. 9. Фигура вращения

Перейдите в Автокад . Программа построила фигуру вращения. См. Рис. 10.

Рис. 10. Фигура вращения

Давайте вычтем нашу фигуру вращения и головки болта:

Добавьте эту строку в программу, выделите ее нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 11.

Рис. 11. Фаска на головке болта.

Перейдите в Автокад. Программа сделала на головке фаску. См. Рис. 12.

Рис. 12. Фаска на головке болта.

Запомним наш последний построенный примитив (головку с фаской) в переменной 3dsh :

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

Зададим исходные данные:

Определим радиус стержня:

На верхней поверхности головке рисуем круг:

Далее при помощи команды «Выдавить» («_extrude») построим стержень болта:

Добавьте строки в программу, выделите их нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 13.

Рис. 13. Стержень болта.

Перейдите в Автокад. Программа построила стержень болта. См. Рис. 14.

Рис. 14. Стержень болта.

Давайте объединим стержень и головку болта в единый 3D объект:

Запомним наш последний построенный примитив (3D болт) в переменной 3db :

Определим точку на кромке (кромка — линия соединения головки и стержня):

Создадим сопряжение стержня и головки:

Добавьте строки в программу, выделите их нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 15.

Рис. 15. Сопряжение стержня и головки.

Перейдите в Автокад. Программа построила сопряжение стержня и головки. См. Рис. 16.

Рис. 16. Сопряжение стержня и головки.

Теперь создадим фаску на конце стержня:

Определим точку на кромке конца стержня относительно точки нижней кромки, изменив координаты Z на высоту стержня h_s :

Добавьте строки в программу, выделите их нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 17.

Рис. 17. Фаска на конце стержня.

Перейдите в Автокад. Программа построила фаску на конце стержня. См. Рис. 18.

Рис. 18. Фаска на конце стержня.

Приступим к построению резьбы.

Определим количество витков резьбы и сохраним его в переменной kol_v :

Всю резьбу разделим на две части:

Основная резьба – kol_v минус 2 витка

Нисходящая резьба – 2 витка.

Определим точки начала резьбы:

Координаты нижней точки Нисходящая резьбы определяем относительно bpo , путем изменения координаты Z на размер равный разности высоты стержня h_s и длины резьбы dl_r :

Координаты нижней точки основной резьбы расположены на два витка выше относительно ps1:

Строим пружину для основной резьбы:

Добавьте строки в программу, выделите их нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 19.

Рис. 19. Пружина Основной резьбы.

Перейдите в Автокад. Программа построила пружину Основной резьбы. См. Рис. 20.

Рис. 20. Пружина Основной резьбы.

Вид спереди выглядит так. См. Рис. 21.

Рис. 21. Пружина Основной резьбы. Вид спереди.

Запомним наш последний построенный примитив (пружина) в переменной spir1 :

Строим пружину для Нисходящей резьбы:

Добавьте строки в программу, выделите их нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 22.

Рис. 22. Пружина Нисходящей резьбы.

Перейдите в Автокад. Программа построила пружину Нисходящей резьбы. См. Рис. 23.

Рис. 23. Пружина Нисходящей резьбы.

Вид спереди выглядит так. См. Рис. 24.

Рис. 24. Пружина Нисходящей резьбы. Вид спереди.

Запомним наш последний построенный примитив (пружина) в переменной spir2 :

Давайте объедим прижины:

Теперь нам нужно построить режущий равносторонний треугольник. Размер его стороны будет равен:

Расположить его нужно, как показано на рис. 25.

Рис. 25. Расположение режущего треугольника.

Давайте определим координаты точки pt1 относительно точки ps1 :

Координата Х изменится на величину нижнего радиуса, который равен ( + r_s ( * 1.5 sh_r ) плюс 0.2 . Сохраним значение в переменной is_X

Координата Z изменится на половину длины стороны треугольника. Сохраним значение в переменной is_Z

Координаты точки pt1:

Определим координаты точки pt2 относительно точки pt1:

Для определения координат точки pt3, в начале определим высоту треугольника и сохраним ее в переменной vis :

Определим координаты точки pt3 относительно точки pt2:

Все точки определены, строим треугольник при помощи 3D полилинии:

Добавьте эти строки в программу, выделите их нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 26.

Рис. 26. Режущий треугольник.

Перейдите в Автокад. Программа построила режущий треугольник. См. Рис. 27. Вид спереди.

Рис. 27. Режущий треугольник.

Запомним наш последний построенный примитив (режущий треугольник) в переменной 3dp :

Теперь при помощи стандартной команды «Сдвиг» будет стоит 3d объект треугольником вдоль всей пружины. Но вначале определим координаты точки начала пружины относительно точки ps1 :

И координаты точки конца пружины относительно точки ps2:

Строим 3d объект при помощи команды «Сдвиг»:

Добавьте эти строки в программу, выделите их нажмите на кнопку « Загрузить выделенный фрагмент ». См. Рис. 28.

Рис. 28. Построение 3D объекта при помощи «Сдвига».

(команда «Сдвиг» в зависимости от мощности компьютера может занять несколько секунд)

Перейдите в Автокад. Программа построила 3D объект при помощи «Сдвига». См. Рис. 29.

рис. 29. Построение 3D объекта при помощи «Сдвига».

Нам остается лишь вычисть последний построенный объект из 3d болта:

Добавьте эту строку в программу, выделите строки как показано на рис. 30 нажмите на кнопку « Загрузить выделенный фрагмент ».

Рис. 30. Вычитание последнего построенного объекта.

Перейдите в Автокад. Программа построила резьбу. См. Рис. 31.

Давайте посмотрим болт в другом визуальном стили. Например: в Концептуальном. Нажмите на надпись 2D каркас с лева в верхнем углу рабочего окна Автокад. И выберите «Концептуальный». См. Рис. 32.

Рис. 32. Смена визуального стиля.

Вид 3D болта в Концептуальном стиле. См. Рис. 33

Рис. 33. Вид 3D болта в Концептуальном стиле.

Вид 3D болта спереди. См. Рис. 34

Рис. 34. Вид 3D болта спереди в Концептуальном стиле.

Давайте при помощи функции defun преобразуем нашу программу в команду Автокад:

В начале программы добавим строку, в которой придумаем имя новой команды ( 3d_bolt ) и перечислим все временные переменные:

В конце программы добавим закрывающую скобку.

Не забудьте сохранить программу.

Окончательный вариант программы см. Рис. 35.

Рис. 35. Программа 3D болт.

Теперь чтобы загрузить нашу программу нажимаем на кнопку «Загрузить активное окно редактора».

Чтобы запустить нашу новую команду ( 3d_bolt ) :

Перейдите в AutoCAD. В командной строке наберите 3d_bolt и нажмите клавишу < Enter >.

На запрос: « Укажите базовую точку : ». Укажите любую точку в рабочем окне AutoCAD. Программа построит 3D болт.

Если к этой программе, дополнительно, создать диалоговое окно, в котором будут задаваться основные параметры болта см. Рис. 36.

Рис. 36. Диалоговое окно.

то программа будет, за считанные секунды, создавать 3D болты с другими параметрами.

Затем для быстрого выбора стандартных болтов можно создать таблицу Excel, в которой указать типы болтов и их основные параметры. См. Рис. 37.

рис. 37. Таблица Excel.

Подключить эту таблицу к форме, и для ввода параметров стандартного болта достаточно будет выбрать тип болта в пункте « Выберите болт ».

Пример такой программы приведен в конце видео.

Смотрите видео к этому уроку:

На этом наш урок окончен. Надеюсь, что эта статья оказалось кому-то полезной, и 3D моделирование в AutoCAD, стало для Вас более быстрым и комфортным.

Вы можете бесплатно скачать LISP программу создания 3D болта с резбой:

Если у Вас появились вопросы, задавайте их в комментариях.

Я с удовольствием отвечу.

Также пишите в комментариях или мне на почту:

Была ли для Вас полезной информация, данная в этом уроке?

На какие вопросы программирования, Вы хотели бы, увидит ответы в следующих уроках?

📎📎📎📎📎📎📎📎📎📎