Форматы подключаемых 3D-моделей
Среда Altium Designer позволяет подключать внешние 3D-модели одного из трёх форматов данных: STEP, Parasolid или SolidWorks Part File. Кратко рассмотрим, что из себя представляют эти форматы.
STEP
STEP является одним из названий стандарта ISO 10303, который представляет собой совокупность прикладных протоколов, предназначенных для компьютерного представления и обмена данными модели изделия. Данный стандарт позволяет описывать в электронном виде как геометрию изделия, так и весь его жизненный цикл, включая технологию изготовления и контроль качества. За передачу и хранение геометрических данных отвечают протоколы AP203 и AP214. Первый может хранить исключительно геометрию, второй сохраняет ещё и цвет. Для проектирования электроники задумывался протокол AP210, однако он не получил должного развития. Для решения задач обмена данными в настоящее время применяется преимущественно протокол AP214. Файлы 3D-моделей имеют расширение *.step или *.stp [1].
Parasolid
Parasolid является коммерческим ядром, предназначенным для математического представления и управления трёхмерной моделью изделия. Твердотельные модели хранятся в файлах типа *.x_t или *.x_b. В файлах первого типа данные представлены в текстовом виде, а в файлах второго – в двоичном, благодаря чему они меньше зависят от аппаратных средств и поэтому не дают ошибок при преобразованиях.
Ядро Parasolid является собственностью компании Siemens PLM Software, которая занимается его разработкой и поддержкой и применяет в собственных системах NX, Solid Edge, Femap и Teamcenter, а также предоставляет лицензии иным разработчикам программного обеспечения, в том числе компаниям Dassault Systemes и Топ Системы, использующим это ядро в своих САПР SolidWorks и T-Flex соответственно [2].
Solidworks Part File
Файлы типа Solidworks Part File используются в САПР SolidWorks для хранения электронной модели детали. Файлы данного типа имеют расширение *.sldprt.
Подключение 3D-моделей
Для краткости примем следующие сокращения: левая клавиша мыши – ЛКМ, правая клавиша мыши – ПКМ, 3D-модель – модель.
Подключить модель можно как к проекту печатной платы, так и к посадочному месту. Модели подключаются одним из трёх способов: вставкой из хранилища Altium Vault, указанием ссылки на её файл или встраиванием непосредственно в библиотечный компонент или в файл печатной платы. Вставку модели из хранилища Altium Vault рассматривать не будем, так как это относится к теме работы с хранилищем.
Встраивание 3D-моделей
При встраивании модели вся информация о ней сохраняется в файле печатной платы или в библиотечном компоненте и больше не зависит от внешних факторов. Данный способ имеет один недостаток – среда Altium Designer никаким образом не отслеживает состояние модели.
Чтобы встроить модель, необходимо выполнить команду Place –> 3D Body (горячие клавиши P –> B). В результате откроется окно 3D Body (см. рис. 1).
В верхней части этого окна расположена область 3D Model Type, в которой находится переключатель типа модели. Нас интересует положение Generic 3D Model.
Ниже расположена область Properties. В строке ввода Identifier указывается идентификатор модели. Выпадающее меню Body Side позволяет выбрать сторону платы для размещения модели. С помощью выпадающего меню Layer можно выбрать слой, в который будет вставлена модель. Вставить модель можно в любой из механических слоёв. Также в этой области расположена галочка Locked, с помощью которой можно заблокировать положение модели.
Ниже расположена область Display. Если включить расположенную в этой области галочку Override color, то модель будет перекрашена. Цвет модели в таком случае задаётся с помощью опции 3D Color, а с помощью бегунка 3D Color Opacity можно менять прозрачность модели.
Самая главная для нас область называется Generic 3D Model. В верхней части этой области расположен переключатель способа подключения. Для встраивания необходимо выбрать позицию Embedded. После этого внизу области появится кнопка Load From file…, которая позволяет выбрать файл подключаемой модели. После выбора модели, она отобразится в окне, расположенном по центру области Generic 3D Model. С правой стороны расположены элементы управления для поворота модели вокруг осей X, Y или Z, а также для выбора расстояния от поверхности платы. Кнопка Remove позволяет удалить модель.
В нижнем левом углу окна 3D Body находится таблица Snap Points, с помощью которой можно добавлять, удалять или выравнивать точки привязки модели. В правом нижнем углу окна находится таблица Axes, предназначенная для добавления или удаления векторов модели.
После нажатия кнопки OK, окно 3D Body закроется, а подключаемая модель появится в рабочем окне текущего редактора и будет передвигаться вместе с курсором. Остаётся лишь установить модель щелчком ЛКМ. После этого снова откроется окно 3D Body, с помощью которого можно подключить следующую модель. Если в этом нет необходимости – достаточно закрыть окно
с помощью кнопки Cancel [3].
Подключение 3D-моделей в виде ссылки
При подключении модели в виде ссылки среда Altium Designer отслеживает состоянии модели. При наличии изменений появляется соответствующее окно с запросом на обновление. Недостаток данного способа заключается в том, что все файлы моделей необходимо хранить по строго заданному пути.
Подключение модели в виде ссылки почти ничем не отличается от встраивания. Разница только в том, что переключатель, расположенный в окне 3D Body в области Generic 3D Model необходимо перевести в положение File. В нижней части области появится кнопка Select. После нажатия этой кнопки откроется окно Choose Model (см. рис. 2), в котором необходимо выбрать модель. Все остальные действия идентичны тому, что было описано выше для встраивания моделей.
Если в окне Choose Model отсутствуют нужные пути поиска, то значит они не были заданы ранее. Чтобы это сделать, необходимо нажать расположенную в нижнем левом углу кнопку Add Directories, в результате чего откроется окно Preferences на вкладке PCB Editor – Models (см. рис. 3).
Основную часть вкладки занимает окно, где отображаются пути хранения файлов моделей. Чтобы задать новый путь, необходимо прописать его в расположенной ниже строке ввода, а после этого нажать кнопку Add. Кнопка Delete позволяет удалить заданные ранее пути. Окно Preferences можно также открыть из редактора печатных плат или из редактора посадочных мест с помощью команды DXP –> Preferences [4].
Управление 3D-моделями
После подключения модели её можно перемещать вдоль осей X, Y и Z, а также поворачивать на заданный угол. Помимо стандартных для среды Altium Designer переноса поворота, выравнивания и переноса на противоположную сторону, для манипуляций с моделями существует ряд специфических команд.
Для управления положением подключённых моделей используются вершины, поверхности и точки привязки. Точки привязки добавляются вручную. Их можно располагать на вершинах модели или по центру между двух вершин. Чтобы добавить точки привязки необходимо выполнить следующие действия:
- Запустить команду Tools –> 3D Body Placement –> Add Snap Points From Ver-tices (горячие клавиши T –> B –> A).
- Щелчком ЛКМ выбрать модель. Появится восьмилучевой указатель голубого цвета.
- Установить восьмилучевой указатель на нужную вершину и щёлкнуть ЛКМ. Если нужно добавить точку привязки по центру между двух точек, нажать клавишу «Пробел», а потом щелчками ЛКМ последовательно выбрать две вершины.
- Продолжить добавление точек привязки или закончить, щёлкнув ПКМ или нажав клавишу «ESC».
Чтобы удалить точки привязки, необходимо выполнить следующие действия:
- Запустить команду Tools –> 3D Body Placement –> Remove Snap Points (горячие клавиши T –> B –> R).
- Щелчком ЛКМ выбрать модель.
- Установить восьмилучевой указатель на точку привязки и удалить её щелчком ЛКМ.
- Продолжить удаление точек привязки или закончить, щёлкнув ПКМ или нажав клавишу «ESC» [5].
Совет: если необходимо, чтобы восьмилучевой указатель привязывался только к вершинам или только к точкам привязки, то в режиме выбора точек можно нажать клавишу «Tab», что приведёт к открытию окна Choose Selectable Points, с помощью которого можно настроить, какие точки будут выбираться: Include Vertices – вершины и (или) Include Snap Points – точки привязки (см. рис. 4) [5].
Команда Orient And Position 3D Body предназначена для одновременного переноса и поворота модели. Эта операция выполняется по шести точкам, три из которых выбираются на модели, а ещё три – на плоскости платы или посадочного места.
Для выполнения этой операции необходимо сделать следующее (см. рис. 5):
- Запустить команду Tools –> 3D Body Placement –> Orient And Position 3D Body (горячие клавиши T –> B –> O).
- Щелчком ЛКМ выбрать модель.
- Навести восьмилучевой указатель на первую вершину модели или точку привязки и щёлкнуть ЛКМ. Эта точка впоследствии будет совмещена с соответствующей точкой на печатной плате или посадочном месте.
- Аналогичным образом выбрать на модели вторую точку, которая вместе с первой образует вектор. Впоследствии он будет совмещён с соответствующим вектором на поверхности платы или посадочного места.
- Аналогичным образом выбрать на модели третью точку, которая вместе с первыми двумя образует плоскость. Впоследствии она будет совмещена с плоскостью на поверхности платы или посадочного места. После выбора третьей точки курсор примет вид двух конусов голубого цвета.
- Щелчком ЛКМ выбрать на поверхности платы или посадочного места четвёртую точку. С данной точкой впоследствии будет совмещена первая точка модели.
- Аналогичным образом выбрать на поверхности платы или посадочного места пятую точку, которая вместе с четвёртой образует вектор. Впоследствии с ним будет совмещён вектор модели.
- Аналогичным образом выбрать на поверхности платы или посадочного места шестую точку, которая вместе с первыми двумя образует плоскость. С ней будет совмещена плоскость модели. После выбора этой точки модель будет перемещена и повёрнута [5].
Команда Position 3D Body предназначена для переноса модели. Перемещение производится за счёт совмещения точки, выбранной на модели, с точкой, выбранной на плате. Модель передвигается как вдоль плоскости платы, так и по высоте.
Чтобы переместить модель, необходимо выполнить следующую последовательность действий (см. рис. 6):
- Запустить команду Tools –> 3D Body Placement –> Position 3D Body (горячие клавиши T –> B –> P).
- Щелчком ЛКМ выбрать модель.
- Навести восьмилучевой указатель на вершину модели или точку привязки и выбрать точку щелчком ЛКМ. Курсор примет вид двух конусов голубого цвета.
- Щелчком ЛКМ выбрать точку на поверхности платы или посадочного места. С данной точкой будет совмещена точка, выбранная на модели. Модель будет перемещена [5].
Команда Set Body Height предназначена для изменения положения модели по высоте относительно выбранной на ней точки.
Чтобы выполнить эту процедуру, необходимо сделать следующее (см. рис. 7):
- Запустить команду Tools –> 3D Body Placement –> Set Body Height (горячие клавиши T –> B –> H).
- Щелчком ЛКМ выбрать модель.
- Навести восьмилучевой указатель на вершину модели или точку привязки и щёлкнуть ЛКМ. Откроется окно Choose Height Above Board Top Surface (или Choose Height Above Board Bottom Surface), содержащее переключатель.
- В открывшемся окне необходимо задать расстояние от выбранной на модели точки до поверхности платы. Если переключатель перевести в положение Board Surface, то модель переместится таким образом, что выбранная на ней точка будет совмещена с поверхностью платы. Если переключатель перевести в положение Custom, то активируется строка ввода, в которой необходимо ввести значение высоты.
- После нажатия кнопки OK окно закроется, а расположение модели изменится по высоте [5].
Команда Align Face With Board позволяет повернуть модель таким образом, чтобы совместить одну из поверхностей модели с поверхностью платы или посадочного места.
Для этого необходимо выполнить следующие действия (см. рис. 8):
- Запустить команду Tools –> 3D Body Placement –> Align Face With Board (горячие клавиши T –> B –> F).
- Щелчком ЛКМ выбрать модель. В результате модель станет полупрозрачной, а поверхность под курсором будет выделяться голубой окантовкой и становиться непрозрачной.
- Определившись с поверхностью, щёлкнуть по ней ЛКМ. Модель повернётся таким образом, чтобы выбранная поверхность совместилась с поверхностью платы или посадочного места [5].
Помимо описанных выше опций, среда Altium Designer предоставляет ещё один ценный инструмент – возможность формировать контур платы по модели. Данное действие доступно только в редакторе печатных плат.
Чтобы его выполнить, необходимо сделать следующее (см. рис. 9):
- Запустить команду Design –> Board Shape –> Define From 3D Body (горячие клавиши D –> S –> D).
- Щелчком ЛКМ выбрать модель. В результате модель станет полупрозрачной, а поверхность под курсором будет выделяться голубой окантовкой и становиться непрозрачной.
- Выбрав нужную поверхность, щёлкнуть по ней ЛКМ. После этого откроется окно Board Outline Creation Successful.
- После закрытия окна Board Outline Creation Successful построение контура печатной платы будет завершено.
Если в пункте 3 на модели выбрать поверхность, которая не параллельна плоскости платы, то откроется окно с предупреждением и предложением повернуть модель. Если с ним согласиться, то модель повернётся соответствующим образом, но при этом действие команды Define From 3D Body прекратится, и для формирования контура платы необходимо будет снова начать с пункта 1 [5].
Чтобы отредактировать свойства и положение подключённой модели, можно также воспользоваться окном 3D Body. Для его открытия необходимо совершить двойной щелчок ЛКМ по модели. В данном окне доступны все те же настройки, которые задавались при подключении модели. Опции окна 3D Body продублированы на панели PCB Inspector.
Измерения 3D-объектов
Помимо стандартных средств измерений, среда Altium Designer предоставляет также инструменты, связанные с измерениями по моделям. Для измерения расстояния между двумя точками на модели или между двумя точками на разных моделях предназначена команда Measure Distances.
Чтобы произвести измерение, необходимо выполнить следующие действия (см. рис. 10):
- Запустить команду Tools –> 3D Body Placement –> Measure Distances (горячие клавиши T –> B –> M).
- Щелчком ЛКМ выбрать модель.
- Навести восьмилучевой указатель на вершину модели или точку привязки и щелчком ЛКМ выбрать начальную точку.
- Навести восьмилучевой указатель на вершину модели или точку привязки и щелчком ЛКМ выбрать конечную точку. Если необходимо измерить расстояние между точками, расположенными на разных моделях, то необходимо сначала выбрать вторую модель, а потом на ней – конечную точку.
- После выбора конечной точки откроется окно Information. В этом окне в строке Distance отображается расстояние между выбранными точками по прямой. В строках X Distance, Y Distance и Z Distance отображаются расстояния между точкам по осям X, Y и Z соответственно.
- Закрыв окно Information, продолжить измерения или закончить их, щёлкнув ПКМ или нажав клавишу «ESC» [5].
Для измерения расстояния между двумя 3D-объектами предназначена команда Measure 3D Objects. Под объектами в данном случае понимается модель или её поверхность. Расстояния измеряются между их ближайшими точками. Кроме того, производится измерение расстояния от объекта до поверхности платы и до её ближайшего края. Данный способ измерения доступен только в редакторе печатных плат.
Чтобы произвести измерения, необходимо выполнить следующие действия (см. рис. 11):
- Запустить команду Reports –> Measure 3D Objects (горячие клавиши R –> D).
- При наведении курсора на одну из моделей, она будет подсвечиваться зелёным цветом. Если необходимо выбрать одну из поверхностей модели, то нужно нажать и удержать клавишу «Ctrl». В таком случае при наведении курсора на модель она будет становиться прозрачной, а поверхность под курсором – подсвечиваться по периметру голубым цветом и становиться непрозрачной. После выбора первого объекта щёлкнуть по нему ЛКМ. В рабочем окне визуально отобразятся расстояния от выбранного объекта до поверхности платы и до её ближайшего края.
- Аналогичным способом выбрать второй объект. Для него также визуально отобразятся расстояния до поверхности платы и до её ближайшего края, а после этого откроется окно с результатами измерений 3D Distance. В верхней половине окна будут отображены идентификаторы измеряемых объектов. Ниже – результаты измерения: в строке Distance – расстояние по прямой; в строках By X Axis, By Y Axis и By Z Axis – расстояния по осям X, Y и Z соответственно; в строке By board surface – расстояние по поверхности печатной платы.
- Закрыв окно 3D Distance, продолжить измерения или закончить щелчком ПКМ или клавишей «ESC» [6].
Правило Component Clearance
Правило Component Clearance позволяет автоматизировать контроль расстояний между компонентами. Оно доступно в редакторе правил в разделе Placement (см. рис. 12).
В области Constraints расположен переключатель режима измерения зазора между компонентами Vertical Clearance Mode: Infinite – измерение производится только по горизонтали; Specified – измерение производится раздельно по горизонтали и по вертикали. В строке ввода Minimum Horizontal Clearance задаётся минимальное расстояние по горизонтали, а в строке ввода Minimum Vertical Clearance – по вертикали. Благодаря режиму Specified можно в полной мере контролировать расположение компонентов даже в том случае, когда необходимо расположить объекты друг над другом [7].
На рисунке 13 приведён пример работы этого правила в режиме Specified. Здесь изображены индикатор, ряд микросхем, танталовый и электролитический конденсаторы. Индикатор и конденсаторы выделены зелёным цветом. Причина в том, что электролитический конденсатор пересекается с индикатором, а танталовый хоть и не пересекается, но расстояние от него до индикатора меньше, чем задано правилом. Расстояния же от микросхем до индикатора находятся в пределах правил, поэтому они свободно расположились под индикатором и это не вызвало ошибок.
Заключение
Применение объёмных моделей электронных компонентов, корпусных или иных изделий в процессе проектирования электронных устройств переоценить достаточно сложно. Здесь и удобство, и наглядность, и возможность автоматизированного отслеживания ошибок, и многое другое. В конечном итоге всё это приводит к повышению качества продукта и значительному уменьшению сроков его проектирования и вывода на рынок.
Литература
- https://en.wikipedia.org/wiki/ISO_10303
- https://ru.wikipedia.org/wiki/Parasolid
- http://www.altium.com/documentation/17.1/display/ADES/PCB_Dlg-ChangeComponentBody((3D+Body))_AD
- http://www.altium.com/documentation/17.1/display/ADES/PCB_Dlg-SystemModelOptions_Frame((PCB+Editor+-....
- http://www.altium.com/documentation/17.1/display/ADES/PCB_Cmd-SnapSTEPModel((SnapSTEPModel))_AD
- http://www.altium.com/documentation/17.1/display/ADES/PCB_Cmd-Measure3DObjects((Measure3DObjects))_A....
- http://www.altium.com/documentation/17.1/display/ADES/PCB_Dlg-ComponentClearanceRule_Frame((Componen....
Если вам понравился материал, кликните значок - вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал - не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!