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).

ECAD and MCAD changes are stored separately on the Altium 365 platform.
ECAD and MCAD changes are stored separately on the Altium 365 platform.

Design changes are not transferred directly between the ECAD and MCAD environments, they are transferred through the Altium 365 platform. CircuitMaker projects are stored in an Altium 365 Personal Space, CoDesigner also uses this space to store a separate tool-neutral snapshot of the design that is accessible to both CircuitMaker and Autodesk Fusion 360. This approach allows designers on both sides to continue to edit their design files, and save and apply the updates when they are ready. The tool-neutral snapshot holds details of the objects that are supported by CoDesigner, not the entire board design.

In previous version of CoDesigner, passing design changes between CircuitMaker and Fusion 360 was performed by Pushing changes from the source editor and Pulling them to the target editor using the corresponding commands in the Fusion 360 CoDesigner panel in CircuitMaker and the Altium CoDesigner panel in Fusion 360. The behavior can be reverted to the traditional one (with Pull and Push commands) by setting the LegacyPersonalUX Windows registry key in HKEY_CURRENT_USER\SOFTWARE\Altium\CoDesigner to "1".

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.

Save the project in CircuitMaker, then update it in Fusion 360. 
Save the project in CircuitMaker, then update it in Fusion 360.

Save the project in Fusion 360, then update it in CircuitMaker. 
Save the project in Fusion 360, then update it in CircuitMaker.

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:

  1. Close Autodesk Fusion 360 before installing.
  2. Download and install the Fusion 360 Add-In (AltiumCoDesignerFusion360_<VersionNo>.exe).
  3. 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.
  4. 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.

  1. Select the Altium Account option in the Altium CoDesigner panel.
  2. Enter the email address you use to sign in to your Altium account as your Email and your Altium account Password.
  3. 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.
  4. 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:

Javascript

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:

Javascript

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

  1. 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.

    ECAD and MCAD changes are stored separately on the Altium 365 platform.ECAD and MCAD changes are stored separately on the Altium 365 platform.

  2. 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.
  3. 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

  1. Open your PCB assembly as a separate file (as a root assembly) in MCAD.
  2. Open the Altium CoDesigner panel.
  3. Click Update.
  4. 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. 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.

When you have a PCB Assembly Open in MCAD for the First Time

  1. Add the PCB assembly to your device’s assembly.
  2. Secure it by applying suitable mates/constraints.

If a contour of the PCB does not correspond to the shape of your enclosure:

  1. Start editing the Board part.
  2. Edit the sketch of the board’s extrusion and adjust its shape to the enclosure.

    Note: One approach to changing the PCB shape is to delete the whole outline and to 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 transferred to ECAD.

Editing the board outline shape:

  1. Start editing the Board part.
  2. Edit the sketch of the board’s extrusion.

    Notes:

    • 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.

Changing the MCAD Board Origin:

  1. 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.

    Notes:

    • 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:

  1. Start editing the Board part.
  2. Create/edit a Hole feature on the top or the bottom surface of the board part.

    Notes:

    • Feature patterns are not supported. All entities included in a pattern will be transferred from MCAD to ECAD and back, however, if any entity within a pattern is changed in ECAD, the pattern will be broken.*
    • 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.

Creating/editing Cutouts:

  1. Start editing the Board part.
  2. Create/edit an Extruded Cut feature based on the top or the bottom surface of the board part.

    Notes:

    • Sketches with multiple contours are not supported in PTC Creo or Autodesk Inventor, they should not be used.*
    • Feature patterns are not supported. All entities included in a pattern will be transferred from MCAD to ECAD and back, however, if any entity within a pattern is changed in ECAD, the pattern will be broken.*
    • 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:

  1. Start editing the Board assembly.
  2. Move/rotate/flip, or mate/constrain a component.

    Notes:

    • Component holes and the silkscreen do not follow component moves in MCAD. To reflect component-dependent changes like these; transfer the board to ECAD, apply the changes there, then transfer 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:

  1. 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.

    Note: Keep in mind that CoDesigner can not be used for transferring changes between Mechanical Engineers (see Synchronizing changes between Mechanical Engineers).

Constraints applied to the components:

  1. 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.

    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.

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.

Use the Advanced Geometry button on the Altium CoDesigner ribbon to quickly show or hide the top/bottom copper/silkscreen layers.
Use the Advanced Geometry button on the Altium CoDesigner ribbon to quickly show or hide the top/bottom copper/silkscreen layers.

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 the ECAD designer will be aware of the change being proposed.

  • 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.
For information on getting starting with Autodesk® Fusion 360®, visit the Autodesk product documentation.
Content