SolidPractices: Getting Started with CircuitWorks™

Revision History
Rev #DateDescription
1.0Jan 2021New document.
1.1Oct 2023Routine maintenance program Updated using SW2023 SP4.0

Note

All SolidPractices are written as guidelines. It is a strong recommendation to use these documents only after properly evaluating your requirements. Distribution of this document is limited to Dassault Systèmes SolidWorks employees, VARs, and customers that are on active subscription. You may not post this document on blogs or any internal or external forums without prior written authorization from Dassault Systèmes SolidWorks Corporation.

This document was updated using version SOLIDWORKS 2023 SP4.0. If you have questions or need assistance in understanding the content, please get in touch with your designated reseller.

Acknowledgments

This document was originally authored by GoEngineer and reviewed by Dassault Systèmes SolidWorks Corporation. Subsequent updates to this document were performed by Dassault Systèmes SolidWorks Corporation.

Preface

SOLIDWORKS customers routinely communicate with different engineering departments within their company. This is especially true when dealing with products that have both mechanical and electrical components. Whether the teams need to validate the fit of a printed circuit board (PCB) within a SOLIDWORKS assembly, or require bidirectional editing of the board shape and component placement, the SOLIDWORKS CircuitWorks add-in is the perfect application for your needs.

This SolidPractice document guides you through the configuration, operation, and best practices for CircuitWorks.

Your Feedback Requested

We would like to hear your feedback and suggestions for new topics. After reviewing this document, please take a few minutes to fill out a brief survey. Your feedback will help us create the content that directly addresses your challenges.

An Overview of CircuitWorks

CircuitWorks is powerful tool that provides direct communication between the mechanical and electrical engineering teams that allows these two teams to work together on projects. CircuitWorks not only provides a means to create SOLIDWORKS models, it also allows you to modify the models and send the modifications back to the originating layout tool.

CircuitWorks also provides a means to start a PCB shape in SOLIDWORKS to send to the layout tool. An additional feature of CircuitWorks is that it provides a means to transfer attributes or parameters that benefit additional tools within SOLIDWORKS to perform thermal and FEA analysis.

CircuitWorks supports two direct translation standards, the International Data Format or IDF standard, and the ProStep EDMD or IDX standard. CircuitWorks also supports for PADS ASCII format files. Most PCB layout tools support the IDF standard, however the ProStep standard is newer and fewer applications support that standard. The ProStep file extensions are IDX, IDZ and XML. The IDF standard uses a combination of two files, typically EMN, which contains information about the board, components, and their positions and an EMP file that contains information about the physical attributes of the components. The definition of these attributes come from the footprint and other component parameters (such as height). The IDF translation in CircuitWorks also supports the BRD, BDF and IDB file formats.

For more information, see the CircuitWorks help topic at https://help.solidworks.com/2023/english/SolidWorks/circuitworks/c_CircuitWorks_overview.htm?verRedirect=1

End Results

Ultimately, you have the choice of creating a single SOLIDWORKS part file (multibody support for components) or a fully parametric SOLIDWORKS assembly. The method you choose depends on what you are trying to accomplish. For example, if you require a mechanical version of the board to check for fit, you best choice would be a single part file. If you require design iteration as the result, creating a SOLIDWORKS assembly might be the best choice.

CircuitWorks uses a special interface application and database. The first time you run CircuitWorks, a setup wizard appears to help create the database and give you an opportunity to populate the database with a core set of common components that include SOLIDWORKS models. After the initial setup, everything is ready to import or create your first board.

CircuitWorks Lite provides all SOLIDWORKS users with the ability to import IDF files into SOLIDWORKS as a single multibody part file. It also provides a means for a SOLIDWORKS user to review a PCB assembly in SOLIDWORKS and place the part file in an assembly to ensure fit.

CircuitWorks Professional comes with the SOLIDWORKS Professional and SOLIDWORKS Premium versions. CircuitWorks Professional provides the ability to filter the PCB before creating a version of the board in SOLIDWORKS. CircuitWorks Professional allows you to review and modify component parameters, and build fully editable SOLIDWORKS assemblies. You also have the option to send edits of the PCB in SOLIDWORKS to the electrical computer aided design (ECAD) tool through the CircuitWorks interface.

Comparison of CircuitWorks and CircuitWorks Lite

 

CircuitWorks

CircuitWorks Lite

Model creationBoard assembly with component part modelsSingle part model
CapacityThousands of componentsHundreds of components
Uses the Component LibraryYesNo
Import formatsIDF 2.0, IDF 3.0, IDF 4.0, PADS ASCII, AND ProStep EDMDIDF 2.0, IDF 3.0
Export formatsIDF 2.0, IDF 3.0, IDF 4.0, PADS ASCII, AND ProStep EDMDIDF 2.0, IDF 3.0
Filtering capabilitiesYesNo

CircuitWorks Workflow (IDF Files)

One of the great things about CircuitWorks is the ability of the software to communicate design requirements without the need to produce a DXF or DWG file.

For example, imagine that you need to design a board with a specific shape. Therefore, you start a new SOLIDWORKS part file and create a sketch in the shape that you need for the board. You then extrude the shape to make a 3D body. At this point, you need to make some decisions about cutouts and holes (both plated and non-plated). If you do not need to define any cutouts or holes, you simply run the Export to CircuitWorks wizard. The wizard asks you to select what you are exporting (in this case a Board), and then select the face that represents the Top Surface of the board. As a best practice, select the feature that defines the board shape. The next few steps are to determine the holes and keep-outs discussed in the next section. You can continue to click Next until you arrive at the Copy to CircuitWorks Boards Folder page. When you select the Copy to CircuitWorks Board option, the software saves the SOLIDWORKS board part in the Boards folder specified in the CircuitWorks options. This helps to improve performance because it is possible to reuse existing SOLIDWORKS models instead of creating them from scratch. After selecting Next and the Finish, the board transfers to the CircuitWorks interface for which you can use the save function to save the board in your preferred format (IDF, IDX or PADS ASCII).

Creating Board Shapes and Cutouts

This section covers some tips and best practices for creating the boards and cutouts. First, when sketching, avoid use of nonstandard sketch feature types. SOLIDWORKS provides many best-in-class sketch tools that some common layout tools do not fully support. Items such as ellipses, parabolas, and splines have no equivalent feature in other layout tools. When creating features like fillets and chamfers, it is best practice to add the features to the sketch instead of adding them as features to the 3D body. It is also a good practice to add any cutouts to the board sketch instead of individual features. In general, add cutouts in areas where you want to remove board material that does not affect the operation of the PCB.

When creating or modifying a PCB, consider the following best practices.

  • When creating a sketch, do so on the front plane and extrude in the +Z direction.
, Bottom, All, Both, so that it is easier to understand the layer. You can define the keep-out and keep-in functions in the CircuitWorks Export Wizard by using the Select the Outline Features function.

Plated and Nonplated holes

Plated (exposed copper) and nonplated holes defined in SOLIDWORKS are typically used for mounting purposes. For example, if you have an enclosure with stand-offs, you want to ensure that the holes in the PCB align with the standoffs. Creating these in SOLIDWORKS makes a lot of sense because you can use the models of the enclosure to define size of the hole and the position.

Board Thickness

The board thickness is typically defined in the ECAD application. There are specific tools (such as the layer stack manager) that make it possible to define the layers quickly and easily. When working within the SOLIDWORKS modeler, the board is created as a single feature. The thickness of this feature is defined by the overall thickness of all layers defined in the ECAD tool. However, you can manipulate the thickness in CircuitWorks if necessary as mentioned in the next section. If starting the board in SOLIDWORKS, the recommendation is to define the thickness of the feature as close to the overall thickness as possible. Ultimately, the electrical engineering group usually has final say on the number of layers and the overall thickness of the PCB.

Selecting Outline Features Through the CircuitWorks Export Wizard

The CircuitWorks Export Wizard allows you to select SOLIDWORKS sketch or extrude features that represent keep-out areas, keep in areas, and other outlines. You can select the type of outline on the Select the Outline Features page of the wizard. You can also select the board side on which you want the outline type.

Component Properties

One of the best features about moving the PCB into the SOLIDWORKS environment is all the options that become available once you have a 3D model representation of your PCB. Of course, you have the ability to fit the board to look for interferences; however, you can also run thermal analysis and finite element analysis (FEA), and perform other functions. You can also create a bill of materials (BOM) within SOLIDWORKS to include the PCB as a single object (subassembly), or a full BOM that includes all of the components and the board. It is possible to send component parameters such as the part number, mark or designator, and even additional information such as thermal and FEA parameters, supplier names, and supplier part numbers between the layout tool and CircuitWorks. This eliminates costly errors as the FEA data transfers from the ECAD system.

Filtering

Another key feature of the CircuitWorks interface is filtering. By using the filters, you can customize what is built or represented in the SOLIDWORKS application. For example, you might need to verify that tall components will not interfere with the mechanical enclosure or other boards that are part of the overall product. By using the component filter, you can specify that only components that are taller than a certain value be represented. You may also filter out components that are below a specific height value to improve performance of densely populated boards. Another option to consider is filtering out all components and leaving only the board and the holes required for mounting. Filtering not only saves time, but with the ability to save the filters, you can use them, when necessary, on every board that you run through CircuitWorks.

Here is where the power of SOLIDWORKS modeling really comes into play. When you read a file into CircuitWorks, the software compares the board and every component to its database. It is not necessary to create components that already exist in the database when placed them into the SOLIDWORKS assembly. This saves considerable time. Another key benefit comes from the overall appearance of the component. By default, components are created from the outline or footprint that is contained in the originating file. This creates extremely efficient models for performance, but lack a detailed representation of the components. One feature for translating PCB’s into SOLIDWORKS is the ability to use SOLIDWORKS add-ins such as SOLIDWORKS Visualize for photorealistic board images, or SOLIDWORKS Composer for work instructions. With these options, it is desirable to have the components look like the physical product. By taking advantage of the CircuitWorks Component Library, it is possible to download or build directly into SOLIDWORKS real world representations of the components, and associate them with the component libraries in CircuitWorks. This eliminates the need for a SOLIDWORKS user to replace the basic model shapes with realistic models after building the assembly. By taking advantage of the component library and filtering, you have the flexibility to use fully detailed PCBs while controlling the type of components required.

The basic or default workflow when working with external files (those created by the electrical engineering group), is to open the supplied files in CircuitWorks and then review the PCB. Here, you can verify the board thickness, the number and types of components, the hole information (plated and nonplated), and the position of components. At this point, you might apply filtering as needed. Then you can click Build Model to create a SOLIDWORKS model of the board. If there is no assembly open in the SOLIDWORKS application, the software creates a new assembly and then creates the new board. It then places the board into the new assembly, and then places the components. If you have already run the file through CircuitWorks and a SOLIDWORKS assembly already exists, open the assembly before clicking Build Model and SOLIDWORKS will update the existing assembly with any changes that are present.

  1. Making Changes and Creating a New IDF
  2. Manipulating Components and Modifying the Board

After creating a board in SOLIDWORKS, you have all of the SOLIDWORKS tools available to perform the modifications you need. There are two principal actions. Modify the board shape, and manipulate the placement of components. Sometimes it is possible to modify the board shape by opening the board part file and making the necessary changes to the board shape, adding mounting holes, and defining keep-outs. There are times when you place the PCB assembly into a top-level assembly that contains an enclosure where you will use top down assembly modeling to define the shape of the board and the placement of mounting holes. You might also use this opportunity to use the top-level assembly to position mechanical and electrical components (USB, HDMI, etc.) based on the enclosure. After making the changes in SOLIDWORKS, the Export to CircuitWorks feature guides the SOLIDWORKS user through the process of exporting the SOLIDWORKS assembly to the CircuitWorks interface.

Comparing Boards

Whether pull changes from SOLIDWORKS or receive an updated file from the ECAD team, the CircuitWorks Compare tool allows you to review and verify changes before committing the changes to the SOLIDWORKS application or sending them to the ECAD team.

When you create changes in SOLIDWORKS and push the changes to the CircuitWorks interface, you can save the changes as an IDF or ASC file to send back to the ECAD team. This is also possible if you start the board creation process in SOLIDWORKS.

  • Opening the Baseline
  • One of the unique differences that ProStep provides is the opportunity to create a baseline (starting point) file. The ECAD team typically does this, after which, changes to the file create small change files. When working with ProStep there will always be a baseline file to start with. This file opens in CircuitWorks and behaves the same way as described for filtering in section 8b, if necessary, and for creating a SOLIDWORKS assembly.

    When making changes from SOLIDWORKS, the software pushes the updated SOLIDWORKS assembly to the CircuitWorks interface and creates a change file that you can send to the ECAD team. When creating the change file, the application provides a chance to add comments about the changes that then appear in the ECAD application.

    When the ECAD team makes changes, they will send update files. These update files are placed into the directory defined in the CircuitWorks options. When you open the baseline file in CircuitWorks, the software parses the change files automatically parsed. At that point, you have the opportunity to cycle through and approve each baseline file, review the comments of either team, and update the SOLIDWORKS assembly based on the change files.

    The component database stores information about the components that are used within the CircuitWorks environment. The component database stores information about the component brought into the database such as the part number and footprint names, and matches them to SOLIDWORKS part files that were created by either the system or the user. In the database, you can link SOLIDWORKS models that you create or download.

    One method for creating realistic models is to modify the models created by SOLIDWORKS CircuitWorks or replace them with models that you download from the internet. You can find many of the models you need at the https://www.3dcontentcentral.com or https://my.solidworks.com/cadmodels websites. Many supplier websites also provide downloadable models.

    A quick and efficient method to get realistic models is to use the work already done by CircuitWorks. After creating a board, open the model of a component you want to replace and then insert a model that you download or create. Use the move body commands to mate the model to the original body. Once aligned, delete the original body. This leaves a realistic model that already links to the CircuitWorks component database and has the correct orientation.

    1. Open the component or model you want to add.
    2. In the CircuitWorks add-in, click Export to CircuitWorks.
    3. Follow the steps in the wizard to select the appropriate component type.
    4. For complex component outlines, the recommendation is to create a component outline sketch. Using silhouette edges can affect performance.
    5. It is a good practice to add a coordinate system that matches the system of the components on the ECAD side. Name the coordinate system CWX or select an existing system. For additional information about user-defined coordinates, see the SOLIDWORKS help topic at https://help.solidworks.com/2023/english/SolidWorks/circuitworks/c_User-defined_Coordinates.htm?verRedirect=1
    6. Verify that the component package name and component part number match the information from the ECAD tools. This ensures that CircuitWorks can properly match the model to the ECAD component for placement.
    7. Ensure that you select the Add the component to the library option.

    It is best that everyone who uses CircuitWorks has the same settings.

    The XML file mentioned in the next section describes how you can distribute the settings.

    After setting up CircuitWorks on a computer, it is a best practice to copy the directories on that computer to a network drive, or even better, within SOLIDWORKS PDM. Then, by using an options file, you can specify the library locations for the rest of the users automatically.

    Saving and Sharing CircuitWorks Settings

    When you specify options in CircuitWorks, those settings save into a file with the name ecadoptSettings.xml. This file can be stored on a local computer or on a network computer, and you can share the file with other users.

    versus Read Only) based on their Windows user rights for the shared folder.

    When using the ecadoptAdmin.xml file, most of the options in the

    CircuitWorks Options

    dialog box are not active. However, you can still edit some options from the client computer, which are stored in the ecadoptLocal.xml file in the following location: C:\Users\User_name\AppData\Roaming\CircuitWorks

    The client user can still select the library location fromCircuitWorks Options>Models.

    As a best practice, create a different folder scheme for the network location.

    page of the CircuitWorks options and for

    Specify Admin file to set CircuitWorks options

    , browse to the folder that contains the ecadoptAdmin.xml file. When setting the location, you can specify which users have Read/Write access by right clicking on the xml file and selecting Share with > Specific people.

    CircuitWorks Options

    When setting up CircuitWorks, it is very important to determine a setup that works for you at the beginning, and then not change things substantially after you start using CircuitWorks. If you do need to make changes, it is best to test and then retest those changes before introducing them into a production environment.

    Consider the following CircuitWorks options:

    1. IDF Import

    For importing IDF, there is an option to specify component rotation based on the originating system. When using CircuitWorks to create a PCB and the components appear in the incorrect orientation, make sure that you specify the correct originating system. You can also specify if you want to link by the name of the component and part number or by only the name of the component.

     

    1. IDF Export

    When exporting IDF files you can specify the unit of measure and precision. There are also options for the attribution of holes. It is best to create an example file and have your ECAD team import the file to determine if they need any changes.

     

    1. PADS import

    There are very few options for importing PADS files because CircuitWorks has everything except some attribute settings. It is best to standardize on the unit of measurement. Speak with your ECAD team about the preferred unit.

     

    1. PADS Export

    The PADS Export options allow you to specify the units and to swap the part name and number if required when exporting.

     

    1. ProStep EDMD

    When working with ProStep, it is important to discuss three important options with the ECAD team, their preference for unit of measure, which version of ProStep they are using now, and the specification of a central location for storing the files. ProStep can monitor a folder for changes from both ECAD and SOLIDWORKS, and it is a best practice for both systems to place the files created in the same location. Afterward, you can choose to create new files for each change or to add changes to the existing file.

    The SOLIDWORKS Import options are among the most important specifications you must make, and the ones that you do not want to change much after you get started. The first few options control how components are created as parts in SOLIDWORKS. For example, whether to constrain sketch geometry and if the components creation is visible in SOLIDWORKS. For the greatest flexibility and best performance, do not activate these options. However, if it is company policy that everything must be fully defined, then activate the options accordingly. After part creation, you have the option to specify which templates to use and how the components appear in the assembly FeatureManager® design tree. For example, you might choose to use the component name or ECAD designator. Next, you have the option to define how to model copper (traces, pads, filled areas) items. Surface generation is faster than solids, but you can ignore copper creation, which would be fastest. Finally, you can define how CircuitWorks handles zero-height components. The default specification is to create a sketch, and this is probably the best option available. This option gives you an opportunity after creating a component to specify the height manually by extruding the sketch and then saving the model with the extruded sketch into your component library. The next time a PCB uses that component, the height comes from the library.

    There are only a few SOLIDWORKS Export options. These options are mostly checks to ensure that the SOLIDWORKS models have the critical information necessary for CircuitWorks to create a compatible ECAD file. Do not change these options unless you experience issues. The CircuitWorks export wizard ensures that everything receives the correct names.

    The options on the Models page are those that you do not what to change after setting everything up. Run through in import and then review the SOLIDWORKS assembly. Verify compliance with company standards and make any necessary changes. For example, the part names are correct and the storage locations are correct.

    Options in the Features and Warnings page specify the colors for specific ECAD features warning levels. For example, warning levels notify you if you are about to create a very large assembly, which may affect performance.

    Options on the Compare and Library pages control how changes appear when comparing two files in CircuitWorks, and what criterion is used to match components to the CircuitWorks library. When bringing a file into the CircuitWorks interface, the application examines each component and tries to match the component to existing components in the library. To do this, the software uses a specified combination of name, number, and height. It also has settings to handle replacing existing components defined with sketches (missing component heights) with new files that have a defined height.

    In addition, after activating Show component offset information in library option, you can see the component orientation in the component library. The offset information is a good check if you experience issues with component rotation. The components and the board should have the same orientation.

    As mentioned in section 12, you can save files in a SOLIDWORKS PDM vault. Remember that you are creating SOLIDWORKS assemblies with their associated part files, and these files require management. SOLIDWORKS PDM is perfect for managing your SOLIDWORKS files. However, keep in mind that CircuitWorks creates the files, not you. Because of this, CircuitWorks needs information about your PDM server, specifically the vault name. From here, CircuitWorks uses your PDM login to check-in and check-out files.

    To use SOLIDWORKS PDM with CircuitWorks, you must first activate the Check SOLIDWORKS PDM Vault for the latest files option on the PDM page of the CircuitWorks options. From there, enter name of your vault. This feature requires a SOLIDWORKS PDM Professional vault.

    After doing this, a dialog box appears and reminds you to define theComponentspath on theModelspage of the CircuitWorks options to a path within your local vault view.

    CircuitWorks integration with SOLIDWORKS PDM requires the SOLIDWORKS PDM Professional version.

    1. Option 1
    • Store the .db format file in a network location and all users point to that location.
    • Store decals and filters in a shared drive.
    • Store components in a SOLIDWORKS PDM vault.
    • On the Database page of the CircuitWorks options, specify to use the same SQL server as SOLIDWORKS PDM. Make sure that users have the appropriate permissions to access the SQL server.
    • Store decals and filters in a shared drive.
    • Share components in a SOLIDWORKS PDM vault.

     

     

    We hope that you find this document informational and useful and request that you leave a brief feedback about the topics that you want us to cover in the next revision of this document. Click here for a complete list of SolidPractices documents available from DS SOLIDWORKS Corp.