Основы Wings3D

В kicad-е есть возможность оценить объёмный вид будущей печатной платы — если привязать к корпусам элементов 3d-модели в формате VRML. Для создания этих моделей воспользуемся Wings3D как довольно легковесным, несложным и свободным 3d-редактором.
В статье поделюсь своим небольшим опытом работы c этой программой.

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

В качестве примера давайте создадим горизонтальный держатель для батареи CR2 — для этого понадобится, собственно, деталь и штангенциркуль:
Держатель CR2

Представим деталь в виде набора простейших примитивов — это цилиндр диаметром 22 мм, высотой 8,5 мм, сбоку к которому приставлен прямоугольник 7,5х3х8,5 мм. Так же замерим расстояние между выводами — 20,3 мм, что составляет восемь шагов по 2,54 мм. Начнём с цилиндра — щелкаем по полю правой кнопкой мыши и выбираем Cylinder, который тут же появляется на экране.

Своим геометрическим центром цилиндр находится в начале координат и ориентирован по оси Y. При импорте в kicad плоскость платы будет совпадать с плоскостью XY в wings, поэтому нам нужно, для начала, развернуть цилиндр вокруг оси X на 90 градусов. Нажмём вверху экрана кнопку выбора всего тела целиком и щёлкнем по цилиндру. Он станет красного цвета. Сбросить текущее выделение можно клавишей пробела. Правая кнопка мыши на нём — Rotate — вокруг оси X. Далее можно перемещать мышью или нажать Tab и ввести числовое значение — 90. Цилиндр сориентируется по оси Z. Снова правая кнопка мыши — Absolute Commands — Scale. Здесь мы можем задать размеры объекта в абсолютных координатах. По X и Y зададим 22, по Z — 8,5 (обратите внимание, что в программе дробная часть отделяется точкой, а не запятой). Мы получили нужный размер, но теперь нужно поставить основание цилиндра на плоскость XY, иначе он у нас увязнет в плате. Для этого поднимем его на половину высоты. ПКМ — Absolute Commands — Move и вводим 4,25 в окошке Z. Вот что должно получиться:
Заготовка цилиндра
Проверим себя — выберем наверху фильтр по узлам, и наведём курсор на какую-нибудь точку верхней грани. Под строкой меню появится подсказка с координатами этой точки.

Теперь займёмся прямоугольным выступом. Выделим две плоскости, прилегающие к оси X:
Выделение выступа
И применим ПКМ — Extrude — X, Tab — 3. Эта команда вытягивает объёмные фигуры из плоских граней. Но наши угловые грани отстают от средней, повторяя цилиндрическую поверхность родного тела. Передвинем их вперёд до отметки 14 по оси X (радиус 11 + 3 толщина выступа). Для этого выставим фильтр граней, выделим две угловые грани выступа и применим ПКМ — Absolute Commands — Move, где укажем 14 по X. Теперь зададим точную ширину (7,5) выступа. Выделим сначала одну боковую плоскость, в положительной части оси Y и применим Absolute Commands — Move, где укажем 3,25 по Y. Затем аналогично для другой стороны, но там уже указываем -3,25.
Заготовка цилиндра

Сделаем вырез — для этого замерим штангенциркулем толщину стенки (1 мм) и глубину (6,5 мм). Выделим три плоскости что составляю верх нашего держателя и применим ПКМ — Intrude, Tab — 1. Тем самым мы превратили наше твёрдое в оболочку. Но так как глубина выреза должна быть 6,5 мм, необходимое ещё приподнять дно на 0,5 мм, до координаты (8,5-6,5 = 2 по оси Z). Выделяем три плоскости, из которых состоит дно выреза и применяем ПКМ — Move — Z, Tab — 1. Заметье, что здесь мы использовали не абсолютные координаты, а относительные, то есть сдвинули поверхность с исходной точки (1 по Z) на 1, получив, в итоге, 2. А теперь срежем боковые стенки близко к оригиналу. Для этого используем штангенциркуль и Move применительно к полигонам толщиной 1 на виде сверху. Вот что примерно должно получиться:
Заготовка держателя

Чтобы сделать два выреза в днище (как на фото), нужно в него добавить побольше полигонов. Выделим «круглую» плоскость дна и применим к ней ПКМ — Inset. Нажимаем Tab и вводим процентов 15. Теперь у нас появилось кольцо из полигонов. На нижней стороне днища надо сделать два кольца — одно 5%, чтобы компенсировать толщину, второе тоже 15%. Это нужно для того, чтобы на обоих сторонах возможно было отметить область, подлежащую вырезу. Иначе нижняя сторона у нас будет состоять всего из одного полигона. Вот как на картинке:
Делаем вырез
К выделенным полигонам применим ПКМ — Bridge. Эта команда создаст между ними туннель и, заодно, залепит его боковые стенки новыми полигонами. Закончим с пластиковой частью — покрасим её. Выделяем все полигоны объекта — в режиме фильтра по плоскостям зажимаем левую кнопку мыши и растягиваем рамочку на всю картинку. (Или можно выделить объекты в соответствующем режиме фильтра, и в заголовке ПМК-меню нажать на символ нужного фильтра — тогда выделение преобразуется к нужному типу). Нажимаем правую кнопку наводим курсор на Material и снова нажимаем правую. Так мы создадим новый тип материала. Там настраивается цвет, светоотражательные свойства и всё такое. Потом просто применим этот материал к полигонам.

Создадим выводы диаметром 0,5 мм, длиной 3,5 мм. Всё аналогично — новый объект цилиндр, разворот на 90 градусов вокруг X, Absolute Commands — Scale X: 0,5; Y: 0,5; Z: 3,5. Absolute Commands — Move X: 13; Y: 0; Z: -1,75. Теперь скопируем его — для этого применим ПКМ — Absolute Commands — Move, где в X запишем -7,32 (13 — 20,34), а в поле Dublicate — 1. Язычок оставляю на откуп читателю. Его можно сделать из примитива Cube методом постепенной вытяжки полигонов. Для упрощения работы можно применять команду Put On — она передвигает объект, стыкуя выбранный на нём полигон с поверхность другого объекта.

Напоследок сделаем вот ещё что: выделяем все объёкты и ПКМ — Move — X, Tab — минус 13. Так мы поместим один из выводов в начало координат. В kicad-е, когда будем делать корпус элемента, соответствующую площадку тоже поместим в начало координат. Теперь сохраняем файл и делаем экспорт в *.wrl. А после того, как нарисовали в kicad-е корпус, в его свойствах на вкладке настроек 3D, указываем нужный VRML-файл. Там же можно настроить масштаб модели и смещение, если что-то не сходится. Сразу укажем масштаб по всем трём осям 0,394 (1 / 2,54). (Смещение в моём случае 0,8 по Х). Причины, по которым происходит рассогласование, я ещё не понял до конца, поэтому здесь придётся поиграть числами, подгоняя модель к площадкам.

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

На плате
  • +2
  • 09 марта 2012, 21:21
  • sndrz
  • 1
Файлы в топике: cr2_hor.zip

Комментарии (8)

RSS свернуть / развернуть
Немного про Wings3D было тут:
we.easyelectronics.ru/CADSoft/sozdaem-3d-detalki-dlya-diptrace.html
we.easyelectronics.ru/CADSoft/sozdaem-3d-detalki-dlya-diptrace.html
PS Разделите теги запятыми.
0
  • avatar
  • ACE
  • 09 марта 2012, 21:44
0
Эх, оказывается всё уже есть.
Теги исправил, спасибо.
0
Имхо изврат эти ваши «крылья», проще освоить нормальный пакет твердотельного моделирования, тот же SolidWorks, который кстати тоже умеет сохранять в WRL. У меня от одного только метода позиционирования детали в wings рвет крышу.
+1
+1 Все повидал, но Wings3D запутанней и не удобней чем 3d Max.
0
SolidWorks это всё-таки САПР; а Wings и 3DMax — несколько другое. Так же цена, легковесность и кроссплатформенность играют роль.
+1
Гугл Скетч напомнило, такое же буэээ…
0
А нас в универе учили Autodesk Inventor, вот с тех пор и рисую 3д модельки для альтиума в нем.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.