Altium Designer Documentation

Linking Native ECAD and MCAD Design Components using Altium MCAD CoDesigner

Created: August 4, 2021 | Updated: March 15, 2022

Parent page: ECAD-MCAD CoDesign

This CoDesigner functionality requires:

  • An Altium Pro Subscription Plan
  • Altium design software, either:
    • Altium Designer 20.1 or later, with the MCAD CoDesigner extension version 2.0 or later
    • Altium NEXUS 3.1 or later, with the Collaboration Panel extension version 2.0 or later
  • A supported MCAD platform, with CoDesigner Addin version 2.0, or later º
    • MCAD-to-ECAD component linking is available for all supported MCAD platforms, except Autodesk Fusion 360.
    • ECAD-to-MCAD component linking is currently supported in PTC Creo Parametric® (connected to Windchill), and SOLIDWORKS (connected to SOLIDWORKS PDM).

CoDesigner's default behavior is to transfer the components back and forth between MCAD and ECAD through the Workspace as Parasolid models.

For many components this will be adequate, representing the component accurately in both design spaces. However, in some companies this might not be enough - they may require both the MCAD and the ECAD engineers to use native component models designed for their software. Not only will a true, tool-specific component model accurately represent the component in that design space, it can also be important for accurate output generation; such as fabrication files and the final Bill of Materials.

All of the MCAD and ECAD design software tools have their own approach to how component models can be stored. To allow native components to be used in each design domain, CoDesigner supports methods of linking the components between the domains. Before exploring component linking, it is worth understanding how the component models are named.

How the Component Models are Named

As CoDesigner converts each component to a Parasolid model, they are named using the following scheme:

<Footprint Name>_<ComponentDesignItemID>_<ItemRevision>

The following special characters, along with other control symbols, are replaced with an underscore (_):

\, /, :, %, [whitespace], |, [, ], *, ", ', \t

The default naming scheme used for component models.The default naming scheme used for component models.

In PTC Creo, all symbols except the letters (a-z, A-Z) and numbers (0-9) are replaced with an underscore and the result presented in upper case.

Controlling the Naming of Component Models

From CoDesigner 2.6 onward, you can choose between a number of component model naming schemes, as detailed below.

CoDesigner supports four options for controlling how component models are named, during their initial transfer from ECAD to MCAD:

  1. <FootprintName>, then <ComponentID> (this is the default option, and how it worked before this change)
  2. <ComponentID>, then <FootprintName>
  3. <FootprintName>, then <CustomComponentProperty>
  4. <CustomComponentProperty>, then <FootprintName>

Configure the Naming of Component Models option in the MCAD CoDesigner section of the Workspace Settings.

Select the Naming option and if it includes a Custom Component Property (parameter), define the parameter name.Select the Naming option and if it includes a Custom Component Property (parameter), define the parameter name.

These options simplify the interaction with the components in MCAD, allowing the MCAD engineer to add meaningful information such as part numbers into the Component ID, or the ECAD engineer can add a Custom Component Property in the ECAD component library.

The MCAD model is named based on the naming option configured in the Workspace.The MCAD model is named based on the naming option configured in the Workspace.

Notes:

  • The option can be changed by an Administrator in the Admin > Settings > MCAD CoDesigner section when you are logged into your Workspace in a browser.
  • Changing the naming option will not change the name of component models that have already been created by CoDesigner.

Linking MCAD and ECAD Native Components

This feature is not available with the Standard Subscription Plan.

The default behavior when a design is Pushed from either the MCAD or ECAD domains, CoDesigner converts the components to Parasolid format models and stores them in the connected Workspace. When that design is Pulled, CoDesigner then builds a model of each component in the format required by the target tool.

This approach gives an accurate representation of each component in both the ECAD and the MCAD design spaces. The disadvantage of this approach is that the model does not fully represent the component as it needs to be represented in that tool. For example, when a design is Pulled into ECAD the component will not include the pads, silkscreen, and other entities typically included in a PCB component. Nor will it be linked to a schematic symbol, or into the supply chain. A better approach is to be able to link from the model/component used on one side, to an equivalent, native model/component on the other side.

To manage the requirement for each design tool to be able to use native components, CoDesigner supports linking between the MCAD and ECAD components. The links are defined in the Workspace, which acts as a bridge between the ECAD and domains. CoDesigner uses these settings to establish MCAD-to-ECAD and ECAD-to-MCAD component links, so that the source model/component can be replaced by a native model/component in the target domain, when the board is Pulled.

This image shows the component linkage settings in an Altium 365 Workspace, the settings are the same in an on-site Workspace.This image shows the component linkage settings in an Altium 365 Workspace, the settings are the same in an on-site Workspace.

Learn more about how to log in to Configure the settings for CoDesign

Requirements for the MCAD and ECAD Models

To use these component recognition capabilities, the 3D models should be geometrically the same on both the MCAD and ECAD sides.

Geometrically the same means:

  • The location of the origin within the MCAD model and the ECAD model is the same.
  • The orientation of the models’ XYZ axes are the same (note that the XYZ axes can be oriented in any direction).

Notes:

  • Top side / bottom side placement is defined according to the location of the model’s origin relative to the board. It is strongly recommended to not use MCAD models that have the origin located below the MCAD plane through the middle of the board.
  • Make sure that your models consist of a single part and not an assembly, and do not contain more than one origin. If you have any doubts - check the models on both sides after import.
  • The format of the models can be different in MCAD and ECAD (for example a Creo part used in PTC Creo, and a STEP model used in your Altium design software).
  • The level of detail in the models can be different, for example, a precise model in MCAD and a simplified model in ECAD. Note that if a simplified model is used, for example a rectangular prism, it must have the same bounds and origin as the precise model, for model placement to work correctly.

Guidelines for Orienting the 3D Model

It is common for MCAD component models to have an origin and use an orientation that is not ideal for placement in ECAD. This will not be an issue as long as the MCAD and ECAD models have the same origin and the same orientation of their axes.

The images below show the same model open in Creo, and then in the Altium PCB library editor. This component model was designed with the origin in the center of the front vertical plane (when the component is oriented for mounting on a PCB).

The origin of the MCAD part is the center of the front vertical plane, as viewed.The origin of the MCAD part is the center of the front vertical plane, as viewed.

When it is first placed in the PCB library editor, the model will be oriented as shown below.

It can then be re-oriented by selecting it, and adjusting the Orientation settings in the Properties panel.

CoDesigner manages these orientation changes correctly when the design is pushed and pulled between MCAD and ECAD, as long as the MCAD and ECAD models share the same origin and orientation of axes.

Learn more about Orienting and Positioning a 3D Model in Altium's design software

How 3D Models are Handled in Altium's Design Software

You might have noticed that the Properties panel shown above is titled 3D Body, and the 3D Model Type is Generic. Altium's PCB editor includes basic 3D shapes, referred to as 3d Body objects, that can be placed and sized to create a representation of the physical component. A 3D Body object can have a shape of type: Extruded, Cylinder and Sphere.

A 3D Body Object can also be used as a container to hold a true 3D model, by setting the 3D Model Type to Generic. When the type is set to Generic, 3D models of type: STEP (*.Step and *.Stp), Parasolid (*.x_t and *.x_b) and SolidWorks Parts File (*.SldPrt) can be loaded into a 3D Body object.

Using a 3D MCAD Model in ECAD

3D models can be sourced from a variety of places, including component manufacturer websites and 3rd party websites, as detailed below. Complex component shapes are supported, and if required additional snap points can be defined in the PCB library editor.

A complex 3D model in Altium's PCB library editor, positioned on the PCB footprint.A complex 3D model in Altium's PCB library editor, positioned on the PCB footprint.

Learn more about Using a 3D MCAD Component Model in Altium's design software

  • Components can be imported in the STEP (*.Step and *.Stp), Parasolid (*.x_t and *.x_b) and SolidWorks Parts File (*.SldPrt) formats.
  • 3D mechanical models can sometimes be sourced from the component manufacturer.
  • There are excellent community portal websites, such as 3D Content Central and GrabCAD, where designers share models.
  • There is also a growing number of commercial 3D sites, including Ultra Librarian and PCB 3D.

Extracting a 3D Model from ECAD to use in MCAD

Many of the components available in Altium's design software already include a true 3D model. These can be extracted from the ECAD component if required, to use in your MCAD software.

To do this for a managed component:

  • Locate the required component in the Components panel.
  • Right-click on the component and select Edit from the context menu.
  • The component will open for editing, click the edit icon above the footprint to open it for editing.
  • The footprint will open for editing, select the Tools » Extract 3D Models command to extract the 3D model.
  • The Generate 3D Model files from PCB Libraries dialog will open, configure your preferred destination option and click OK to extract the model.

The video below demonstrates this process.

3D models can be extracted from Altium components if required.

Resolving Problematic Models

Each ECAD and MCAD tool has its own model conversion software, offering different levels of support for importing and converting a model that has issues with inconsistencies or inaccuracies in the model description. To help in this situation CoDesigner transfers single-body models in Parasolid Text format directly from ECAD to MCAD, without transformation and without converting (which could sometimes result in the corruption of a model).

If a model is causing problems during a Push-Pull between ECAD and MCAD, extract it from the ECAD component (as described above), import it into your MCAD software and save it out as Parasolid Text (confirming that it opens correctly in MCAD), then import it back into the ECAD component.

When you are importing the Parasolid model back in to ECAD, there are different techniques you can use to orient and position the model in the PCB library editor:

Position and orient the model using the Properties panel

Position and orient the model using the Orient and Position 3D Body command

Linking from the MCAD Components to the ECAD Components

This feature is not available with the Standard Subscription Plan.

The typical design flow is for the components to be placed in ECAD. However, it is also desirable for the mechanical engineer to be able to place key components, such as connectors, directly in MCAD as part of the initial board definition cycle. When a component is placed in MCAD it is a 3D model, when that model is pushed to ECAD, the default behavior is for CoDesigner to transfer it as a free 3D body.

This default behavior can be overridden by enabling and configuring the component recognition features in the shared Workspace. When this is done, it means that each MCAD 3D model can be linked to an equivalent ECAD component. When the board is pulled into ECAD, instead of the MCAD 3D model being used, it is replaced by an instance of the fully-defined ECAD component footprint, complete with 3D model.

Configure the properties that identify the MCAD-to-ECAD component linkage.Configure the properties that identify the MCAD-to-ECAD component linkage.

In the example image above, the linkage is from the MCAD parameter called PARTNUM - to the ECAD parameter called PartNumber. When the value of the MCAD PARTNUM parameter matches the value of the ECAD parameter PartNumber, a link is established and the ECAD component is placed instead of the 3D model pushed from MCAD.

If the component has already been placed on the Altium project schematic, the schematic component designator is assigned to the PCB component. Run the PCB editor's Project » Component Links command to define a matching UID link between the schematic and PCB components so that design synchronization can be performed in ECAD.

CoDesigner can link the MCAD components to the equivalent ECAD components in the following ways:

From the MCAD Model To the ECAD Component Notes about this combination
In the MCAD model property used for mapping and recognition field: In the ECAD component parameter used for mapping and recognition field: Enable the Recognize models placed in MCAD and use true electrical components in ECAD instead option, configure the options as detailed below, and click Save.
Enter the Custom Parameter Name Enter the Custom Parameter Name

Add a Custom Parameter to both the MCAD model and the ECAD component, with the same parameter value.

Select MCAD model name from the dropdown Enter the Custom Parameter Name Add a custom parameter to the ECAD component, whose value is the filename of the MCAD model.
  • Note that only one component linkage method can be used across all projects.
  • Other component linking configurations will be added in future updates.

CoDesigner checks the Workspace settings on startup (from the MCAD and the ECAD tools). Restart your design software if the settings have been changed in your Workspace.

Where the ECAD Components are Stored

For this MCAD to ECAD component linkage system to work, CoDesigner needs to know where to search for the ECAD component with a matching parameter. To use native component linking from MCAD to ECAD, the ECAD components must be managed components stored in a Workspace. CoDesigner will search for the components in the same Workspace that the board design is being transferred through.

When the Recognize models placed in MCAD feature is being used, CoDesigner will search the Workspace for an ECAD component with the matching parameter/value.When the Recognize models placed in MCAD feature is being used, CoDesigner will search the Workspace for an ECAD component with the matching parameter/value.

Synchronizing Components from MCAD to ECAD

When the PCB is pushed from MCAD and then pulled into ECAD, CoDesigner:

  1. Checks for a match between each MCAD component and the existing ECAD components. Components are matched first by the defined property/parameter pair, then by reference designator. For a match, CoDesigner will suggest making changes to the location of components and to their properties, if necessary.
  2. For each component coming from MCAD that is not present in the ECAD domain, check if the Recognize models placed in MCAD and use true electrical components in ECAD instead, option is enabled in the Workspace.
    1. If enabled, check the MCAD model property used for mapping and recognition setting in the Workspace to see which MCAD component parameter to use, then read the value of that parameter from the MCAD component (this is the value used to find a match on the ECAD side).
    2. Then check the Workspace for the ECAD component parameter used for mapping and recognition setting for the name of the parameter to use on the ECAD side.
    3. Then search the Workspace for an ECAD component that matches that parameter/value.
    4. If a component with the matching parameter/value is found in the Workspace, place that native ECAD component on the PCB. These components are flagged as recognized in the CoDesigner panel.
    5. CoDesigner then does an additional check to see if this component is already present on the ECAD schematic, and if it is, assigns the schematic designator to the placed PCB component. Note that the PCB editor's Project » Component Linking command must be run to establish the schematic-to-PCB component linking.
  3. If the component is not found in the Workspace, place the 3D model that came from MCAD. These are flagged as FreeBody in the CoDesigner panel. As a FreeBody (3D Model), these can be edited and replaced in ECAD with an alternate 3D model, if required.
  4. If the Recognize models placed in MCAD and use true electrical components in ECAD instead option is not enabled, or if it is enabled but the MCAD component does not include the specified MCAD model property used for mapping and recognition, CoDesigner places the MCAD model with the designator that came from MCAD. These are flagged as Added in the panel.

The synchronization of FreeBodies is only from MCAD to ECAD, if a FreeBody is moved in ECAD that movement is not transferred to MCAD when a Push from ECAD is performed.

Notes:

  • Designators that are defined in ECAD override designators assigned in MCAD.
  • If the mechanical engineer has not set up the designators, CoDesigner assigns default values.
  • If a model that came from MCAD has no MCAD model property used for mapping and recognition, it is considered a free 3D body.

Example of Synchronizing Components Using Custom Parameters

If a placed MCAD component includes the custom parameter defined in the MCAD model property used for mapping and recognition field, CoDesigner will search for that component in the ECAD components available in the Workspace.

In the example below, the Workspace settings are mapping the MCAD part parameter, PARTNUM, to the ECAD component parameter, PartNumber. A match is detected when these parameters share the same value.

The MCAD part uses the parameter PARTNUM, and the ECAD component uses the parameter PartNumber.The MCAD part uses the parameter PARTNUM, and the ECAD component uses the parameter PartNumber.

The image below shows the PARTNUM parameter has been added to the MCAD part, for this part it has a value of MINI_D-300-0058.

Because the Recognize models placed in MCAD and use true electrical components in ECAD instead option is enabled in the Workspace, the PARTNUM parameter and its value are Pushed to the Workspace as part of the board data.

When a Pull is performed from ECAD, CoDesigner will:

  • Detect that the Recognize models placed in MCAD and use true electrical components in ECAD instead option is enabled in the Workspace.
  • Check for the PARTNUM parameter in the incoming MCAD 3D component parts and read the PARTNUM parameter's value.
  • Search the Workspace components for a component that includes the ECAD PartNumber parameter, with the same value.
  • If one is found, the ECAD component will be placed instead of loading the Parasolid model included in the board data. The Change list will show it as New (recognized), as shown below.
  • CoDesigner then does an additional check to see if this component is present on the ECAD schematic, and if it is, assigns the schematic designator to the placed PCB component. Note that the PCB editor's Project » Component Linking command must be run to establish the schematic-to-PCB component linking.

When an MCAD property/ECAD parameter match is found, the ECAD component is flagged as recognized.When an MCAD property/ECAD parameter match is found, the ECAD component is flagged as recognized.

Note that the connector placed from the Workspace is a native Altium component, complete with pads and silkscreen.

Instead of transferring a model from MCAD, the native component has been placed from the Altium 365 Workspace.Instead of transferring a model from MCAD, the native component has been placed from the Altium 365 Workspace.

Synchronizing Existing Components

When design changes are pushed from ECAD and pulled into MCAD, CoDesigner matches existing components with components that came from ECAD, suggesting to make changes to the location of components and to their properties, if necessary.

Additionally, CoDesigner identifies the components which were initially placed in MCAD. These components will not be marked by the special attributes set up by CoDesigner, identifying them as ECAD-owned. CoDesigner does not replace such components, the original MCAD model is retained. However, it adds the corresponding ECAD features to the bare board: including holes, silkscreen, and copper (optional).

If an MCAD-owned component is moved/rotated in ECAD, CoDesigner keeps its proper orientation in MCAD (relatively to the board). It even works for MCAD models that have their Z-axis oriented horizontally.

Linking from the ECAD Components to the MCAD Components

This feature is not available with the Standard Subscription Plan.

ECAD-to-MCAD native component linking is currently supported in:

  • PTC Creo Parametric, connected to a PTC Windchill® server. Consult your Creo documentation for information on how to connect to Windchill.
  • SOLIDWORKS, connected to a SOLIDWORKS PDM. Consult your SOLIDWORKS documentation for information on how to connect to SOLIDWORKS PDM.

CoDesigner also supports the placement of native components when the PCB is being Pushed from ECAD and Pulled in to MCAD. To do this, CoDesigner asks the MCAD software to get the model of the component from the MCAD's data management system (by the model’s name) and then places that component on the MCAD PCB assembly, instead of the model that came from ECAD.

This is achieved by mapping the MCAD model name to an ECAD component parameter. The ECAD parameter that is used to store the MCAD model name is specified in the Workspace that CoDesigner uses to pass the board design back and forth between the MCAD and ECAD design domains.

Enable and configure the Use models from data management system option, and Save the changes. This image shows a workspace hosted on Altium 365.Enable and configure the Use models from data management system option, and Save the changes. This image shows a workspace hosted on Altium 365.

To configure the shared parameter/property:

  1. Log in to your Workspace in your browser. (Learn how to: log into a 365 Workspace; log into a Concord Pro Workspace; log into a NEXUS Server Workspace)
  2. Open the Admin - Settings page as shown above and select MCAD CoDesigner in the center of the page to configure the property/parameter.
  3. Check the Use models from data management system on MCAD side when creating PCB Assembly option to enable the feature and be able to define the ECAD parameter.
  4. Enter the name of the ECAD component parameter used for storing MCAD model name. Note that this value is not case sensitive.
  5. Click the Save button to save the change.
  • CoDesigner checks the MCAD-to-ECAD settings on startup (from the MCAD and the ECAD tools). Restart your design software if the settings have been changed in your Workspace.
  • If the component is not available in the MCAD Data Management system, CoDesigner places the model transferred from ECAD, instead.

How the Native MCAD Components are Placed in MCAD

If the Use models from data management system on MCAD side option is enabled, CoDesigner in ECAD will include the parameter and parameter value in the board definition pushed to the shared component management system.

This ECAD component includes the MCADModelName parameter, with a value of nn_DF40_2.This ECAD component includes the MCADModelName parameter, with a value of nn_DF40_2.

CoDesigner in MCAD will detect this and request that the MCAD software search for the component using the parameter value as the model name, in the connected MCAD Data Management system. The image below gives an example of this in PTC Creo.

A model with this name is available in the connected Windchill Workspace.A model with this name is available in the connected Windchill Workspace.

CoDesigner will place the native model in MCAD, instead of the Parasolid format model that has also been stored in the Workspace.

The native model has been placed on the PCB assembly in Creo.The native model has been placed on the PCB assembly in Creo.

The ECAD to MCAD component linkage system works by CoDesigner requesting that the MCAD software search for the components that include the ECAD component parameter used for storing MCAD model name parameter (MCADModelName in the example images above). If the component is not available in the MCAD Data Management system, the MCAD software will indicate this and CoDesigner will place the model transferred from ECAD, instead.

Notes on using this feature in SOLIDWORKS:

  1. The MCAD component must be defined in the ECAD component as a parameter, with the parameter value in the form:
    <vault>:folder\folder\component.sldprt, where <vault> is the name of the SOLIDWORKS PDM vault.
  2. The component libraries should be synchronized with the local PDM storage before pulling the PCB into MCAD.

 

Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

Contact Us

Contact our corporate or local offices directly.

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
You are reporting an issue with the following selected text
and/or image within the active document: