Parent page: ECAD-MCAD CoDesign
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.
As CoDesigner converts each component to a Parasolid model, they are named using the following scheme:
The following special characters, along with other control symbols, are replaced with an underscore (_):
\, /, :, %, [whitespace], |, [, ], *, ", ', \t
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:
<ComponentID>(this is the default option, and how it worked before this change)
Configure the Naming of Component Models option in the MCAD CoDesigner section of the Workspace Settings.
These new 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 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.
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 Altium NEXUS 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.
Component linking is supported, it can be configured in your NEXUS Server Workspace. 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.
► Learn more about how to log in to Configure the settings for CoDesign
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:
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 NEXUS 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).
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 NEXUS
You might have noticed that the Altium NEXUS Properties panel shown above is titled 3D Body, and the 3D Model Type is Generic. Altium NEXUS 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:
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 (
*.Stp), Parasolid (
*.x_b) and SolidWorks Parts File (
*.SldPrt) can be loaded into an Altium NEXUS 3D Body object.
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.
► Learn more about Using a 3D MCAD Component Model in Altium NEXUS
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.
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 your NEXUS Server Workspace. Doing this means each MCAD 3D model can be linked to the equivalent Altium NEXUS component. When the board is pulled into Altium NEXUS, instead of the MCAD 3D model being used, it is replaced by an instance of the fully-defined Altium NEXUS component footprint, complete with 3D model.
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.
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.|
Add a Custom Parameter to both the MCAD model and the ECAD component, with the same parameter value.
||Add a custom parameter to the ECAD component, whose value is the filename of the MCAD model.|
For this MCAD to ECAD component linkage system to work, CoDesigner needs to know where to search for the ECAD components. 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 PCB is pushed from MCAD and then pulled into ECAD, CoDesigner:
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 your NEXUS Server 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 image below shows the PARTNUM parameter has been added to the MCAD part, for this part it has a value of
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:
New (recognized), as shown below.
Note that the connector placed from the Workspace is a native Altium NEXUS component, complete with pads and silkscreen.
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.
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 NEXUS Server Workspace that CoDesigner uses to pass the board design back and forth between the MCAD and ECAD design domains.
To configure the shared parameter/property:
Log in to your NEXUS Server Workspace in your browser (learn more)
If the Use models from data management system on MCAD side option is enabled, CoDesigner in Altium NEXUS will include the parameter and parameter value in the board definition pushed to the shared component management system.
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.
CoDesigner will place the native model in MCAD, instead of the Parasolid format model that has also been stored in the Workspace.
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.