Parent page: More about ECAD-MCAD CoDesign
Altium CoDesigner's default behavior is to transfer the components back and forth between MCAD and ECAD through the connected workspace/managed content server, 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.
The default behavior is 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 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 in to Altium Designer 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 can be configured in the Altium 365 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 Workspace 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 Designer 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 Designer
You might have noticed that the Altium Designer Properties panel shown above is titled 3D Body, and the 3D Model Type is Generic. Altium Designer 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 Designer 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 Designer
Many of the components available for Altium Designer already include a true 3D model. These can be extracted from the Altium Designer component if required, to use in your MCAD software.
To do this:
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 workspace/managed content server. Doing this means each MCAD 3D model can be linked to the equivalent Altium Designer component. When the board is pulled into Altium Designer, instead of the MCAD 3D model being pulled from the Workspace, it is replaced by an instance of the fully-defined Altium Designer component footprint, complete with 3D model.
In the example image above, the linkage is from the name of the MCAD model - to the ECAD parameter called MCADModelName. When the MCAD model's name matches the value of the ECAD parameter MCADModelName, 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. Altium Designer supports a variety of component storage systems, including discrete libraries, integrated libraries, database libraries, and managed components. To use native component linking from MCAD to ECAD, the ECAD components must be managed components. Managed components are stored in an Altium Workspace or managed content server. 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
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 Designer 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 name of the MCAD model to an ECAD component parameter. The 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 Altium Designer will include the parameter and parameter value in the board definition pushed to the shared component management system.
CoDesigner in Creo will detect this and request that Creo search for the component using the parameter value as the model name, in the connected Windchill Workspace.
CoDesigner will place the native model in Creo, instead of the Parasolid format model that has also been stored in the shared managed content server.
The ECAD to MCAD component linkage system works by CoDesigner requesting that Creo 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 Windchill Workspace, Creo will indicate this, and CoDesigner will place the model transferred from the PCB editor and saved in the managed content server , instead.
Valid students can get their very own 6-month Altium Designer Student License for FREE! Just fill out the form below to request your Student License today.