Parent page: ECAD-MCAD CoDesign
This CoDesigner documentation is for:
- Altium design software, either:
- Altium Designer 21.3 or later, with the MCAD CoDesigner extension version 2.6.0 or later
- Altium NEXUS 4.3 to 5.8, with the MCAD CoDesigner extension version 2.6.0 or later.
- Altium CircuitMaker 2.1 or later, with the Fusion 360 CoDesigner extension version 2.8 or later. Learn more about working between CircuitMaker and Autodesk Fusion 360.
- Supported MCAD platforms, with CoDesigner Addin version 2.6.0, or later. Note that CircuitMaker only supports Autodesk Fusion 360®.
An exciting evolution in the design and development of electronic products is the ability to print the electronic circuit directly onto a substrate, such as a plastic molding that becomes a part of a product. Altium is building technology to support the design of Printed Electronics and Molded Interconnect Devices (MIDs), by performing the Layout and Routing directly on a 3D Structure. At this stage, CoDesigner does not support the transfer of a printed electronics design between ECAD and MCAD because of the different design approaches needed. Development is ongoing, and support will be added in a future update.
What is CoDesign?
Working between the electronic and mechanical design domains brings unique challenges. ECAD and MCAD tools have different design objectives and have evolved down different paths, as well as the way they store and manage their data.
But today's designs demand that this challenge be solved - small and complex product enclosures that house multiple, irregular-shaped printed circuit boards - to successfully design these products, the designers must be able to collaborate as they pass design changes back and forth between the ECAD and MCAD domains.
Passing complex and detailed design changes between different design software is much more than just being able to save data in another format. The electronic and mechanical design teams work independently and need to be able to transfer changes at any point in their design process. The issue is, how do you manage the flow of changes back and forth between the teams, without impacting either team's day-to-day design work? The last thing the design teams need is for one team to have to stop work until the other team has accepted their latest change before both teams can proceed.
This collaborative design challenge is solved by CoDesigner, an interface for transferring printed circuit board designs between the ECAD and MCAD design domains.
How it Works
Once the CoDesigner plug-in has been added to the ECAD and MCAD software, CoDesigner can pass design changes back and forth through an Altium Workspace. The Workspace acts as a bridge between the ECAD and MCAD domains, as shown below.
The advantage of passing design changes through a Workspace is the update process becomes stateless. That means each side can continue to work independently, there is no need to worry about where the other team is up to in the design process.
For example, when the MCAD designer has defined the board shape, they can Push the assembly to the Workspace. The ECAD designer will automatically be notified that there is a change pending. When they click Pull, their board is compared to the MCAD board definition in the Workspace and a list of changes required to synchronize their board with the Workspace version is generated. The ECAD designer can then enable the changes they want, and Apply them to their board. The ECAD designer might then configure the various copper and other fabrication layers required in the layer stack, defining the board thickness, and Push the updated board back to the MCAD designer, ready for placement of any location-critical mechatronic components.
What is a Workspace?
An Altium Workspace is a dedicated content storage and management system, that couples directly into your design software. Altium's design software works seamlessly with the Workspace, providing an elegant answer to the question of handling design data with secured integrity.
Altium's design software can connect to the following Workspaces:
- Altium 365 Workspace - a Workspace hosted on the Altium 365 cloud-based infrastructure platform. The Workspace facilitates the seamless connectivity of, and the mechanics for moving data between, the design, manufacturing, and supply domains. A cloud-based Workspace is recommended since it opens up a variety of global sharing and collaborative features that can only be experienced and enjoyed through the cloud-based Altium 365 platform.
- Altium On-Prem Enterprise Server Workspace - if your design team cannot use a cloud-hosted Workspace, Altium also supports an On-Prem Enterprise Server that is installed on-site and managed by your own IT department. This server replaces the Concord Pro Workspace and the NEXUS Server Workspace, which have been discontinued as products and brand names.
► Learn more about Designing with a Connected Workspace
What is a Personal Space?
Every designer that has registered with Altium Live also gets access to their own Altium 365 Personal Space. The Personal Space is free, and offers some of the collaborative capabilities available in a Workspace. The Personal Space is also used as the ECAD-MCAD transfer interface for designers working between Altium CircuitMaker and Autodesk Fusion 360.
► Learn more about the Altium 365 Personal Space
► Learn more about Collaborating between Altium CircuitMaker and Autodesk Fusion 360
Automatic CoDesigner Push when you Save to Server
When you perform a Push from ECAD in CoDesigner, you are not pushing the PCB file to the Altium Workspace, you are pushing a special ECAD-to-MCAD data package. This package includes: the PCB data, layer geometry, the component 3D models in Parasolid format (learn more about how the 3D models are named in MCAD), and the copper geometry.
Saving the PCB project to the Server (Workspace) is performed independently from a Push to MCAD. This separation of MCAD Pushing and Saving to Server can be a source of confusion, where an electrical engineer might think that the Save to Server they performed at the end of the day meant that everyone else who needs access to that design data, is now up-to-date and ready-to-go.
To simplify the process of keeping files in sync, the Workspace performs an automatic MCAD Push, whenever a Save to Server is performed on the PCB project in ECAD.
An MCAD Push is automatically performed when the project is Saved to the Server.
Automatic Pushing is currently only enabled for Altium 365 Workspaces. Support for On-Prem Enterprise Server Workspaces will be added soon.
When the MCAD engineer performs a Pull, they are alerted to the fact that the last MCAD Push was automatic, as shown in the slides below.
If an automatic Push cannot be performed, the MCAD engineer is warned that the version of data they are pulling is not the latest (show image).
Automatic Pushing is not performed when:
- The PCB file has only been saved to the working folder, it is yet to be Saved to the Server. Once a Save to Server has been performed, automatic Pushing will resume.
- There are multiple PCB files in the ECAD project, which have all been Saved to the Server. This can be resolved by the ECAD engineer performing a manual MCAD Push on the correct PCB.
- The PCB has failed CoDesigner's validation checks, these must be resolved before an automatic or manual MCAD Push can be performed.
The Collaborative Design Interface
Both your Altium and your MCAD software interface to each other through a panel (tab) in the software. In your Altium software, it's called the MCAD CoDesigner panel; in your MCAD software, it's called the Altium CoDesigner panel, or tab.
MCAD CoDesigner / Altium CoDesigner Panel
Design changes are Pushed and Pulled between the ECAD and MCAD domains through a dedicated panel.
- In your Altium design software, the MCAD CoDesigner panel is used to Push and Pull design changes back and forth, and display messages.
- In the MCAD software, the Altium CoDesigner panel is used to:
- Create new collaboration projects
- Open an existing collaboration project
- Configure collaboration options
- Push and Pull design changes back and forth
- Display messages
Working in the CoDesigner Panel
The functionality available in the CoDesigner panel is essentially the same in both ECAD and MCAD. The panel always displays the last change made in ECAD and the last change made in MCAD.
All CoDesign activity is performed through the CoDesigner panel.
Latest from ECAD / Latest from MCAD
- These two sections display the last change made in ECAD and the last change made in MCAD.
- Click the triangle icon to expand the panel and show the detail of the last change .
- When new changes are pushed from the other domain, the banner appears automatically, as shown below.
The panel will detail:
- The sign-in name of the engineer who performed the Push
- The optional comment they entered when they Pushed
When changes are pushed, a New Changes notification banner appears.
- When the Pull button is clicked, CoDesigner compares the currently open design against the version last Pushed to the Workspace from the other design domain. Each difference that is detected is listed in the Changes list in the panel, as shown below. When you select a change in the list, the impact of that change is highlighted in purple, if possible.
Click on a Change in the list to highlight the impact of that change.
- Clear the checkbox for each change you do not want to apply.
- There may be a change that cannot be applied, in this situation, that change and its checkbox are greyed out. This difference will continue to exist after the changes have been applied, and should be discussed with the engineer that Pushed it.
- When you are ready, click the Apply button to apply all enabled Changes to the currently open design.
Support for Change History and Rejection Comments
The complete history of all changes is retained. To examine the history, click the History link to the right of the Latest from the ECAD/MCAD drop-down, as shown below.
Change history makes it easy for the engineers on both sides to be aware of each other's responses to the changes being made.
Each set of changes details:
- Who made this set of changes.
- The date this set of changes occurred.
- The optional summary statement included when the changes were Pushed from the other domain.
- A list of each specific change, with a tick indicating which change was accepted, or a cross for each change that was rejected.
- An optional statement detailing why a specific change was rejected. For example, in the image above the change about the placement change to a hole was rejected.
- Click the button in the History mode of the panel to return to the Latest Changes mode.
- A complete history of the changes that have been made in the project can also be viewed in your Workspace (using your browser), or in your Altium design software.
- To view the history in your browser, first open the project (it will open in a separate browser tab), then click on History in the panel on the left. To view the history in your Altium software, select Project » History & Version Control » Show Project History from the menus.
► Learn more about Project History in: an Altium 365 Workspace, or in an Enterprise Server Workspace (Project History is also available in a Concord Pro Workspace, or a NEXUS Server Workspace, which have been discontinued as products and brand names).
The history of changes can also be viewed in the Workspace.
PCB Definition - Board Areas
In a design there may be areas on the board that requires special attention, which the MCAD engineer needs to define and pass to the ECAD engineer. For example, there may be a zone on the board surface that must be kept clear of copper because a conductive part of the enclosure comes into contact with the board surface when the product is assembled. To support this, the MCAD engineer can define Keep Out Areas and Text Note Rooms, using the buttons on the Altium CoDesigner ribbon.
If either of these objects has been placed on the board in MCAD, they will be listed in the Board Areas list in the PCB Definitions section of the CoDesigner panel:
- Keep Out Area - A Keep Out Area defined in MCAD will become a PCB Keepout in ECAD. A PCB Keepout is a region or area of the board that has been configured to restrict the placement of specific ECAD objects. Keepouts can be defined for either side of the board, or applied to all PCB layers. The objects that are to be kept out of this area on the ECAD PCB are selected as Keepout Restriction properties in the Altium CoDesigner MCAD panel; configure them as required. Learn more about placing a Keep Out Area in MCAD.
- Text Note Room - a Text Note Room defined in MCAD will become a PCB Room in ECAD. A PCB Room is a design rule used to define an area where specific components must be placed in, or excluded from. A common use for this rule is to define a component height restriction in the board area covered by the Room. Typically the Room rule will be applied to an individual component, or a class of components. Click on a Text Note Room definition in the Altium CoDesigner MCAD panel to select it, then enter instructions or information for the ECAD engineer; this text will become the Comment field for that Room in the ECAD PCB editor. Learn more about placing a Text Note Room in MCAD.
Board Areas are special zones defined by the MCAD engineer, that are then Pushed to the ECAD engineer. Hover your cursor over the image to show the Text Note Room properties.
- Keepouts and Rooms created or changed in ECAD are not displayed by default in MCAD, removing redundant visual information for the mechanical engineer. Their visibility in MCAD can be restored when needed.
- Copper regions can not be defined in MCAD. If the MCAD engineer needs to define a copper region, place a Keep Out Area on the appropriate layer in MCAD.
PCB Definition - Board Enclosure
CoDesigner supports working at the device assembly level in MCAD, and transferring the enclosure with the board from MCAD to ECAD.
CoDesigner recognizes that the board and the enclosure have been added to the device assembly.
► Learn more about working in the device assembly and pushing the enclosure from MCAD to ECAD.
CoDesigner MCAD Settings Menu
The CoDesigner settings menu is used to configure CoDesigner in your MCAD software.
Click the down arrow at the top right of the Altium CoDesigner panel to open the menu.
Use the menu options to:
- Confirm which Server/Workspace you are currently signed in to.
- Sign out of the Server/Workspace you are currently signed in to.
- Open the CoDesigner Settings dialog, where you can configure a central location to store models and enable true copper support.
- Access a Custom Server. Clicking the Use Custom Server option will sign you out of the current Workspace and return you to the sign-in mode of the Altium CoDesigner panel.
To check the version number in an older version of CoDesigner that does not display the version number, open Programs and Features in the Windows Control Panel.
The CoDesigner MCAD Ribbon
When the CoDesigner Add-In is installed in your MCAD software, it adds the Altium CoDesigner Ribbon to the interface. Click on the Altium CoDesigner tab to access the Ribbon, which provides an easy way of accessing the common PCB-specific design objects needed during the ECAD-MCAD CoDesign process. Using these buttons ensures that the correct MCAD object type is used to create a compatible ECAD object.
Use the CoDesigner Ribbon to define objects on the PCB in an ECAD-ready way.
Recommendations on the Collaboration Workflow
ECAD-MCAD CoDesign is a flexible process, there is no prescriptive approach that must be followed. While it is common for the board shape to be designed in MCAD, the board thickness must be defined in ECAD because that is where the various PCB layer materials are selected and configured. This requirement leads to a recommended design flow, as outlined below.
Starting the Collaboration Process
- In ECAD, create the project, add a PCB, and define the layer stack to set the board thickness. The saved project and board become the ECAD designer's working files.
- In ECAD, open the MCAD CoDesigner panel as all other panels are accessed (View » Panels or click the Panels button at the bottom right of the design space, then select the panel name) and Push the board. This saves the project and the current board definition to your Workspace.
In ECAD, the CoDesign project must be a managed project. It is not necessary to start with a managed project though, if the project has been created as a local project it is automatically converted when you first attempt to Push.
Create the Project
The PCB must be part of a project for you to be able to share it with an MCAD designer.
Select the Location where the project will be stored, the Type, and Name the project. The dialog changes depending on where your Workspace is hosted, hover the cursor over the image to see the differences.
To create a new managed project:
- Select File » New » Project to open the Create Project dialog.
- In the Locations column, select your Workspace.
- Set the Project Type to PCB <Default>
- Set the remaining dialog options to:
- Project Name - name of the ECAD PCB project
- Description - optional description of the project
- Folder - the folder where the project is stored in your Workspace
- Local Storage - folder on your hard disk, below which the working copy of the project will be stored (a project folder, named the same as your project, is automatically created)
The Folder and Local Storage fields are accessed by clicking the Advanced control.
Add a PCB to the Project
A PCB must be added to the project in ECAD, regardless of where the project was first created.
A PCB must always be added to the project in ECAD.
Adding a new PCB:
- Select File » New » PCB, a new blank PCB will be added to the project and opened in the PCB editor.
- Save the PCB with a suitable name (File » Save).
Define the PCB Layer Stack
The Layer Stack, or Z-plane properties of the CoDesign board, are defined in the PCB editor's Layer Stack Manager.
The layer stack defines the thickness of the board.
Defining the Layer Stack:
- Select Design » Layer Stack Manager, the Layer Stack Manager editor will open on a separate document tab, as shown above.
- Use the right-click menu to add the required new layers to the layer stack.
- For each layer, click the ellipsis button ( ) in the Material column to select the correct layer material from the Material Library.
- Save the Layer Stack to update the PCB with these changes. Click here to learn more about defining the layer stack.
- Save the PCB file and the Project (File » Save All). This saves the working copies of the project files.
- The last step is to save the project files to the Workspace. Right-click on the project name in the Projects panel and select Save to Server from the context menu. The Commit to Version Control dialog will appear, indicating which modified files need to be committed. Enter a comment if required, and click the Commit and Push button.
Push the Board to the MCAD Designer
Assuming that the X-Y shape of the board is being defined in the MCAD software, the board can now be Pushed to the Workspace.
Now that the thickness has been defined in ECAD, the board can be pushed to MCAD for shape definition.
Pushing the board to the MCAD software:
- If the MCAD CoDesigner panel is not open, click the button (lower right of the software) and select it from the menu.
- Click the Push button in the panel.
- A message window will appear, enter a message for the MCAD designer that describes what you are pushing to them. The Share checkbox may also appear, more on this below.
- Click Send to complete the Push process. A message dialog will appear, reporting the status of the process.
- When the Push is complete, the Latest from ECAD section in the panel will display the Activity thread, as shown below.
The Latest from ECAD section reports that the board has been Pushed to the Workspace, note that the panel also reports there have been No Pull actions yet.
Push and Share to Invite a Mechanical Engineer (Workspace hosted on Altium 365)
When you click Push in the MCAD CoDesigner panel in ECAD, CoDesigner checks to see if the project has been shared in the Altium 365 Workspace with a user who has the Mechanical Engineers role assigned. If the project has not been shared yet, the Share checkbox will appear in the panel below the Comment field, as shown below.
If you enable the Share checkbox in the panel, the Share with a Mechanical Engineer dialog will open when you click the Send button.
Enter their Email Address and an optional Note in the dialog, then click the Share button.
The Share with a Mechanical Engineer notification dialog will then appear, warning that the invited user might be outside of your organization.
When you click OK in the Share with a Mechanical Engineer dialog: they will be added to the Workspace team, assigned the Mechanical Engineers role, and be given read-only access to the project.
- The Mechanical Engineer will not be able to Pull the board design if the project is not shared with them. Because ECAD-MCAD CoDesign is done through a tool-neutral intermediate file and the mechanical engineer has read-only access to the actual PCB design files, there is low risk in sharing.
- All Administrators for the Workspace will receive a notification email that the Mechanical Engineer (presenting their email address) was invited and added to the Workspace.
- The non-AltiumLive Mechanical Engineer, upon signing up, will be treated by AltiumLive as if they were their own personal organization. They will not be added to your organization.
► Learn more about Sharing the design with a Mechanical Engineer.
Note that the PCB pushed to the Workspace is identified by the project name, not the board's filename. If you push a second PCB from the same project, it will overwrite the first PCB.
- In MCAD, Pull the Board in the Altium CoDesigner panel - this creates an MCAD board assembly based on the board definition in your Workspace.
If the project and the board have already been created in ECAD but not yet opened in your MCAD software, the project must be Pulled from your Workspace. To do this:
- Open your MCAD software.
- Display the Altium CoDesigner panel. Sign in to your Workspace if you are not currently signed in. If you're not sure how to display the panel, learn more about Installing and Configuring Altium MCAD CoDesigner.
- Because there is no assembly currently open, the panel will display the Pull, Create, and Recognize PCBs buttons. Click the Pull button.
- The Select Project dialog will open, select the required project and click OK.
- In SOLIDWORKS and Autodesk Inventor, the Windows Save As dialog will appear; save the MCAD assembly in a suitable location.
In PTC Creo the Checkout Project dialog will appear if Creo is connected to Windchill, where the MCAD Project assembly can be renamed if required. It also details the current Working Directory and the Models Library Folder locations. Click Checkout to create the MCAD assembly.
- The board assembly will display in the MCAD editor, ready to be worked on. Save the MCAD design changes as an MCAD assembly.
- When required, design changes can be passed to the ECAD environment by clicking the Push button in the Altium CoDesigner panel.
- In MCAD, configure the board shape, define the mounting holes, and position location-critical mechatronic components. Save the MCAD assembly.
- In MCAD, Push the board - this saves the board definition, holes, and placed component details to your Workspace.
- In ECAD, open the board and perform a Pull to load the updated board definition and component details from your Workspace.
The precision of changes that CoDesigner currently detects are:
0.5 mils (0.0127 mm) for linear dimensions, and
0.5 degrees for angular dimensions. This precision will be increased in a future CoDesigner update.
At any point in the design process, changes can be transferred between the MCAD and ECAD tools, using the CoDesigner panel.
Changes are pushed and pulled between the MCAD and ECAD tools through the CoDesigner panel.
- To transfer design changes, click the Push button in the corresponding panel.
- When the Push button has been clicked, an editing window appears at the top of the source editor's panel. Enter a message about the design change then click Send.
- When Send is clicked:
- The working copy of the modified PCB file is automatically saved if it is currently unsaved.
- The changes are written to your Workspace.
- The Posted message is displayed in the message thread of the source editor's CoDesigner panel.
- The target editor's panel will display a message that there is a change pending the next time they open their working copy of the design file.
- Click Pull in the target editor's panel, a list detailing each change needed to re-synchronize the designs will be displayed.
Working with the Change List
When the Pull button is clicked, each change that needs to be made to the working file to synchronize it with the snapshot on your Workspace is listed, as shown below.
- Each difference detected between the current design and the snapshot stored in your Workspace is detailed as a Change in the Change List.
- A Change does not have to be accepted. If a change is ignored it will appear in the Change List again, the next time an update is performed in that direction. Be aware that if you choose to ignore a change, for example moving a mounting hole, and you then perform a Push of your design changes, the ignored change may be overwritten since your version has the mounting hole in the old location. The MCAD designer can always avoid losing their change by not accepting your mounting hole move.
- A single design change, such as changing the location of a component, can become multiple changes in the Change List. When a PCB component is moved, there are MCAD changes to: the location of the component, the shapes the component makes on the Component Overlay, and the shapes the component makes in the top and bottom copper layers. Related changes should all be applied together.
- The list may include changes that cannot be applied in the target environment. In this situation, the change will be displayed but the checkbox will be unavailable, indicating that this difference cannot be resolved.
- Where possible, the selected change is highlighted in the design space when you click on it in the Change List.
- Click Apply to apply the changes that are ticked.
- In MCAD or ECAD, reopen the assembly or PCB file to continue working on the design.
To continue working on an existing board design (either ECAD or MCAD), re-open your working copy of the Assembly (MCAD), or project and board file (ECAD). If there are any updates pending the CoDesigner panel will display a warning that New changes have been detected. If the New changes message does not appear automatically, click the Pull button to force CoDesigner to check for changes.
If the mechanical assembly already exists, reopen it to continue working on the design.
The following types of PCBs will not be transferred from ECAD to MCAD:
You can also start the design process in your MCAD software. The process is the same in all of the supported MCAD environments.
You start the design process in your MCAD software in the Altium CoDesigner panel.
If the ECAD project does not exist it can be created in the MCAD software, along with the board assembly. Keep in mind that any constraints and dimensions you create before the board thickness is defined on the ECAD side may be lost when the ECAD designer edits the board thickness and pushes this to MCAD.
- Sign in to CoDesigner, as described on the relevant page of the Installing and Configuring Altium MCAD CoDesigner section.
- Click the Create button in the Altium CoDesigner panel (also referred to as a tab in some MCAD tools).
- The Select Project dialog will open, click the New Project button in the dialog, as shown above.
- The Create New Server Project dialog will open. In the dialog, enter a suitable Name and optional Description for the project, and click OK. The Windows Save As dialog will open.
- A default board assembly is now being created in the MCAD software, which you need to save in a suitable location. Enter a name, select a location to store the assembly, and click Save in the Windows Save As dialog. The MCAD editor will display the new, default board shape. As part of this step, an ECAD PCB project is also created in your Workspace.
- The new board shape information does not exist in the Workspace yet. To add it, click the Push button on the Altium CoDesigner panel. A Comment window will appear on the Altium CoDesigner panel, this comment will be displayed in the ECAD software.
- Enter a brief description in the Comment window and click the Send button. A message dialog will appear while the changes made to the board shape are being saved to your Workspace. When that process is complete your Push message will appear in the Altium CoDesigner panel.
- When you click the Push button you are saving a list of push-able changes into your Workspace, not the complete board file. A board file must also be created in ECAD, any pending MCAD changes can then be Pulled into ECAD and applied to it. Refer to the Add a PCB to the Project section to learn how to create the board file in ECAD.
- You can continue to edit the board shape in your MCAD software but it can not be considered functional until the board thickness has been defined in the ECAD PCB editor. The board thickness is determined by defining the Layer Stack in the PCB editor. This should be done before placing 3D Models and mounting holes in the MCAD software because a change to the board thickness can affect clearances between 3D Models and the board assembly.
- The working copy of the MCAD design is a standard mechanical design file, stored in the default format of your MCAD software. The MCAD software remains aware that the assembly is part of a CoDesign, and will automatically check the synchronization status whenever the assembly is opened, and update the Altium CoDesigner panel to display the message history and details of any pending changes.
CoDesigner uses the ECAD Absolute Origin as the reference when the board is pushed from ECAD to MCAD. CoDesigner 2.4 introduced a feature to create a new MCAD Coordinates grid on Pull into ECAD, including an MCAD Origin entity, when the MCAD origin differs from the default (absolute) ECAD origin. This helps the electrical engineer communicate with the mechanical engineer on the positioning of the different board entities.
The representation of the MCAD Coordinates grid can be customized in ECAD, double-click on the entry in the Properties panel to open the Grid Editor dialog. Learn more about the PCB Grids System.
The coordinate grid defined in MCAD can also be customized in ECAD.
Note that changing the location of the board outline in MCAD should be performed before components and other objects are placed, to avoid having to manually restore the location of these objects.
MCAD Planes for Component Placement
From CoDesigner 2.2.0 onward, top and bottom side component planes are created in MCAD when the board is pulled, to simplify the process of placing components in MCAD. Components pushed from ECAD are placed in MCAD to ignore the thickness of the solder mask layer.
How CoDesigner Handles Copper, Mask and Overlay Layers
Along with the board shape and components, CoDesigner also transfers the top and bottom side: copper, solder mask, and component overlay layers, from ECAD to MCAD.
ECAD Layers as Decals
The default is that these layers are Pushed to the Workspace from ECAD as individual SVG images. When the board assembly is Pulled into MCAD, CoDesigner converts the SVG images to PNG images. From these PNG images, CoDesigner then combines the top-side set of images into a single top-side decal, and the bottom-side set into a single bottom-side decal. These two decals are then applied to the top and bottom board surfaces during Pull into MCAD.
The top and bottom side decals are applied to each side of the board in MCAD.
Fusion 360 - ECAD Layers as Sketch Profiles
A different approach is used to transfer the top/bottom copper and component overlay layers from ECAD to Autodesk Fusion 360. In Autodesk Fusion 360, these layers are imported as Sketch Profiles drawn on the Board object. This set of layers can be toggled on and off in Autodesk Fusion 360 by clicking the Advanced Geometry () button in the Altium CoDesigner ribbon. Alternatively, use the Fusion 360 visibility icon to selectively hide/display any of these layers.
Component overlay and surface copper layers are created as Sketch Profiles in Autodesk Fusion 360.
The top/bottom Solder Mask layers are not transferred to Autodesk Fusion 360. Instead, the board object has the color of the ECAD Top Solder Mask layer applied.
Advanced Copper Geometry in MCAD
As an alternative to displaying decals (images) of the copper + mask + overlay layers in MCAD, CoDesigner can also transfer the actual copper geometry (referred to as Advanced Copper Geometry) and the 3D mask layers to MCAD. This feature is currently supported by PTC Creo, Autodesk Inventor, SOLIDWORKS, and Siemens NX. From CoDesigner 2.7 onward, the component overlay (silkscreen) decal is applied to the face of the solder mask extrude.
The copper layers can be transferred to MCAD if required. In the image above, the components and the layers have been hidden, except for the top copper layer.
To include the Advanced Copper Geometry, enable the Build 3D geometry for Copper and Solder Mask option in the Altium CoDesigner Settings dialog (along with the Build Vias option if required). The Settings dialog is accessed from the CoDesigner menu in the Altium CoDesigner panel (show image).
Enable the Build 3D geometry for Copper and Solder Mask option to include these layers in the MCAD assembly (Autodesk Inventor dialog).
Notes about working with copper geometry and 3D mask layers:
- Copper and mask layers are included as MCAD sub-assemblies.
- All PCB copper layers that are present in the layerstack are included. Note that the copper layer thickness does not include plated layer data, such as Surface Finish. This will be added in a future update.
- Thruhole pad barrels are included when the Build 3D geometry for Copper and Solder Mask option is enabled.
- The via surface shapes are also included when the Build 3D geometry for Copper and Solder Mask option is enabled. Enable the Build Vias option to include the via copper barrels.
- When the Build 3D geometry for Copper and Solder Mask option is enabled, the component overlay (silkscreen) decal is applied to the face of the solder mask extrude.
- Depending on the complexity of the design, including the copper geometry and vias can significantly increase the file size and the time to Pull the design into MCAD.
- Copper and mask data is always Pushed from ECAD. There is no need to Push again from ECAD if you enable the Build 3D geometry for Copper and Solder Mask and Build Vias options in MCAD, just close the board and Pull it again from the Workspace.
- Support for Advanced Copper Geometry and separate 3D mask layers is not available with an Altium Designer Standard Subscription. With a Standard Subscription, only image-based decals are supported, as described above.
- The copper shape can only be edited in ECAD, edits made in MCAD are not Pushed to ECAD.
Accurate Representation of the Solder Mask
Introduced in Update 2.5, CoDesigner builds a precise model of the solder mask, including the openings for the pads, as a separate entity in MCAD when the Build 3D Copper option is enabled. Because the mask fills the etched regions between the copper, the thickness of the mask layer in MCAD is the sum of the thicknesses of the top copper layer plus the solder mask layer, as defined in ECAD.
Since the solder mask fills the etched regions between the tracks, pads and vias, its total thickness in MCAD is the sum of the copper layer thickness plus the solder mask thickness, as defined in ECAD.
As mentioned earlier, in MCAD the components are placed on the top and bottom side component planes (which are created in MCAD when the board is pulled). Because these planes are at the outer surface of the top and bottom copper layers, components pushed from ECAD are placed in MCAD so that they ignore the thickness of the solder mask layer. This results in collisions between the components and the solder mask layer. If these collisions present a design issue, temporarily decrease the thickness of the PCB so that the components are effectively sitting on the outer surface of the solder mask layers. This will be resolved in a future update by the addition of an option to hide the solder mask layers in MCAD.
Support for Keepouts and Rooms
The Altium CoDesigner Ribbon provides an easy way of accessing the common PCB-specific design objects in MCAD, including Keepouts and Rooms. Using these buttons ensures that the correct MCAD object type is used to create a compatible ECAD object.
Support for Keepouts
A PCB Keepout is a region or area of the board that has been configured to restrict the placement of specific ECAD objects. Keepouts can be defined for either side of the board or applied to all PCB layers. The objects that are to be kept out of this area are selected as Keepout Restriction properties.
Defining a Keepout in MCAD:
- Click the Keep Out Area button on the Altium CoDesigner ribbon.
- You will be prompted to choose a face, surface or plane, click on the side of the board that requires the keepout. If the keepout is to apply to all layers it can be drawn on either side.
- Click on a suitable MCAD sketch tool, for example, Rectangle, to define the keepout. Note that the sketch must only include one contour, internal contours are not supported.
- Draw the shape required for the keepout.
- Exit the Sketch mode.
- The properties of the feature can now be edited. You can think of the keepout as a fence around the keepout area, edit the Depth to a small value, for example, 1mm.
- This keepout will become an ECAD layer-specific keepout, on the layer it has been drawn in MCAD. To define an all-layer keepout, in MCAD configure the keepout to extrude in both directions, setting the Depth in the second direction to a value that is large enough to extrude it through the board.
- Click the MCAD Accept button to finish the feature definition process. If required, the feature can be renamed in the Feature tree.
- In the Altium CoDesigner panel, select the PCB Definition tab and configure the keepout restrictions as required. The keepout can now be pushed to ECAD, where it will be added as a Keepout Region. Depending on how it was configured in MCAD, it will become a Top Layer Keepout, a Bottom Layer Keepout, or a Keepout Layer Keepout. If required the keepout shape can be adjusted in ECAD and pushed back to MCAD.
Support for Rooms
A PCB Room is a design rule that is used to define an area that specific components must be placed in, or excluded from. A common use for this rule is to define a component height restriction in the board area covered by the Room. Typically the Room rule will be applied to an individual component or a class of components.
Defining a Room in MCAD:
- Click the Text Note Room button on the Altium CoDesigner ribbon.
- You will be prompted to choose a face, surface or plane, click on the side of the board that requires the room.
- Click on a suitable MCAD sketch tool, for example, Rectangle, to define the room. Note that the sketch must only include one contour, internal contours are not supported.
- Draw the shape required for the room.
- Exit the Sketch mode.
- Click the MCAD Accept button to finish the feature definition process. If required, the feature can be renamed in the Feature tree.
- In the Altium CoDesigner panel, select the PCB Definition tab and enter a comment for the room that explains its purpose to the ECAD engineer. The room can now be pushed to ECAD, where it will be added as a Placement Room design rule, on the layer it has been drawn in MCAD. The only property that can be transferred between MCAD and ECAD is the Comment, which becomes the Placement Room design rule comment.
- The Placement Room design room can now be configured as required in ECAD.
Keepout areas and Rooms can be defined in MCAD and pushed to ECAD.
Notes about transferring Board Areas:
- Fill and Solid Region ECAD Keepout Regions are supported.
- CoDesigner detects the locked status of Keepouts and Rooms in ECAD, ensuring that these are not moved during a Pull from MCAD.
- Because the ECAD Keepout objects do not include a unique identifier or an object name, ECAD to MCAD Keepout changes are made by removing the existing object and adding a new object (with a new MCAD name).
- Changes made to ECAD Rooms are also marked as removed and added during an ECAD to MCAD change, but the Name and Comment are retained.
- Keepouts and Rooms created or changed in ECAD are not displayed by default in MCAD, removing redundant visual information for the mechanical engineer. Their visibility in MCAD can be restored when needed.
Important Note about Versions: If there is potential that the ECAD extension has been updated but the MCAD plugin has not, be careful when you are applying MCAD to ECAD changes. If you have Keepouts and Rooms defined on the PCB in ECAD, CoDesigner will suggest deleting them. The solution is simply to reject those changes in ECAD so that the Keepouts and Rooms are retained.
Controlling the Number of Components Pulled to MCAD
To improve performance when working on boards with a large number of components, CoDesigner supports excluding components below a user-defined height during a Pull from ECAD. For the height threshold, CoDesigner uses the height defined as part of the component properties in ECAD (show image).
Define the threshold height in the Altium CoDesigner Settings dialog, as shown in the image below. The dialog is accessed via the Altium CoDesigner panel in MCAD, select Settings in the panel's menu to open the dialog.
Small components can be excluded during Pull to MCAD by setting the Ignore components smaller than the height threshold.
CoDesigning a PCB with Variants
Altium Designer allow the electronics designer to create variations of the product they are designing. Supported variations include: flagging a component as not fitted; modifying a component's parameters, including the component value that is silkscreened on the board; or replacing a component with an alternate component (which may or may not use a different footprint).
In Altium Designer, there is only one board design. Variant information, such as details about an alternate component, is stored in the project file and applied to the board when the variant is selected in the Projects panel. The
[No Variations] version of the board is saved as the PcbDoc.
Altium Designer can be used to create variations of a board design, select the variant in the Projects panel then Push to MCAD in the CoDesigner panel.
Pushing a Variant from ECAD
When a board is pushed from ECAD, all variants are pushed. The required variant is selected during the pull into MCAD.
Double-click in the Projects panel to select the required variant to be Pushed.
Support for Pushing all of the variants from ECAD with the corresponding variant selection during Pull into MCAD was added in CoDesigner 2.3.0. In versions older than that, CoDesigner only supported Pushing and Pulling a specific variant of a board between ECAD and MCAD.
In versions of CoDesigner older than 2.3.0:
- When you perform a Push from ECAD, you are pushing the variant you are currently looking at in the PCB editor.
- Each time a board is Pushed from ECAD to the Workspace, it overwrites the data saved during the previous Push.
- If multiple variants need to be pushed, each variant must be Pulled to MCAD and saved before the next variant is Pushed from ECAD.
Pulling a Variant in to MCAD
A PCB variant is Pulled to MCAD in the same way as a non-variant PCB, by clicking the Pull button in the Altium CoDesigner panel. If the project includes variants they will be listed in the Select Project dialog, as shown below. Select the required variant and click OK.
Support for pushing all variants from ECAD and the ability to select the required variant in MCAD was added in CoDesigner 2.3.0. If you are working with a version of CoDesigner older than this, you must push each of the required variants from ECAD.
If the board is a variant, additional information detailing the variant name is displayed at the top of the Altium CoDesigner panel, as shown below.
Notes about variants:
- All components, including non-varied and varied components, are identified by the current component model naming scheme.
- The board part in each variant is identified as :
- It is recommended to include the variant name as part of the MCAD assembly name.
The board part is identified by the design name and the variant name. Hover the cursor over the image to show a different variant.
Because the default name for the MCAD board assembly is the project name, it is recommended to save each variant assembly with a variant-related name.
Pushing a Variant from MCAD
In MCAD, CoDesigner is aware if a component is part of the base design
[No Variations], or belongs to a specific variant. Changes made to a component in the base design
[No Variations] will impact all variants of the board in ECAD, while changes made in a specific variant will only be applied to that variant in ECAD.
Modifications made to a variant are pushed from MCAD to ECAD in the usual way, by clicking Push in the Altium CoDesigner panel.
Pulling a Variant into ECAD
If you attempt to perform a Pull in to the ECAD PCB editor and the wrong variant is currently active, you will receive the following error message. The applicable variant name is displayed in the Error dialog; switch to that variant and Pull again.
The Pull cannot be completed as the wrong variant is active in the ECAD PCB editor.
If there have been changes made to a component in the base design, they can be applied in any variant in ECAD. Those changes will then be present in all variants in ECAD.
► Learn more about working with Variants in ECAD
Recommendations for the Mechanical Engineer
This section details functionality and behaviors that the mechanical engineer should be aware of when using CoDesigner.
Displaying the ECAD Reference Designator in MCAD
Altium MCAD CoDesigner uses a different approach to display the reference designator in Each MCAD tool:
- Autodesk Fusion - Display the ECAD Properties panel to display the properties of the currently selected part (show image).
- Autodesk Inventor - Reference designator is displayed in the Model Tree by default (show image).
- PTC Creo - In the Model Tree mode of the panel, click the Tree Columns button to open the Model Tree Columns dialog. Set the Not Displayed Type to
ECAD Params, locate the
ECAD_REF_DES parameter, and click the Add Column button (show image).
- SOLIDWORKS - Reference designator is displayed in the Model Tree by default (show image).
- Siemens NX - In the Assembly Navigator, right-click where the column names are displayed to open the context menu, then select Columns » Component Name to display the Component Name column ( show image ).
Synchronizing Changes Between Mechanical Engineers
- CoDesigner transfers the mechanical PCB assembly to ECAD through an Altium Workspace, such as an Altium 365 Workspace. The changes Pushed/Pulled through the Workspace are directional - the PCB assembly Pushed from MCAD (and Pulled to ECAD) is stored separately in the Workspace from the PCB assembly Pushed from ECAD (and Pulled to MCAD). That means a second mechanical engineer cannot Pull the modified board that a mechanical engineer just Pushed to the Workspace, instead they will be Pulling the last-pushed ECAD data. Note that MCAD constraints exist only in the MCAD assembly in which they were created. When the board is pushed from MCAD to ECAD, the component positions resulting from the constraints are pushed, but not the constraints themselves. Therefore if the board is pulled into a new MCAD assembly, none of the constraints created by a previous MCAD engineer will be included.
ECAD and MCAD changes are stored separately in the Workspace.
To allow other mechanical engineers to see your changes, save your PCB assembly in the same way as you do for any other assembly - to common storage available for both. This method will preserve any MCAD constraints. Alternatively, get the ECAD designer to Pull the data into ECAD, save it, and then Push the updated design back to MCAD. However, as explained above, no MCAD constraints will be included by using this method.
- Another important point is that changes made to the same PCB assembly by different mechanical engineers are not merged when they are Pushed, the latest change Pushed by any mechanical engineer will overwrite previous changes Pushed by other mechanical engineers.
Pictorial Demonstration of the Synchronization Process
ECAD and MCAD push their changes to different storage locations on the Workspace. That means each engineer can only pull changes that have been pushed by the other engineer. Those changes will only include their own changes if they’ve already been accepted by the other engineer before the other engineer has pushed.
For example, a board is created in ECAD, Pushed to the Workspace, and Pulled to MCAD:
If the ECAD engineer then adds components AND the MCAD engineer adds holes, AND if each Pushes their board then Pulls the other’s board, CoDesigner will try to remove the holes in the MCAD engineer's board, and remove the components on the ECAD engineer's board:
Each engineer does have the option to reject specific proposed changes, for example, the ECAD engineer could accept the addition of the holes but reject the deletion of the removed components. However, working in this way can be hard to manage with complex boards and/or changes. Another point is that all changes to the decals are only seen by CoDesigner as a single change, so can only be accepted or rejected as a whole, not individually.
A better approach is for one engineer to make their changes and push the board, then for the other engineer to pull the board before making their changes, as shown below.
Use a circular approach to passing design changes between ECAD and MCAD.
Resolving Issues with the Board Contour in ECAD
When the board is Pushed from ECAD, CoDesigner checks the board contour and warns the user if there are issues with micro-segments, or if self-intersecting contours have been found. When the board is Pulled to MCAD, CoDesigner will attempt to resolve these issues. If they cannot be resolved, they must be resolved in ECAD.
Automatic Micro-Segment Removal
CoDesigner 2.4 introduced an automatic feature to detect and resolve micro-segments in the board outline. If they are detected, a dialog will appear offering to resolve the issues, as shown below. If you click Yes the detected issues will be resolved automatically. If you click No and close the dialog, an error dialog will then appear detailing the location of any issues, which must then be resolved manually (as described below).
Note that this feature utilizes a new API, so is only available with Altium Designer 21.3.x or newer, or Altium NEXUS 4.3.x to 5.8.x.
Note that the automatic feature does not resolve self-intersections detected in the board outline or in a board cutout. To resolve these you can use the manual techniques described below.
Manual Micro-Segment and Self-Intersection Removal
Micro-segments and self-intersections that have not been resolved automatically or are detected in a board cutout, must be resolved manually.
To fix the issues in ECAD:
- Copy the error information from the dialog into a text editor so the coordinates for the issues are available.
- Set the snap grid (Gtrl+G shortcut) to a small value (eg 0.001 mil) so you can make small changes to the location of vertices.
- Switch to View » Board Planning Mode.
- Zoom in to the location of the issue. Alternatively, use the Jump Location command (Edit » Jump » New Location, or J, L shortcut) and type the coordinates into the Jump to Location dialog. Note that you can include the units (
mil) with the value if they are different from the current board units. If the issue is due to an arc, the issue location could be the arc center point. In this situation visually check the board outline for short, shallow arcs.
- Run the Design » Edit Board Shape command (D, D shortcut). The board outline will display vertices at the ends and center of each edge. Check for multiple vertices that are very close together and very shallow arcs. Use the following tips to help you resolve issues:
- Click and drag on an edge or a vertex to modify the shape. There are three shape modification modes available during editing: Break edge, Move (slide) edge, Incurvate (bend) edge; press Shift+Space during editing to cycle through the modes. The current mode is displayed on the Status bar.
- Move the vertex at the end of a short edge slightly, then release the mouse button. Often this will be sufficient for the software to resolve and remove the short edge.
- A short shallow arc can be converted to a straight edge by dragging the center vertex in Incurvate mode to flatten the arc (it will be replaced by a straight edge when you release it).
- Green alignment guides will display when the moving edge or arc chord aligns with an existing edge.
- Click and hold on a vertex then press Delete to remove it; to add a vertex hold Ctrl as you click on the edge, then position the cursor and release.
- Push the board again.
Board contour self-intersections and micro-segments must be resolved before the board can be pushed to MCAD.
The video above demonstrates resolving issues with the board outline and a board cutout in Altium Designer. The process is essentially the same in other Altium design software.
► Learn more about the Vertex Editing Modes
► Learn more about Defining the Board Shape
Fixing one issue forces ECAD to recalculate the entire contour of the board or cutout, and that recalculation might solve other issues automatically, so it is recommended to do a Push after each fix action.
Visibility of Changes Made on the ECAD side
It is important to open the PCB assembly itself in your MCAD software, not the parent device/assembly that the PCB assembly is being designed to fit in. If the PCB assembly is opened, changes made and pushed from the ECAD side will be detailed in the Altium CoDesigner panel. Changes will not be detailed in the panel if the parent device/assembly is opened.
Getting Changes to your PCB Assembly from ECAD
- Open your PCB assembly as a separate file (as a root assembly) in MCAD.
- Open the Altium CoDesigner panel.
- Click Pull.
- Review the changes in the table, enable the ones you want to be applied, and click the Apply button.
Before being transferred from ECAD to MCAD, the 3D component models are transformed to the Parasolid format (learn more about how the 3D models are named in MCAD). There may be situations where some of the models can not be transformed. Such models are replaced with their bounding box in MCAD, and CoDesigner shows a warning message about this.
Alternatively, you can replace such a model with a single-body parasolid model in ECAD, as these are transferred directly between ECAD and MCAD without transformation. Learn more about Resolving Problematic Models.
When you have a PCB Assembly Open in MCAD for the First Time
- Add the PCB assembly to your device’s assembly.
- Secure it by applying suitable mates/constraints.
If a contour of the PCB does not correspond to the shape of your enclosure:
- Start editing the Board part.
- Edit the sketch of the board’s extrusion and adjust its shape to the enclosure.
One approach to changing the PCB shape is to delete the whole outline and create it from scratch using an offset from the corresponding contour of your enclosure.
Making Changes to the PCB Design in MCAD
Below are some tips for ensuring the design shapes and objects used in MCAD will be supported when the board is pushed to ECAD.
Editing the board outline shape:
- Start editing the Board part.
- Edit the sketch of the board’s extrusion.
- Do not include any internal contours in the board outline sketch in Creo and Inventor, or in the rigid-flex board outline sketch in SolidWorks. For cutouts and holes, use the Extruded Cut or the Hole feature, accordingly.
- Do not create multiple profiles in the board outline sketch in Inventor, CoDesigner can interpret them in an unpredictable manner.
- In Fusion 360, if the board shape is being recreated in MCAD using the Project command to project an existing enclosure contour, you must disable the Projection Link option in the Fusion 360 PROJECT dialog. When the Projection Link option is enabled, the projected contour is automatically resized whenever the referenced contour is resized, at this stage CoDesigner does not support this capability.
Changing the MCAD Board Origin:
- If necessary, the mechanical engineer can change the MCAD origin of a bare board in the early stages of the board definition. To do that, the mechanical engineer can simply move or redraw the entire sketch of the board outline, within the board part. Note that the board part is constrained as “fixed” within the board assembly, with its origin coincident with that of the assembly (therefore, the “MCAD origin” relates to both the board part origin and the board assembly origin).
It’s strongly recommended that this constraint is NOT modified or broken, because it may cause unpredictable changes.
- If components are already placed, they should be moved within the board assembly, accordingly.
- The “electrical” board origin in ECAD will not be changed, as it is handled separately.
Creating/editing Mounting Holes:
- Start editing the Board part.
- Create/edit a Hole feature on the top or the bottom surface of the board part.
- Feature patterns are not supported.
- If the hole locations are defined in relation to the board edge, these relations will be destroyed if the board outline is subsequently modified in ECAD and brought back into MCAD. See the section Working with Constraints and Dimensions below, for more information on working with holes.
- Start editing the Board part.
- Create/edit an Extruded Cut feature based on the top or the bottom surface of the board part.
- Sketches with multiple contours are not supported in PTC Creo or Autodesk Inventor, they should not be used.*
- Feature patterns are not supported.
- If the sketch of the extruded cut is defined in relation to the board edge, these relations will be destroyed if the board outline is subsequently modified in ECAD and brought back into MCAD.
Editing the placement of components:
- Start editing the Board assembly.
- Move/rotate/flip, or mate/constrain a component.
- Component holes and the silkscreen do not follow component moves in MCAD. To reflect component-dependent changes like these; Push the board to ECAD, apply the changes there, then Push the board from ECAD back to MCAD to update the component holes and silkscreen.
- MCAD mates/constraints that reference a board edge can be destroyed if the board shape is modified in ECAD.
Synchronizing Fixed or Constrained in MCAD to Locked in ECAD
If a component is fixed or constrained in MCAD, it becomes locked in ECAD (regardless of if that constraint allows any movements within the PCB assembly or not). If a component is locked in ECAD, it becomes fixed in MCAD unless it is already constrained there. Changes in the locked/fixed state are synchronized between MCAD and ECAD.
Transferring ECAD Component Parameters to MCAD
ECAD PCB component parameters are transferred to the corresponding models created in MCAD. Note that this does not include components that were originally placed in MCAD.
Working with Constraints and Dimensions in MCAD
Constraints applied to the board outline:
- The mechanical engineer can apply a constraint from an element of the board outline: to another board outline element; to a datum/reference feature; to a part in a higher-level assembly; or to a component. CoDesigner does not modify these constraints. However, if the board outline is changed on the ECAD side, the sketch of the board part will be redrawn in MCAD, and all of the edge IDs will be changed. Note that any change to any part of the board outline in ECAD will result in the entire board being redrawn in MCAD, and all board edge IDs changing. If there was a constraint applied to those edges or to the derived surfaces, those constraints will be broken. The board will stay in place in MCAD, and if necessary, the constraints can be manually restored.
Considering the time involved in redefining constraints, it is recommended to only make changes to the board outline in MCAD.
Constraints applied to the components:
- The mechanical engineer can apply a constraint from a component: to the board; to an enclosure; or to another component. These constraints will stay healthy if the model of that component can be found locally (if the PCB assembly is not built from scratch in a different folder, or if a common folder is set up for storing models). However, if a component is moved on the ECAD side, the placement change on the MCAD side may not correspond to that movement and should be checked manually (CoDesigner will notify you in this situation). For components with an ECAD footprint, the component standoff (location relative to the board surface in the Z direction) will always be defined by the position of the STEP model in the footprint. CoDesigner will always attempt to override any conflicting MCAD constraints on a Pull into MCAD.
Note: Be careful with where the mates/constraints are applied. For example, if you have not secured the PCB assembly within the device assembly and then applied a constraint/mate between a PCB component and the enclosure, it may cause unpredictable changes in your design.
Changes that will not be Transferred from MCAD to ECAD
- Bare Board thickness - defined by the Layer Stack in ECAD.
Note: the changes made to the board thickness in MCAD will be shown as a non-applicable change in ECAD, so that the ECAD designer will be aware of the change being proposed.
- Any additional geometric features applied to the board part (eg. 3D chamfers/fillets), except for holes and extruded cuts in the board's z-axis direction.
- Any additional geometric features created in the context of the board assembly (eg. holes created in the context of an assembly), unless these features are propagated to parts.
- The location of component holes if they are moved separately from the component.
- The size of component holes.
- Feature Patterns.
- Sketches of cutouts with multiple contours (in PTC Creo and Autodesk Inventor).
- Changes made to the extruded copper.
- Changes made to the silkscreen.
Pushing the Enclosure from MCAD to ECAD
In CoDesigner 2.2.0, support was added for working at the device assembly level in MCAD, and then transferring the enclosure together with the board to ECAD. The video below demonstrates the process of including the board assembly in the device enclosure, and transferring the enclosure to ECAD.
► Note that this option is not available with an Altium Designer Standard Subscription. Designers with a Standard Subscription can watch this video to see another approach to transferring the enclosure.
Tips for working with the enclosure:
- After placing the board assembly in the enclosure, click the Recognize button in the Altium CoDesigner panel. CoDesigner will detect the relationship between the board and the enclosure, and detail the names of all board assemblies added to the device enclosure at the top of the panel.
- Once the relationship has been detected, the last step is to add the enclosure to the board. To do this:
- Select the enclosure in the model tree.
- Display the Altium CoDesigner ribbon.
- Click the Enclosure button on the ribbon.
- Open/display the Altium CoDesigner panel, where you can confirm that the enclosure is associated with the board in the Board Enclosure section of the Altium CoDesigner panel.
- The enclosure with the board can now be pushed to ECAD.
Sending the PCB Assembly with your Changes to ECAD
- Make sure your PCB assembly is opened as a separate doc (as a root assembly) in MCAD.
- Go to the Altium CoDesigner panel.
- Click Push.
* This behavior is planned to be improved in a future update.
Working with an MCAD Data Management System
CoDesigner supports the placement of native MCAD components when the PCB is being Pushed from ECAD and Pulled into 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.
ECAD-to-MCAD native component linking is currently supported in:
- PTC Creo Parametric with CoDesigner Addin version 2.6.0, or later, connected to a PTC Windchill® server. Consult your Creo documentation for information on how to connect to Windchill. Learn more about configuring PTC Creo.
- SOLIDWORKS with CoDesigner Addin version 2.6.0, or later, connected to SOLIDWORKS® PDM Professional. Consult your SOLIDWORKS documentation for information on how to connect to SOLIDWORKS PDM. Learn more about configuring SOLIDWORKS to work with native MCAD components.
- Siemens® NX™ with CoDesigner Addin version 3.4.0, or later, connected to Siemens Teamcenter PLM. Consult your Siemens NX documentation for information on how to connect to Teamcenter PLM. Learn more about configuring Siemens NX to work with native MCAD components.
Working with SOLIDWORKS PDM
CoDesigner has been developed and tested with SOLIDWORKS® PDM Professional.
Placing Native MCAD Components from SOLIDWORKS PDM
When the board design is transferred from ECAD to SOLIDWORKS MCAD, CoDesigner supports replacing the ECAD component with a native MCAD-equivalent component from the SOLIDWORKS PDM system. To achieve this, you must configure settings in:
- MCAD - configure your PDM settings, CoDesigner model storage, and understand the synchronization requirements, as described here.
- ECAD - reference the MCAD model in the ECAD component, using the correct syntax. The MCAD component reference must be defined in the ECAD component as a parameter, with the parameter value in the form:
<vault> is the name of the SOLIDWORKS PDM vault.
- Workspace - configure the Workspace options to indicate that you want to use native MCAD components, and define which ECAD component parameter will be used to reference the equivalent MCAD component. Learn more about Linking from the ECAD Components to the MCAD Components.
Before Pulling Changes to the Existing PCB Assembly
- Synchronize the local copy of the Common folder for storing models component folder with the server (use the Get latest version command in SOLIDWORKS PDM)
- Check out the following files:
- Board assembly
- Board part
- For rigid-flex 2.0 assemblies - all of the board parts and sub-assemblies
- If 3D copper is built - assemblies and parts related to the 3D copper and solder mask
- Decal PNGs, if they are stored in PDM
Note: Normally, there is no need to check the component models out of PDM.
On Pulling Changes from ECAD to MCAD
- Pay attention to any changes to component properties which CoDesigner may want to make - the corresponding string will be highlighted in yellow in the list of changes table in the Altium CoDesigner panel in SOLIDWORKS.
A common reason there may be changes is that when creating the component models in MCAD, CoDesigner writes the component properties stored in ECAD’s component library to the MCAD model properties. However, some of those properties, for example, Description and Material, may be changed by MCAD or PDM automatically afterward. Accordingly, if different values of properties are detected, CoDesigner will suggest changing them.
However, if you try to apply those changes, MCAD will require checking each affected model out of PDM or saving them with another name. To avoid this, uncheck those changes related to changing component properties in the Altium CoDesigner panel. Note that it is strongly recommended that you clarify why the component properties are different, and synchronize them on the MCAD and ECAD sides.
After Applying Changes
- Check the newly created components, board assembly, subassemblies and parts into PDM.