为协同设计准备 Siemens NX
Altium CoDesigner 是用于在 ECAD 和 MCAD 设计领域之间传输印制电路板设计的接口。将 CoDesigner 插件添加到 MCAD 软件后,即可通过 CoDesigner 双向传递设计更改。设计更改通过 Altium 工作区传递,该工作区充当 ECAD 和 MCAD 领域之间的桥梁。
► 检查您的 MCAD 软件与 CoDesigner 之间的版本兼容性
在 Siemens NX 中安装和配置 CoDesigner
要与 Siemens® NX™ 进行双向交互,您需要安装 Altium CoDesigner for Siemens NX 插件。
安装插件,即可在 MCAD 软件中访问 CoDesigner。
安装插件的步骤如下:
-
安装前请关闭 Siemens NX。
-
运行 MCAD CoDesigner 安装程序。
-
启动 Siemens NX,并确认插件已安装且可在 Altium CoDesigner 功能区中使用,如下图所示。
-
CoDesigner 插件会在 Siemens NX 中添加 CoDesigner 面板。所有协作活动均通过此面板执行。
-
要将 CoDesigner 插件安装到其他位置:
-
如果已安装 CoDesigner,请卸载
AltiumCoDesignerNX<BuildNumber>。完成后,文件夹C:\Program Files\Siemens\NX<BuildNumber>\ALTIUM_CODESIGNER将被删除。 -
使用命令行选项
/DIR="x:\dirname"(
)运行 CoDesigner 安装程序。插件的位置会注册到 Siemens 文件 C:\Program Files\Siemens\NX<BuildNumber>\UGII\menus\ug_custom_dirs.dat(
)中。
-
显示 Altium CoDesigner 面板
可通过 Siemens NX 面板访问 CoDesigner。
在 Siemens NX 中,可以单击 CoDesigner 按钮来启用 Altium CoDesigner 面板,如上图所示。
从 Siemens NX 连接到您的工作区
Altium MCAD CoDesigner for Siemens NX 的许可授权
要从 Siemens NX 成功登录您的 Altium 工作区,必须向该工作区添加适当的许可证。请注意,Siemens NX 仅供拥有 Altium Enterprise Solution 的设计人员使用。
如果您在没有有效许可证的情况下尝试登录,Altium CoDesigner 面板上将显示消息: The usage of Altium CoDesigner for Siemens NX is not allowed by your license,
添加许可证的方法取决于您使用的工作区类型:
| 工作区类型 | 许可证名称 | 如何为 CoDesigner for Siemens NX 授权 |
|---|---|---|
| Enterprise Altium 365(云工作区) | Altium 365 MCAD Siemens NX Addon | 请联系您的 Altium 企业客户经理。 |
| 本地部署的 Enterprise Server 工作区 | Enterprise Server MCAD Siemens NX Addon | 在 Web 浏览器中登录 Enterprise Server 工作区后,选择 Admin - Licenses。 详细了解安装本地部署的企业许可证。 |
将 Siemens NX 许可证添加到工作区后,您便可以通过 Siemens NX 中的 Altium CoDesigner 面板Sign In到 Altium MCAD CoDesigner,具体如下所述。
在 Siemens NX 中登录
Siemens NX 中的 MCAD CoDesigner 通过 Altium 工作区与您的 ECAD 软件(Altium Designer)协作,首次使用时必须登录该工作区。 未登录时,Altium CoDesigner 面板提供两种登录模式,一种用于登录 Altium 365 工作区 – Altium Account,另一种用于登录本地部署的 Enterprise Server 上的工作区 – Custom Server。
从 3.16 版本开始,Altium MCAD CoDesigner 使用 Altium 的统一登录系统,与 Altium Designer 等其他 Altium 解决方案所使用的系统相同。该系统使用简单,选择要连接的 Altium 工作区类型后,单击 Sign In 按钮。随后将打开浏览器窗口,您可在其中完成登录过程。
详细了解 登录 Altium MCAD CoDesigner。
登录后,您即可开始通过 Altium MCAD CoDesigner 协作进行电路板设计。
在 Siemens NX v2306 或更高版本及 CoDesigner 3.11 或更早版本中登录工作区
Siemens NX v2306 或更高版本在安装时已定义了多个快捷键。由于 NX 会在按键操作传递给 Altium CoDesigner 之前将其捕获,因此某些键盘按键无法在 Altium CoDesigner 面板的 Login、Password 和 Server Address 字段中使用,例如 w、m、C 和 B 字符。您可以避免使用这些字符,也可以重新配置 NX 中的快捷键,使其不包含登录工作区时需要使用的任何按键。
-
详细了解查看和配置 Siemens NX 中的快捷键。请注意,该页面提供的示例文件适用于较早版本的 Siemens NX,请根据页面中的信息查看您所安装版本中的快捷键。
-
此问题已在 CoDesigner 3.12 更新中解决,其中 Altium CoDesigner 面板已改为浮动面板。
CoDesigner 已安装完毕,可以开始使用。单击 Pull 从 ECAD 拉取电路板设计。
管理 MCAD CoDesigner
Altium CoDesigner 面板顶部显示您的用户名、当前连接的工作区以及身份图标。图标中包含一个圆点,用于指示工作区的连接状态。
单击文本或图标的任意位置,即可显示 MCAD CoDesigner 菜单,如下所示。您可以在此切换到其他工作区(如果可用)、配置个人资料、访问协作设置,以及退出您的 Altium 账户。
单击面板顶部文本或图标的任意位置,即可显示 MCAD CoDesigner 菜单。
配置 Siemens NX 协作设置
登录后,您可以在 Altium CoDesigner Settings 对话框中配置 CoDesigner 设置。通过 CoDesigner 菜单(
)中的 Settings 菜单项可打开此对话框。
使用 Altium CoDesigner Settings 对话框配置 CoDesigner 选项。
-
Common folder for storing models that are coming from ECAD - 此字段允许机械工程师控制从 ECAD 拉取的模型的存储位置。此 字段 的配置方式取决于是否使用 Teamcenter,有关各个选项的详细信息,请参阅下方的模型存储 部分。
-
Build 3D geometry for Copper - 顶层和底层铜层始终以贴图形式显示在电路板零件的表面上。启用此选项后,CoDesigner 还会创建拉伸特征来表示所有铜层以及通孔焊盘。请注意,启用此选项可能会产生大量数据,从而显著影响性能。
-
Build Vias - 启用此选项可同时包含过孔孔壁。 请注意,启用此选项可能会产生大量数据,从而显著影响性能。
-
Smart Sketch Update - 启用后,在执行拉取操作时,MCAD CoDesigner 仅重绘草图中在 ECAD 中发生更改的元素,与未更改元素相关的尺寸和约束保持不变。如果此选项产生不理想的结果,请将其禁用。详细了解智能草图更改支持。
-
Build Route Tool Path – 铣削刀具路径是为从制造拼板中铣出电路板而定义的轮廓。如果 MCAD 中不需要此路径,请禁用此选项。详细了解 ECAD 铣削刀具路径。
-
Ignore components smaller than
<Value><Units>in height - 可以将较小的元件排除在同步过程之外。配置此选项,可在执行拉取操作时排除高度小于<Value><Units>的元件。请注意,元件高度在 ECAD 中被定义为元件(封装)的属性,并非放置在封装上的 3D 模型的高度。 详细了解如何配置 Siemens NX 以忽略较小的元件。 -
Units System - 从 ECAD 拉取的电路板所使用的单位。此设置将覆盖推送电路板时 ECAD 中使用的单位。
-
Participate in the product improvement program - 启用此选项可自动与 Altium 分享有关您使用 CoDesigner 的技术信息。 详细了解产品改进计划。
使用 Teamcenter PLM
Siemens Teamcenter PLM 将机械工程师联系在一起,使他们能够在全球范围内共享零件和设计。在 Siemens NX 中对 PCB 装配体、PCB 零件和元件执行操作时,CoDesigner 支持 Teamcenter PLM。可以直接在 Siemens NX 中通过 Teamcenter 界面保存和打开 PCB 装配体,如下所示。
模型存储
CoDesigner 存储从 ECAD 拉取的 3D PCB 元件模型的位置,取决于是否使用 Teamcenter 以及 CoDesigner 的 Common folder for storing models that are coming from ECAD 选项的配置方式。
| Common Folder for Storing Models | Not using Teamcenter | Using Teamcenter |
|---|---|---|
| 未输入值 | 模型存储在项目文件夹中 | 模型存储在 CoDesigner 创建的默认 Teamcenter 文件夹( |
| 输入本地路径和文件夹 | 模型存储在指定的本地文件夹中 | 模型存储在指定的本地文件夹中,不会在 Teamcenter 中注册。 请注意,PCB 装配体和 PCB 零件仍会保存在 Teamcenter 中。 # |
输入 Teamcenter 路径(:root_TC_folder:subfolder1:subfolder12:) |
不适用 | 模型存储在 指定的 Teamcenter 文件夹中。 |
CoDesigner 支持 Siemens Teamcenter PLM。
► 详细了解关联原生 ECAD 和 MCAD 设计元件。
使用 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……(应与PAX文件记录的ObjectData中指定的类相对应) -
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 设置为 MyItem 类别的 Description 属性值。
从 MCAD 到 ECAD - 从 Teamcenter 引用 ECAD 封装
MCAD 模型与 ECAD 封装之间的关联,是通过将 MCAD 模型属性映射到 Altium 工作区中的 ECAD 元件参数来定义的。 CoDesigner 3.7 改进了定义 Teamcenter 模型与 ECAD 元件封装之间关联的机制。 现在支持在工作区的 MCAD model property used for mapping and recognition 字段中同时定义 Teamcenter 的 Category 和 Property,语法如下:
<CategoryName>::<PropertyName>
用于关联的 Teamcenter 类别和属性在工作区设置中进行映射,使用的语法为 <CategoryName>::<PropertyName>。
从 ECAD 到 MCAD - 在 Teamcenter 中查找 MCAD 模型
ECAD 元件封装与 MCAD 模型之间的关联,是通过指定一个包含 MCAD 模型的 ECAD 元件参数来定义的。此项在 Altium 工作区的 MCAD CoDesigner 设置中配置。 拉取到 MCAD 时,CoDesigner 会在 MCAD 数据管理系统中搜索具有该名称的 MCAD 模型。
如果在 Siemens NX 中使用原生 ECAD 到 MCAD 元件关联,则必须在 ECAD 元件参数中定义 MCAD 元件引用,使其包含 Teamcenter 路径,参数值的格式如下:
:root_TC_folder:subfolder1:subfolder12:model_name
忽略 Teamcenter 中不存在的模型
为更好地处理电路板上的某些元件在 Teamcenter 中没有可用模型的情况,CoDesigner 3.9 更新添加了一项配置设置,用于忽略拉取到 MCAD 时无法获取的元件。
要启用此设置,请编辑以下文件:
\Program Files\Siemens\NXXXX\ALTIUM_CODESIGNER\template_parameters_mapping.xml。
在 ComponentPart 部分中,将:
IgnoreComponentsMissingInDMS 设置为 1(或 yes 或 true),如下所示。
编辑 NX 参数映射文件,以忽略 Teamcenter 中不存在的元器件。
下一步做什么?
现在,CoDesigner 已安装到您的 MCAD 软件中并已连接到您的工作区,下一步是配置相关的工作区设置。
► 了解有关配置工作区设置
的更多信息
)。