Contact Us
Contact our corporate or local offices directly.
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:
<Footprint Name>_<ComponentDesignItemID>_<ItemRevision>
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:
<FootprintName>
, then <ComponentID>
(this is the default option, and how it worked before this change)<ComponentID>
, then <FootprintName>
<FootprintName>
, then <CustomComponentProperty>
<CustomComponentProperty>
, then <FootprintName>
Configure the Naming of Component Models option in the MCAD CoDesigner section of the Workspace Settings.
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 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.
► 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:
Notes:
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).
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
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.
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's design software
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:
The video below demonstrates this process.
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 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.
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. |
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. |
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 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 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 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:
New (recognized)
, as shown below.Note that the connector placed from the Workspace is a native Altium 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 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:
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.
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.
Contact our corporate or local offices directly.