Preparing Siemens NX for CoDesign

 

Parent page: Installing & Configuring Altium CoDesigner

  • Altium CoDesigner for Siemens® NX™ is only available for designers with an Altium Enterprise Solution.
  • Altium CoDesigner for Siemens NX moved out of Beta in Altium CoDesigner 3.0. 
  • At this stage, Altium CoDesigner for Siemens NX does not support flex and rigid-flex PCBs.

Altium CoDesigner is an interface for transferring printed circuit board designs between the ECAD and MCAD design domains. Once the CoDesigner add-in has been added to your MCAD software, CoDesigner can pass design changes back and forth. Design changes are passed through an Altium Workspace, which acts as a bridge between the ECAD and MCAD domains.

Check the version compatibility between your MCAD software and CoDesigner

To access the Altium CoDesigner panel in Siemens NX you must install an Add-In (Plugin), as detailed below. You can download the MCAD CoDesigner plugin from the Altium website download page.

Installing and Configuring CoDesigner in Siemens NX

To interface to and from Siemens® NX™, you need to install the Altium CoDesigner for Siemens NX Add-In. 

Install and enable the Add-In to access CoDesigner in your MCAD software. Install and enable the Add-In to access CoDesigner in your MCAD software.

To install the Add-In:

  1. Close Siemens NX before installing.
  2. Download and install the Siemens NX Add-In (AltiumCoDesignerSiemensNX_<VersionNo>.exe).
  3. Launch Siemens NX and confirm that the Add-In is installed and available in the Altium CoDesigner ribbon, as shown below.
  4. The CoDesigner Add-In adds the CoDesigner panel to Siemens NX. All collaboration activities are performed through this panel.

Displaying the CoDesigner Panel

CoDesigner is accessed through a Siemens NX panel. CoDesigner is accessed through a Siemens NX panel.

In Siemens NX, the Altium CoDesigner panel can be enabled by clicking the CoDesigner button, as shown above.

Connecting to your Workspace from Siemens NX

Siemens NX collaborates with your Altium design software through a Workspace, to which you must sign in. When you are not signed in, the Altium CoDesigner Tab will include sign-in fields, as shown below.

There are two sign-in modes, one for signing into an Altium 365 Workspace, the other for signing in to a Workspace on an On-Prem Enterprise Server. More on this below.

Signing in to the Workspace in Siemens NX v2306 or Later

Siemens NX builds v2306 or later install with a number of hotkeys defined. Because NX captures the keystrokes before they are passed to Altium CoDesigner, certain keyboard keys cannot be used in the Altium CoDesigner panel Login, Password, and Server Address fields, including the w, m, CB characters. You can either avoid using these characters or, alternatively, reconfigure the hotkeys in NX to not include any keys you need to use to sign into your Workspace. 

Licensing Altium MCAD CoDesigner for Siemens NX

To be able to successfully sign into your Altium Workspace from Siemens NX, a suitable license must be added to your Altium Workspace. Note that Siemens NX is only available to designers with an Altium Enterprise Solution.

If you attempt to sign in without a valid license available, the message, The usage of Altium CoDesigner for Siemens NX is not allowed by your license, will be displayed on the Altium CoDesigner panel. 

Note that Altium MCAD CoDesigner for Siemens NX is licensed once for each Workspace, not once for each user who uses Altium MCAD CoDesigner through that Workspace.

The method of adding the license will depend on the type of Workspace you use:

Workspace Type License Name How to License CoDesigner for Siemens NX
Enterprise Altium 365 (cloud Workspace) Altium 365 MCAD Siemens NX Addon Contact your Altium Enterprise Account Manager.
On-prem Enterprise Server Workspace Enterprise Server MCAD Siemens NX Addon

Select Admin - Licenses when you are signed in to your Enterprise Server Workspace in your web browser. 

Learn more about installing an on-prem Enterprise License.

Once the Siemens NX license has been added to your Workspace, you will be able to Sign In to Altium MCAD CoDesigner via the Altium CoDesigner panel in Siemens NX, as described below.

Connecting to an Altium 365 Workspace

Signing in to an Altium 365 Workspace. Signing in to an Altium 365 Workspace.

  1. Select the Altium Account option in the Altium CoDesigner panel.
  2. Enter the email address you use to sign in to Altium Live as your Email, and your Altium Live Password.
  3. Enable the Remember Me option to retain the details (including the password) and automatically connect to your Workspace (through the Altium 365 platform) each time Siemens NX is started.
  4. Click the Sign In button to connect.

Multiple Workspaces are supported - open the CoDesigner menu and select the required Workspace.

Menu used to select the active workspace, to change to a custom server, or sign out

Connecting to an Altium Enterprise Server Workspace

Signing in to an On-Prem Enterprise Server Workspace. Signing in to an On-Prem Enterprise Server Workspace.

  1. Select the Custom Server option in the Altium CoDesigner panel.
  2. The first time you sign in, you must specify the Server address (URL) to connect to your On-Prem Enterprise Server Workspace. The address will be provided by your system administrator.
  3. Enter your User Name and Password, these will also be provided by your system administrator.
  4. Enable the Remember Me option to retain the details (including the password) and automatically connect to your Workspace each time Siemens NX is started.

Once you have signed in, you are ready to start collaborating through Altium CoDesigner.

CoDesigner has been installed and is ready to use. CoDesigner has been installed and is ready to use.

Notes: At this stage, CoDesigner for Siemens NX does not support:

  • Flex and rigid-flex PCBs
  • Multi-board Assemblies
  • Harness projects

These limitations will be addressed in an upcoming release.

Configuring the Siemens NX Collaboration Settings

Once you have signed in, CoDesigner settings can be configured in the Altium CoDesigner Settings dialog, opened via the Settings menu entry in the CoDesigner menu (show image).

Use the Altium CoDesigner Settings dialog to configure the CoDesigner options. Use the Altium CoDesigner Settings dialog to configure the CoDesigner options.

  • Common folder for storing models that are coming from ECAD - All component models created by CoDesigner are stored in this location, regardless of the project they belong to (note that the board part and board assembly are created by CoDesigner in the project folder specified during the initial pull into Siemens NX). If no location is specified, all component models will be created in the project folder and will be unavailable for reuse in other projects.

    The default installation of Siemens NX will save and then look in a specific folder for the component models used within an assembly, instead of in the location you have just configured for CoDesigner. 

    Before pulling a board from the Workspace, first open the NX Assembly Load Options dialog and set the Load option to As Saved (show image).

  • Build 3D geometry for Copper
    Refer to the Note in the right-side pane for information on feature availability.
    - Top and bottom layer copper layers are always represented as decals on the surfaces of the board part. When this option is enabled, CoDesigner will also create extruded features to represent all copper layers, as well as thruhole pads. Note that enabling this option can create a large amount of data that significantly impacts performance.
  • Build Vias
    Refer to the Note in the right-side pane for information on feature availability.
    - enable this option to also include the Via barrels. Note that enabling this option can create a large amount of data that significantly impacts performance.
  • Ignore components smaller than <Value><Units> in height - smaller components can be excluded from the synchronization process. Configure this option to exclude components less than <Value><Units> when a Pull is performed. Note that the component height is defined in ECAD as a property of the component (footprint), it is not the height of the 3D model placed on the footprint. Learn more about configuring Siemens NX to ignore smaller components.
  • Units System - units to be used for the board being Pulled from ECAD. This setting overrides the units being used in ECAD when the board was Pushed.
  • Participate in the product improvement program - enable this option to automatically share technical information with Altium about your use of CoDesigner. Learn more about the product improvement program.

The following two options were added to the Altium MCAD CoDesigner Settings dialog in the 3.4 update, and removed in the 3.7 update. If you are using CoDesigner version 3.4, 3.5 or 3.6, these options can still be used:

  • Assembly Item type in Teamcenter - use this field to define the custom Assembly Item Type used for storing PCB entities in Teamcenter.
  • Part Item type in Teamcenter - use this field to define the custom Part Item Type used for storing PCB entities in Teamcenter.

The mechanism used to define the link between the ECAD component and the Teamcenter model was improved in CoDesigner 3.7. Previously, these two removed options allowed CoDesigner to map the ECAD parameter to a single Category of NX model Properties, limiting the options for component linking. CoDesigner 3.7 now supports defining both the Teamcenter Category and the Property in the MCAD model property used for mapping and recognition field in the Workspace, as described below.

Working with Teamcenter PLM

Siemens Teamcenter PLM brings mechanical engineers together, allowing them to share their parts and their designs across the globe. CoDesigner supports Teamcenter PLM when performing operations with the PCB Assembly, the PCB Part, and the Components, in Siemens NX. PCB assemblies can be saved and opened from the Teamcenter interface directly in Siemens NX, as shown below. 

MCAD to ECAD - Referencing the ECAD Footprint from Teamcenter

MCAD model to ECAD footprint linking is defined by mapping an MCAD model property to an ECAD component parameter in your Altium Workspace. The mechanism used to define the link from the Teamcenter model to the ECAD component footprint was improved in CoDesigner 3.7. It now supports defining both the Teamcenter Category and the Property in the MCAD model property used for mapping and recognition field in the Workspace, using the following syntax:

<CategoryName>::<PropertyName>

 The linking Teamcenter Category and Property are mapped in the Workspace settings, using the syntax &lt;CategoryName&gt;::&lt;PropertyName&gt;. The linking Teamcenter Category and Property are mapped in the Workspace settings, using the syntax <CategoryName>::<PropertyName>.

ECAD to MCAD - Locating the MCAD Model in Teamcenter

ECAD component footprint to MCAD model linking is defined by specifying an ECAD component parameter that contains the MCAD model. This is configured in the MCAD CoDesigner settings in your Altium Workspace. During pull into MCAD, CoDesigner will search the MCAD data management system for an MCAD model of that name. 

If native ECAD-to-MCAD component linkage is used in Siemens NX, the MCAD component reference must be defined in the ECAD component parameter so that it includes the Teamcenter path, with the parameter value in the form:

:root_TC_folder:subfolder1:subfolder12:model_name

The 3.7 update to CoDesigner adds support for also mapping to the Teamcenter Part Identifier. If the ECAD component parameter value does not start with the : character, CoDesigner assumes that the parameter value is the Teamcenter Part Identifier, and will search Teamcenter for a part with that identifier. 

Model Storage

CoDesigner stores the 3D component models from each PCB that it pulls from ECAD in one of two locations. The default is to save the component models into the same folder as the MCAD PCB assembly. Alternatively, you can configure a common component folder that CoDesigner uses for all component models from all PCBs pulled from ECAD. The advantage of this approach is that CoDesigner can share component models that are common across different PCB assemblies.

When Teamcenter PLM is being used, if there is no common component folder configured in the Altium CoDesigner Settings dialog (shown above), CoDesigner will create an \Altium_Components folder in the root of the Teamcenter repository to store the 3D components from all pulled PCB projects. If a Common folder for storing models from ECAD has been configured in the dialog, that location will be used instead.

CoDesigner supports Siemens Teamcenter PLM.CoDesigner supports Siemens Teamcenter PLM.

Learn more about Linking Native ECAD and MCAD Design Components.

Working with Teamcenter Templates (added in CoDesigner 3.7)

Support for working with Teamcenter templates was greatly improved in the CoDesigner 3.7 update. In earlier versions, the Template name could be defined in the registry and the Item Type in the CoDesigner settings dialog, but this approach was found to be too limiting. To resolve this, the 3.7 update introduces support for a user-definable XML configuration file (as described below), and the Item Type options were removed from the settings dialog.

Siemens Teamcenter's support for templates provides a flexible way to define the parameters to be used in new part or assembly items, supporting the following parameters:

  • Item Type
  • Units
  • TemplateName
  • TemplatePresentationName
  • TemplateFileName
  • Additional template parameters

CoDesigner 3.7 introduced support for defining these parameters during part or assembly creation, using an XML configuration file.

Notes:

  • The Units parameter is not managed by the configuration XML, this is configured in the CoDesigner settings dialog.
  • If custom Item Types or Template names were previously being defined in the registry, edit the XML Configuration file and define the Item Types and Template names there instead.
  • The default configuration file settings will deliver the same default behavior as the registry-configured approach used previously.  

Configuration XML Location

The configuration XML file is deployed and used from the NX installation folder:

C:\Program Files\Siemens\<NxVersionNumber>\ALTIUM_CODESIGNER\template_parameters_mapping.xml 

The XML file describes the templates to be used and parameters to be set for supported parts and assemblies.

Configuration XML File

Below is a sample of the configuration XML. Note that there are four sections in the file:


<?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>
</Mapping>

The XML contains 4 sections: BoardAssembly, BoardPart, CopperPart and ComponentPart. Each section defines the creation parameters for the corresponding design model types.

The attributes to define are:

  • ItemType - Teamcenter Item Type
  • TemplateName - Model, Assembly, Other… (should correspond to the class specified in ObjectData of the PAX file record)
  • TemplatePresentationName
  • TemplateFileName - Relates to the template item revision loaded in Teamcenter. If this is not defined, then the first match found based on the other attributes (including Units) will be used.

Attribute values should map to the values of similar attributes found in your PAX file, so that the template can be identified in Teamcenter. Additionally, you can specify the attributes to set during part creation using the AttributesTemplate section.

Use the following example syntax as a guide:


<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>

Each Param item corresponds to an attribute set. The properties of each that need to be defined include:

  • Name - the name of the parameter to set
  • Category - the category of the attribute (this is often the name of the ItemType for the attribute)
  • Type - the data type of the attribute, allowed values are: String, Number, Integer, Boolean, Date
  • Value - the value template used to generate an attribute value. This can be a constant or an expression with a reference to context metadata.
    The Value template consists of expressions that are enclosed by {}.
    For example, the expression {ProjectName} will be replaced with the actual project name. If the template contains this expression, it will be applied in the context of different projects, and the resulting value will be created by its designated replacement.

Several expressions and constant values can be combined in the value template. Possible expressions are:

  • ProjectName - replaced with the name of the project
  • ProjectParam_Param1 - replaced with Param1 of the project (Param1 is the name of the project parameter from ECAD)
  • VariantParam_Param1 - replaced with Param1 of the current project variant (Param1 is the name of the project parameter from ECAD)
  • SubType - replaced with the copper part subtype name, should be used for CopperPart only.
  • ComponentParam_Param2 - replaced with the value of the Param2 component parameters which can only be used on ComponentPart. 

For example, if ProjectName is MyProject and the Area project parameter is PSU then the element is:

<Param Name="Description" Category="MyItem" Type="String" Value="{ProjectName}-{ProjectParam_Area}"/>

This example will set the string value MyProject-PSU to the Description attribute of the MyItem category.

Note: If the template configured in the XML file cannot be used, then a local template will be imported to Teamcenter instead, and warnings related to this issue will be shown. This local template will most likely not respect Teamcenter’s template settings, but will still let you build the design.

The approach of using a configuration XML file allows parts to be created without having to specify the values for mandatory attributes. It also allows passing additional parameters from the Altium Enterprise Server to NX and, as a result, to the Teamcenter items.

Where to Next?

Now that CoDesigner is installed in your MCAD software and connected to your Workspace, the next step is to configure the relevant Workspace settings.

Learn more about Configuring your Workspace Settings

 

Note

The features available depend on your level of Altium Designer Software Subscription.

Content