Collaborating with an MCAD Designer through the Fusion 360 CoDesigner Panel in CircuitMaker
The Fusion 360 CoDesigner button is used to open the Fusion 360 CoDesigner panel, which is used to transfer design changes back and forth between CircuitMaker and Autodesk® Fusion 360®. The button is accessed by choosing View | System | Fusion 360 CoDesigner from the PCB editor.
Passing Design Changes Between CircuitMaker and Autodesk Fusion 360
CoDesigner transfers the mechanical PCB assembly to ECAD through the Altium 365 platform. The changes that are transferred - the PCB assembly saved in MCAD (and updated in ECAD) is stored separately on the Altium 365 platform from the PCB assembly saved in ECAD (and updated in MCAD).
Save
Design changes created in either environment are transferred to the target environment by performing a save in the source editor. Use the Save Project to Server command in CircuitMaker and the Save command in Fusion 360. The Update button can then be clicked in the target editor to synchronize the ECAD and MCAD designs.
Upon the save, the changes are written to the Altium 365 platform and 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.
Update
To check at any time if there are changes pending, click Update.
- If there are changes pending the message, New changes have been detected will appear in the Fusion 360 CoDesigner panel in CircuitMaker, or the Altium CoDesigner panel in Fusion 360, as shown above.
- When the Update button is clicked a list of Changes will display, as shown in the image below. Each change is a difference between the data in the PCB file, and the data saved in the source editor.
- Enable the checkbox () for each change you wish to accept. Right-click in the list of Changes to access a context menu where all changes can be enabled or disabled.
- Click the Apply button to apply those changes to the PCB.
Working Between CircuitMaker and Autodesk Fusion 360 as Different Users
If you're the engineer designing both the electronics and the mechanical design, you sign in to your Altium account from both CircuitMaker and Fusion 360. The process changes slightly if different engineers are working in each of the design tools. In this situation, the CircuitMaker engineer must Share the project with the Fusion 360 engineer.
To use CoDesigner with different engineers:
- Both the CircuitMaker engineer and the Fusion 360 engineer must have their own Altium account, and use these to sign in to CoDesigner.
- Because the project is stored in the CircuitMaker engineer's Personal Space, the CircuitMaker engineer must Share the project with the Fusion 360 engineer. Learn more about sharing a project with a specific user.
► Learn more about Working with Projects in CircuitMaker.
Installing and Configuring CoDesigner in Autodesk Fusion 360
To interface to and from Autodesk Fusion 360, you need to install the Altium CoDesigner for Autodesk Fusion 360 Add-In.
To install the Add-In:
- Close Autodesk Fusion 360 before installing.
- Download and install the Fusion 360 Add-In (AltiumCoDesignerFusion360_<VersionNo>.exe).
- Launch Autodesk Fusion 360 and confirm that the Add-In is installed and available in the Add-Ins section of the Tools ribbon, as shown below.
- The CoDesigner Add-In adds the Altium CoDesigner panel to Autodesk Fusion 360. All collaboration activities are performed through this panel.
Displaying the CoDesigner Panel
In Autodesk Fusion 360, the Altium CoDesigner panel can be enabled by clicking the Altium CoDesigner menu entry or button, as shown above.
Connecting to the Altium 365 platform in Autodesk Fusion 360
Autodesk Fusion 360 collaborates with CircuitMaker through the Altium 365 platform, which you must sign in to the first time you use it.
When you are not signed in, the Altium CoDesigner panel will include sign-in fields, as shown below. There is one sign-in mode, which allows you to sign into the Altium 365 platform.
- Select the Altium Account option in the Altium CoDesigner panel.
- Enter the email address you use to sign in to your Altium account as your Email and your Altium account Password.
- Enable the Remember Me option to retain the details (including the password) and automatically connect to the Altium 365 platform each time Autodesk Fusion 360 is started.
- Click the Sign In button to connect.
Once you have signed in, you are ready to start collaborating through Altium CoDesigner. Click the Open button on the ribbon's Altium CoDesigner tab to open a PCB project saved in CircuitMaker.
Configuring the Fusion 360 Collaboration Settings
Once you have signed in, CoDesigner settings can be configured in the Altium CoDesigner Settings dialog, opened via the Settings menu entry in the CoDesigner menu.
- Ignore components smaller than
<Value><Units>
in height - the performance of Fusion 360 is affected by the number of components on the PCB. Use this option to exclude components that have a height of less than<Value><Units>
when an update is performed. Note that the height is the Height property defined in each CircuitMaker component, it is not the height of the 3D model that might be included in the PCB component. Set this option to zero to include all components. - Participate in the product improvement program - enable this option to automatically share technical information with Altium about your use of CoDesigner.
Recommendations for the Mechanical Engineer
This section details the functionality and behaviors that the mechanical engineer should be aware of when using CoDesigner.
Managing the Synchronization Process
ECAD and MCAD save their changes to different storage locations on the Altium 365 platform. That means each engineer can only perform the update with changes that have been saved 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 saved.
For example, a board is created in ECAD, saved in the Altium 365 platform, and updated in to MCAD:
If the ECAD engineer then adds components AND the MCAD engineer adds holes, AND if each saves their board then updates 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 save the board, then for the other engineer to update the board before making their changes, as shown below:
Synchronizing Changes Between Mechanical Engineers
-
CoDesigner transfers the mechanical PCB assembly to ECAD through the Altium 365 platform. The changes that are transferred are directional - the PCB assembly saved in MCAD (and updated in ECAD) is stored separately on the Altium 365 platform from the PCB assembly saved in ECAD (and updated in MCAD). That means a second mechanical engineer cannot update the board with the changes that a mechanical engineer just saved to the Altium 365 platform, instead they will be updating with the last-saved ECAD data. To allow other mechanical engineers to see your changes, put your PCB assembly in the same way as you do for any other assembly - to common storage available for both engineers. This method will preserve any MCAD constraints. Alternatively, get the ECAD designer to update the PCB in CircuitMaker and then save the updated design back to the Altium 365 platform. However, as explained below, no MCAD constraints will be included if you use this second approach.
- Note that MCAD constraints exist only in the MCAD assembly in which they were created. When the board is transferred from MCAD to ECAD, the component positions resulting from the constraints are passed, but not the constraints themselves. Therefore if the board is updated in a new MCAD assembly, none of the constraints created by a previous MCAD engineer will be included.
- Another important point is that changes made to the same PCB assembly by different mechanical engineers are not merged when they are saved, the latest change saved by any mechanical engineer will overwrite previous changes saved by other mechanical engineers.
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 transferred 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 Update.
-
Review the changes in the table, enable the ones you want to be applied, and click the Apply button.
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.
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 transferred to ECAD.
Editing the board outline shape:
- Start editing the Board part.
-
Edit the sketch of the board’s extrusion.
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 “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.
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.
Creating/editing Cutouts:
- Start editing the Board part.
-
Create/edit an Extruded Cut feature based on the top or the bottom surface of the board part.
Editing the placement of components:
- Start editing the Board assembly.
-
Move/rotate/flip, or mate/constrain a component.
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. But considering that this will take some time, it is better to make changes to the board outline on the MCAD side only.
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 an update in MCAD.
Show Copper and Silkscreen
To simplify the process of working with copper and silkscreen layers in Fusion 360, you can control the visibility of these layers using the Advanced Geometry ( ) button in the Altium CoDesigner ribbon. Clicking the button will display the four, top copper, top silkscreen, bottom copper, and bottom silkscreen sketch layers. Click a second time to hide those layers. These layers can also be selectively hidden/displayed in Fusion 360's object Browser.
Changes that will Not be Transferred from MCAD to ECAD
-
Bare Board thickness - defined by the Layer Stack in ECAD.
- Any additional geometric features applied to the board part (e.g., 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 (e.g., 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.