Подготовка Siemens NX к CoDesign
Altium CoDesigner — это интерфейс для передачи проектов печатных плат между областями проектирования ECAD и MCAD. После добавления надстройки CoDesigner в ваше MCAD‑ПО CoDesigner может передавать изменения проекта в обе стороны. Изменения передаются через Altium Workspace, который служит мостом между доменами ECAD и MCAD.
► Проверьте совместимость версий между вашим MCAD‑ПО и CoDesigner
Установка и настройка CoDesigner в Siemens NX
Для обмена данными с Siemens® NX™ необходимо установить Altium CoDesigner for Siemens NX надстройку (Add-In).
Установите и включите Add-In, чтобы получить доступ к CoDesigner в вашем MCAD‑ПО.
Чтобы установить Add-In:
-
Закройте Siemens NX перед установкой.
-
Скачайте надстройку MCAD CoDesigner Siemens NX Add-In (см. сведения о загрузке ниже).
-
Запустите установщик MCAD CoDesigner.
-
Запустите Siemens NX и убедитесь, что Add-In установлен и доступен на Altium CoDesigner ленте, как показано ниже.
-
Надстройка CoDesigner добавляет панель CoDesigner в Siemens NX. Все действия по совместной работе выполняются через эту панель.
-
Чтобы установить Add-In CoDesigner в другое расположение:
-
Если CoDesigner уже установлен, удалите его
AltiumCoDesignerNX<BuildNumber>. После этого папкаC:\Program Files\Siemens\NX<BuildNumber>\ALTIUM_CODESIGNERбудет удалена. -
Запустите установщик CoDesigner с параметром командной строки
/DIR="x:\dirname"Расположение Add-In регистрируется в файле SiemensC:\Program Files\Siemens\NX<BuildNumber>\UGII\menus\ug_custom_dirs.dat
-
Отображение панели CoDesigner
Доступ к CoDesigner осуществляется через панель Siemens NX.
В Siemens NX панель Altium CoDesigner можно включить, нажав кнопку CoDesigner, как показано выше.
Подключение к вашему Workspace из Siemens NX
Siemens NX взаимодействует с вашим ПО Altium для проектирования через Workspace, в который необходимо войти. Если вход не выполнен, вкладка Altium CoDesigner будет содержать поля для входа, как показано ниже.
Существует два режима входа: один — для входа в Altium 365 Workspace, другой — для входа в Workspace на локальном (On-Prem) Enterprise Server. Подробнее — ниже.
Лицензирование Altium MCAD CoDesigner для Siemens NX
Чтобы успешно войти в ваш Altium Workspace из Siemens NX, в ваш Altium Workspace должна быть добавлена соответствующая лицензия. Обратите внимание, что Siemens NX доступен только разработчикам с Altium Enterprise Solution.
Если вы попытаетесь войти без доступной действующей лицензии, сообщение The usage of Altium CoDesigner for Siemens NX is not allowed by your license, будет отображено на панели Altium CoDesigner.
Способ добавления лицензии зависит от типа используемого Workspace:
| Тип Workspace | Название лицензии | Как лицензировать CoDesigner для Siemens NX |
|---|---|---|
| Enterprise Altium 365 (облачный Workspace) | Altium 365 MCAD Siemens NX Addon | Свяжитесь с вашим Altium Enterprise Account Manager. |
| On-prem Enterprise Server Workspace | Enterprise Server MCAD Siemens NX Addon | Выберите Admin - Licenses, когда вы вошли в ваш Enterprise Server Workspace в веб‑браузере. Подробнее об установке локальной (on-prem) Enterprise‑лицензии. |
После добавления лицензии Siemens NX в ваш Workspace вы сможете Sign In в Altium MCAD CoDesigner через панель Altium CoDesigner в Siemens NX, как описано ниже.
Подключение к Altium 365 Workspace
Вход в Altium 365 Workspace.
-
Выберите параметр Altium Account на панели Altium CoDesigner.
-
Введите адрес электронной почты, который вы используете для входа в Altium Live, в поле Email, а также ваш пароль Altium Live Password.
-
Включите параметр Remember Me, чтобы сохранить данные (включая пароль) и автоматически подключаться к вашему Workspace (через платформу Altium 365) при каждом запуске Siemens NX.
-
Нажмите кнопку Sign In, чтобы подключиться.
Подключение к Workspace Altium Enterprise Server
Вход в локальный (On-Prem) Enterprise Server Workspace.
-
Выберите параметр Custom Server на панели Altium CoDesigner.
-
При первом входе необходимо указать Server address (URL) для подключения к вашему On-Prem Enterprise Server Workspace. Адрес предоставит системный администратор.
-
Введите ваши User Name и Password — их также предоставит системный администратор.
-
Включите параметр Remember Me, чтобы сохранить данные (включая пароль) и автоматически подключаться к вашему Workspace при каждом запуске Siemens NX.
После входа вы готовы начать совместную работу через Altium CoDesigner.
CoDesigner установлен и готов к использованию.
Настройка параметров совместной работы Siemens NX
После входа параметры CoDesigner можно настроить в диалоговом окне Altium CoDesigner Settings, которое открывается через пункт меню Settings в меню CoDesigner (
).
Используйте диалоговое окно Altium CoDesigner Settings для настройки параметров CoDesigner.
-
Common folder for storing models that are coming from ECAD - Это поле позволяет инженеру‑механику управлять тем, где будут храниться модели, полученные из ECAD. Настройка этого поля зависит от того, используется ли Teamcenter; подробную информацию о различных вариантах см. в разделе Model Storage section ниже.
-
Build 3D geometry for Copper - Верхний и нижний медные слои всегда представлены как декали на поверхностях детали платы. При включении этого параметра CoDesigner также создаст выдавленные (extruded) элементы, представляющие все медные слои, а также металлизированные сквозные площадки (thruhole pads). Обратите внимание: включение этого параметра может создать большой объём данных, что существенно влияет на производительность.
-
Build Vias - включите этот параметр, чтобы также включать цилиндры переходных отверстий (Via barrels). Обратите внимание: включение этого параметра может создать большой объём данных, что существенно влияет на производительность.
-
Smart Sketch Update - если включено, при выполнении Pull MCAD CoDesigner перерисовывает только те элементы эскиза, которые были изменены в ECAD, сохраняя размеры и ограничения, относящиеся к неизменённым элементам, без изменений. Отключите этот параметр, если он даёт нежелательные результаты. Подробнее о поддержке Smart Sketch Change.
-
Build Route Tool Path– Маршрут Route Tool Path — это контур, задаваемый для фрезеровки платы из панели, на которой она изготавливается. Отключите эту опцию, если данный контур не требуется в MCAD. Подробнее о ECAD Route Tool Path.
-
Ignore components smaller than
<Value><Units>in height — небольшие компоненты можно исключить из процесса синхронизации. Настройте эту опцию, чтобы исключать компоненты ниже<Value><Units>при выполнении Pull. Обратите внимание: высота компонента задаётся в ECAD как свойство компонента (футпринта), а не как высота 3D‑модели, размещённой на футпринте. Подробнее о настройке Siemens NX для игнорирования небольших компонентов. -
Units System — единицы измерения, которые будут использоваться для платы, выполняющейся через Pull из ECAD. Этот параметр переопределяет единицы, использовавшиеся в ECAD при выполнении Push.
-
Participate in the product improvement program — включите эту опцию, чтобы автоматически делиться технической информацией с Altium о вашем использовании CoDesigner. Подробнее о программе улучшения продукта.
Работа с Teamcenter PLM
Siemens Teamcenter PLM объединяет инженеров‑механиков, позволяя им обмениваться своими деталями и проектами по всему миру. CoDesigner поддерживает Teamcenter PLM при выполнении операций с PCB Assembly, PCB Part и Components в Siemens NX. PCB‑сборки можно сохранять и открывать из интерфейса Teamcenter напрямую в Siemens NX, как показано ниже.
Хранение моделей
Место, где CoDesigner хранит 3D‑модели PCB‑компонентов, полученные через Pull из ECAD, зависит от того, используется ли Teamcenter, и от того, как настроена опция CoDesigner Common folder for storing models that are coming from ECAD.
| Common Folder for Storing Models | Not using Teamcenter | Using Teamcenter |
|---|---|---|
| Значение не введено | Модели хранятся в папке проекта | Модели хранятся в папке Teamcenter по умолчанию, созданной CoDesigner ( |
| Указан локальный путь и папка | Модели хранятся в указанной локальной папке | Модели хранятся в указанной локальной папке и не регистрируются в Teamcenter. Обратите внимание: PCB Assembly и PCB Part при этом всё равно сохраняются в Teamcenter. # |
Указан путь Teamcenter(:root_TC_folder:subfolder1:subfolder12:) |
Неприменимо | Модели хранятся в указанной папке Teamcenter. |
CoDesigner поддерживает Siemens Teamcenter PLM.
► Подробнее о Linking Native ECAD and MCAD Design Components.
Работа с шаблонами Teamcenter
Поддержка шаблонов в Siemens Teamcenter предоставляет гибкий способ задавать параметры, используемые в новом элементе детали или сборки, поддерживая следующие параметры:
-
Item Type -
Units -
TemplateName -
TemplatePresentationName -
TemplateFileName -
Additional template parameters
В CoDesigner 3.7 добавлена поддержка задания этих параметров при создании детали или сборки с использованием XML‑файла конфигурации.
Расположение конфигурационного XML
Конфигурационный XML‑файл развёртывается и используется из папки установки NX:
C:\Program Files\Siemens\<NxVersionNumber>\ALTIUM_CODESIGNER\template_parameters_mapping.xml
XML‑файл описывает шаблоны, которые следует использовать, и параметры, которые нужно задавать для поддерживаемых деталей и сборок.
Конфигурационный XML‑файл
Ниже приведён пример конфигурационного XML. Обратите внимание: в файле семь разделов:
<?xml version="1.0" encoding="UTF-8"?>
<Mapping>
<BoardAssembly ItemType="Item" TemplateName="AssemblyTemplate" TemplatePresentationName="Assembly">
<!--<TemplateFileName>@DB/assembly-mm-template/A</TemplateFileName>-->
<AttributesTemplate>
<!--
<Param Name="DB_PART_NAME" Category="Item" Type="String" Value="{ProjectName}"/>
<Param Name="Param2" Category="Item" Type="String" Value="{ProjectParam_Param1}"/>
<Param Name="Param3" Category="Item" Type="String" Value="{VariantParam_Param1}"/>
<Param Name="Param4" Category="Item" Type="String" Value="{VariantName}"/>
<Param Name="Param5" Category="Item" Type="Number" Value="0.23"/>
<Param Name="Param6" Category="Item" Type="Integer" Value="12"/>
<Param Name="Param7" Category="Item" Type="Boolean" Value="False"/>
<Param Name="Param8" Category="Item" Type="Date" Value="08/18/2018 07:22:16 PM"/>
<Param Name="Param9" Category="Item" Type="Date" Value="08/18/2018 07:22:16"/>
<Param Name="Param10" Category="Item" Type="Date" Value="2019-01-23 07:22:00"/>
-->
</AttributesTemplate>
</BoardAssembly>
<BoardPart ItemType="Item" TemplateName="ModelTemplate" TemplatePresentationName="Model">
<!--<TemplateFileName>@DB/model-plain-1-mm-template/A</TemplateFileName>-->
<AttributesTemplate>
<!--
<Param Name="DB_PART_NAME" Category="Item" Type="String" Value="{ProjectName}"/>
<Param Name="Param2" Category="Item" Type="String" Value="{ProjectParam_Param1}"/>
<Param Name="Param3" Category="Item" Type="String" Value="{VariantParam_Param1}"/>
<Param Name="Param4" Category="Item" Type="Number" Value="0.2"/>
<Param Name="Param5" Category="Item" Type="Integer" Value="123"/>
<Param Name="Param6" Category="Item" Type="Boolean" Value="True"/>
<Param Name="Param7" Category="Item" Type="Date" Value="2019-01-23 07:22:00"/>
-->
</AttributesTemplate>
</BoardPart>
<CopperPart ItemType="Item" TemplateName="ModelTemplate" TemplatePresentationName="Model">
<!--<TemplateFileName>@DB/model-plain-1-mm-template/A</TemplateFileName>-->
<AttributesTemplate>
<!--
<Param Name="DB_PART_NAME" Category="Item" Type="String" Value="{ProjectName}"/>
<Param Name="Param2" Category="Item" Type="String" Value="{ProjectParam_Param1}"/>
<Param Name="Param3" Category="Item" Type="String" Value="{VariantParam_Param1}"/>
<Param Name="Param4" Category="Item" Type="String" Value="{SubType}"/>
-->
</AttributesTemplate>
</CopperPart>
<ComponentPart ItemType="Item" TemplateName="ModelTemplate" TemplatePresentationName="Model">
<!--<TemplateFileName>@DB/model-plain-1-mm-template/A</TemplateFileName>-->
<AttributesTemplate>
<!--
<Param Name="Param1" Category="Item" Value="{ComponentParam_Param1}"/>
<Param Name="Param2" Category="Item" Value="{ComponentParam_Param2}"/>
-->
</AttributesTemplate>
</ComponentPart>
<FlexPart ItemType="Item" TemplateName="NXSheetMetalTemplate" TemplatePresentationName="Sheet Metal">
<!--<TemplateFileName>@DB/sheet-metal-mm-template/A</TemplateFileName>-->
<AttributesTemplate>
<!--
<Param Name="DB_PART_NAME" Category="Item" Type="String" Value="{ProjectName}"/>
<Param Name="Param2" Category="Item" Type="String" Value="{ProjectParam_Param1}"/>
<Param Name="Param3" Category="Item" Type="String" Value="{VariantParam_Param1}"/>
<Param Name="Param4" Category="Item" Type="Number" Value="0.2"/>
<Param Name="Param5" Category="Item" Type="Integer" Value="123"/>
<Param Name="Param6" Category="Item" Type="Boolean" Value="True"/>
<Param Name="Param7" Category="Item" Type="Date" Value="2019-01-23 07:22:00"/>
-->
</AttributesTemplate>
</FlexPart>
<RigidAssembly ItemType="Item" TemplateName="AssemblyTemplate" TemplatePresentationName="Assembly">
<!--<TemplateFileName>@DB/assembly-mm-template/A</TemplateFileName>-->
<AttributesTemplate>
<!--
<Param Name="DB_PART_NAME" Category="Item" Type="String" Value="{ProjectName}"/>
<Param Name="Param2" Category="Item" Type="String" Value="{ProjectParam_Param1}"/>
<Param Name="Param3" Category="Item" Type="String" Value="{VariantParam_Param1}"/>
<Param Name="Param4" Category="Item" Type="Number" Value="0.2"/>
<Param Name="Param5" Category="Item" Type="Integer" Value="123"/>
<Param Name="Param6" Category="Item" Type="Boolean" Value="True"/>
<Param Name="Param7" Category="Item" Type="Date" Value="2019-01-23 07:22:00"/>
-->
</AttributesTemplate>
</RigidAssembly>
<RigidPart ItemType="Item" TemplateName="ModelTemplate" TemplatePresentationName="Model">
<!--<TemplateFileName>@DB/model-plain-1-mm-template/A</TemplateFileName>-->
<AttributesTemplate>
<!--
<Param Name="DB_PART_NAME" Category="Item" Type="String" Value="{ProjectName}"/>
<Param Name="Param2" Category="Item" Type="String" Value="{ProjectParam_Param1}"/>
<Param Name="Param3" Category="Item" Type="String" Value="{VariantParam_Param1}"/>
<Param Name="Param4" Category="Item" Type="Number" Value="0.2"/>
<Param Name="Param5" Category="Item" Type="Integer" Value="123"/>
<Param Name="Param6" Category="Item" Type="Boolean" Value="True"/>
<Param Name="Param7" Category="Item" Type="Date" Value="2019-01-23 07:22:00"/>
-->
</AttributesTemplate>
</RigidPart>
</Mapping>
XML содержит 7 разделов: BoardAssembly, BoardPart, CopperPart , ComponentPart, FlexPart, RigidAssembly и RigidPart.
Каждый раздел задаёт параметры создания для соответствующих типов моделей проекта.
Необходимо определить следующие атрибуты:
-
ItemType- Teamcenter Item Type -
TemplateName- Model, Assembly, Other… (должны соответствовать классу, указанному вObjectDataзаписи файлаPAX) -
TemplatePresentationName -
TemplateFileName- относится к ревизии элемента шаблона, загруженной в Teamcenter. Если это не задано, будет использовано первое найденное совпадение на основе других атрибутов (включаяUnits).
Значения атрибутов должны сопоставляться со значениями аналогичных атрибутов, найденных в вашем файле PAX, чтобы шаблон можно было идентифицировать в Teamcenter. Кроме того, вы можете указать атрибуты, которые нужно установить при создании детали, используя раздел AttributesTemplate.
В качестве ориентира используйте следующий пример синтаксиса:
<AttributesTemplate>
<Param Name="DB_PART_NAME" Category="Item" Type="String" Value="{ProjectName}"/>
<Param Name="Param2" Category="Item" Type="String" Value="{ProjectParam_Param1}"/>
<Param Name="Param3" Category="Item" Type="String" Value="{VariantParam_Param1}"/>
……
……
</AttributesTemplate>
Каждый элемент Param соответствует набору атрибутов. Свойства каждого элемента, которые необходимо определить, включают:
-
Name- имя параметра, который нужно установить -
Category- категорию атрибута (часто это имя ItemType для атрибута) -
Type- тип данных атрибута; допустимые значения: String, Number, Integer, Boolean, Date -
Value- шаблон значения, используемый для генерации значения атрибута. Это может быть константа или выражение со ссылкой на метаданные контекста.
ШаблонValueсостоит из выражений, заключённых в{}.
Например, выражение{ProjectName}будет заменено фактическим именем проекта. Если шаблон содержит это выражение, он будет применяться в контексте разных проектов, а итоговое значение будет формироваться назначенной для него заменой.
В шаблоне значения можно комбинировать несколько выражений и константных значений. Возможные выражения:
-
ProjectName— заменяется именем проекта -
ProjectParam_Param1— заменяется значением Param1 проекта (Param1 — имя параметра проекта из ECAD) -
VariantParam_Param1— заменяется значением Param1 текущего варианта проекта (Param1 — имя параметра проекта из ECAD) -
SubType— заменяется именем подтипа медной детали; следует использовать только для CopperPart. -
ComponentParam_Param2— заменяется значением параметров компонента Param2, которые можно использовать только в ComponentPart.
Например, если ProjectName равно MyProject, а параметр проекта Area равен PSU, тогда элемент будет таким:
<Param Name="Description" Category="MyItem" Type="String" Value="{ProjectName}-{ProjectParam_Area}"/>
Этот пример установит строковое значение MyProject-PSU в атрибут Description категории MyItem.
MCAD в ECAD — ссылка на ECAD-футпринт из Teamcenter
Связь MCAD-модели с ECAD-футпринтом определяется сопоставлением свойства MCAD-модели с параметром ECAD-компонента в вашем Altium Workspace. Механизм, используемый для определения связи от модели Teamcenter к футпринту ECAD-компонента, был улучшен в CoDesigner 3.7. Теперь он поддерживает задание и Teamcenter Category и Property в поле MCAD model property used for mapping and recognition в Workspace, используя следующий синтаксис:
<CategoryName>::<PropertyName>
Связываемые Category и Property Teamcenter сопоставляются в настройках Workspace с использованием синтаксиса <CategoryName>::<PropertyName>.
ECAD в MCAD — поиск MCAD-модели в Teamcenter
Связь футпринта ECAD-компонента с MCAD-моделью определяется указанием параметра ECAD-компонента, который содержит MCAD-модель. Это настраивается в параметрах MCAD CoDesigner в вашем Altium Workspace. Во время Pull в MCAD CoDesigner будет искать в системе управления данными MCAD MCAD-модель с таким именем.
Если в Siemens NX используется нативная связка компонентов ECAD-to-MCAD, ссылка на MCAD-компонент должна быть задана в параметре ECAD-компонента так, чтобы включать путь Teamcenter, при этом значение параметра должно иметь вид:
:root_TC_folder:subfolder1:subfolder12:model_name
Игнорирование моделей, недоступных в Teamcenter
Чтобы лучше обрабатывать ситуацию, когда на плате есть компоненты, для которых в Teamcenter нет моделей, обновление CoDesigner 3.9 добавляет настройку конфигурации, позволяющую игнорировать компоненты, которые невозможно получить во время Pull в MCAD.
Чтобы включить эту настройку, отредактируйте файл:
\Program Files\Siemens\NXXXX\ALTIUM_CODESIGNER\template_parameters_mapping.xml.
В разделе ComponentPart установите:
IgnoreComponentsMissingInDMS в 1 (или yes, или true), как показано ниже.
Отредактируйте файл сопоставления параметров NX, чтобы игнорировать компоненты, недоступные в Teamcenter.
Что дальше?
Теперь, когда CoDesigner установлен в вашем MCAD ПО и подключен к вашему Workspace, следующий шаг — настроить соответствующие параметры Workspace.
► Узнайте больше о настройке параметров Workspace
).
).
).