Using CircuitWorks with SOLIDWORKS PDM

Article by Nathen Blas on Apr 13, 2018

CircuitWorks includes basic support for SOLIDWORKS PDM, enabling it to search the SOLIDWORKS Vault for components to use in the assemblies it builds. This article explains how the integration works and how to configure SOLIDWORKS PDM and CircuitWorks to work correctly.

How CircuitWorks’ SOLIDWORKS PDM Integration works

CircuitWorks’ PDM integration allows it to look in the vault to locate the latest version of each component model it requires and to cache it locally if necessary. This component will then be referenced by the assemblies CircuitWorks creates.

Without PDM integration, CircuitWorks follows these stages for each component when it builds an assembly in SOLIDWORKS:

Flow diagram of standard CircuitWorks component build/insertion process

Flow diagram of standard CircuitWorks component build/insertion process

CircuitWorks looks for an existing component in its Library to use. If it can’t find a suitable match, it builds a new component model, uses it, and saves it in its Library for future use.

The SOLIDWORKS PDM integration adds an additional stage to the process. CircuitWorks will check the SOLIDWORKS PDM vault for the latest version of a component if it can find a valid database record in the CircuitWorks library, and this points to a location in the SOLIDWORKS PDM vault. SOLIDWORKS PDM will ensure the latest version is cached unless the file is checked out by the currently logged-in user, in which case, it will use the local checked-out version.

Flow diagram of CircuitWorks component build/insertion process with SOLIDWORKS PDM

Flow diagram of CircuitWorks component build/insertion process with SOLIDWORKS PDM

Configuring CircuitWorks to work with SOLIDWORKS PDM

Setting the Vault View Name

Open the CircuitWorks Options dialog and select the PDM tab to show the CircuitWorks PDM Options page. Check the Check SOLIDWORKS PDM Vault for latest files option and then enter the following information:

  • Vault View Name: The name of the SOLIDWORKS PDM Vault View to check for CircuitWorks components. If left blank this will default to the first Vault View that is set up on the local computer.

If the user is currently logged on to SOLIDWORKS PDM (via Windows Explorer) then CircuitWorks will use the current logon. If not, then the SOLIDWORKS PDM login box will be displayed and upon login, the CircuitWorks’ PDM integration can be activated.

CircuitWorks Options Dialog Check SOLIDWORKS PDM Vault for Latest Files Option

Setting the Paths

For CircuitWorks to work correctly with PDM, CircuitWorks needs to have its library of components in an area within the SOLIDWORKS PDM Vault View. For Example, if the Vault View is at C:\InfiniteVault, the components must be stored under this location.

The default paths CircuitWorks uses to save the models it creates can be set in the CircuitWorks Options dialog, under the Models tab:

CircuitWorks Options Dialog Box for Setting Paths

In the example above, with the Vault View located at C:\InfiniteVault, the Components path has been set to C:\InfiniteVault\Cw\Components, so any new components CircuitWorks creates will be saved in this folder.

Note that the CircuitWorks Library can reference components that exist elsewhere outside of the default Components folder, but any components it does reference must be in the vault (e.g., under C:\InfiniteVault somewhere).

The Boards and Outlines folders have also been located in the Vault View in this example, at C:\InfiniteVault\CW\Boards and C:\InfiniteVault\CW\Outlines respectively. The Boards folder is where CircuitWorks will save any board models it creates and the Outlines folder is where CircuitWorks will save any outline (keep-ins, keep-outs, etc.) models it creates. These two folders don’t necessarily have to be within the Vault View as, unlike components, CircuitWorks doesn’t share these models - it’s entirely down to the user’s processes where these folders are located.

Finally, the database must be shared, but not under the vault view. Here it’s located in a shared location which can be seen by every seat that has read/write access.

The database needs to be shared so any seat of CircuitWorks can update it when it creates a new component and adds it to the vault. However, as the database is accessed concurrently by all CircuitWorks seats and frequently changed it should not be placed within the Vault View under PDM’s control.

Note: These paths must be set to the same locations for every seat of CircuitWorks.

Using CircuitWorks with SOLIDWORKS PDM

With new components

Using CircuitWorks with SOLIDWORKS PDM is very straightforward. As the path to the components never changes, it will work in exactly the same way as using CircuitWorks without PDM as long as the components path exists in the local Vault View. 

The only difference is that any new components created will need to be checked in to PDM to allow other users to access them. Typically, the process would be:

  1. Open an IDF or PADS file in CircuitWorks.
  2. Click Build Model to build the assembly in SOLIDWORKS - CircuitWorks will create any new component models it requires to complete the assembly.
  3. Check the newly created components into SOLIDWORKS PDM.

CircuitWorks will now have references in its library for the new components, and these components will be available to other users of SOLIDWORKS PDM. It will always ensure it uses the latest revision available of this component in subsequent assemblies.

Getting Existing CircuitWorks components into SOLIDWORKS PDM

If CircuitWorks was either in use before SOLIDWORKS PDM was installed or before the Components path was changed to a location inside the vault, these components must be moved within the vault, and their location references in the CircuitWorks library updated in order to work with PDM.

All the paths within the CircuitWorks Library are stored relative to the CircuitWorks Components path, so if the components path is changed, then any components stored in or below the old Components location can be safely moved to the new Components location and CircuitWorks will update their paths in its library correctly.

For example:

If the CircuitWorks Components path was previously set to:

‘C:\ProgramData\SolidWorks\CircuitWorks\Components’

…and then it was changed in the CircuitWorks Options to:

‘C:\InfiniteVault\CW\Components’

Then a component that was previously saved at:

‘C:\ProgramData\Solidworks\CircuitWorks\Components\Resistors\1206.sldprt’ for example

…would need to be moved to:

‘C:\InfiniteVault\CW\Components\Resistors\1206.sldprt’ for example

…and checked into PDM for CircuitWorks to continue to find it at the new Components location.

Simply moving the components from the old Components location to the new Components Location and checking them into PDM should be enough in most cases, but if the copy of CircuitWorks previously referenced components is saved outside of the old Components location, then they will need to be moved manually.

For example:

If, as in the last example CircuitWorks Components path was previously set to:

‘C:\ProgramData\SolidWorks\CircuitWorks\Components’

…and then it was changed to the new location of:

‘C:\InfiniteVault\CW\Components’

Then if a component that was previously saved at:

‘C:\Test Components\CircuitWorks\Components\Resistors\1206.sldprt’ for example

…was moved under the new Components location at:

‘C:\InfiniteVault\CW\Components\Resistors\1206.sldprt’

…CircuitWorks would not automatically update its path in the library, even though the component had moved. This is because its previous path wasn’t under the old Components' location. So CircuitWorks is unable to automatically replace the part of the path containing the old Components' location with the new one.

In cases like this, each affected component’s path would need to be changed manually in the CircuitWorks Library to reflect its new location. To do this, open the CircuitWorks Library, select a component, right-click and select Edit Component from the menu. 

Click the small browse button next to the Component File field and browse to the component’s new location. Click the green tick button to accept the changes. This process will need to be repeated for any other components that have been moved manually.

Important Note: Before moving any components, bear in mind that they may already be referenced by existing SOLIDWORKS assemblies. If they are, then moving the components outside of SOLIDWORKS will cause any assemblies that reference them to lose their references to the components. Various methods can be used to reduce the effect of this problem, including changing the component references when saving assemblies or moving the assemblies to the same location as the components. It is strongly advised that backups are made, and tests are carried out on non-critical data to determine the best approach for your process before moving any components.

Components already in the PDM vault that are not in the CircuitWorks Library

Using CircuitWorks with components already in PDM is slightly more complicated, as no records will exist for them in the CircuitWorks Library. Records for the components can be added manually to the Library using the following Process:

  1. Ensure that the locations in the CircuitWorks Options have been updated to point to the SOLIDWORKS PDM Components location.
  2. Open the CircuitWorks Library and select File Add Components…

    CircuitWorks Component Library Add Components Option

  3. This opens the component wizard. Hit Next.

    Using CircuitWorks with SOLIDWORKS PDM Tutorial

  4. Navigate to the PDM Folder where the component is located. Find the Component, and hit the > to add it to the column of Files to add to library. Hit Next.

    CircuitWorks Library Component Wizard Select Components

  5. Select the orientation the part should use if the coordinate system is not already defined. Hit Next.

    CircuitWorks Library Component Wizard Define Orientation

  6. Select one of the two options to determine how the part will be named inside the library. Then hit Next.

    CircuitWorks Library Component Wizard Define Components

  7. In this menu, we will select whether to move the files to the new location or just reference them in the old location. The second question wants to know if CircuitWorks should ask about this part if the file cannot be found. Hit Next.

    CircuitWorks Library Component Wizard File Options

  8. Almost done! Select Start adding Files to begin adding the files to the library.

    CircuitWorks Library Component Wizard Add Components

  9. Once it is done adding the files hit Finish.

    CircuitWorks Library Component Wizard Finished Adding Files Dialog

CircuitWorks will create a data record for each component in the Library.

Once any manual changes have been made to the Library records as required to ensure all component names and numbers are correct, the Library can be closed.

Related Articles

SOLIDWORKS PDM Copying a Value from the Folder into a File’s Properties

New SOLIDWORKS PDM Column Configurations

SOLIDWORKS 2022 Data Management: PDM, Manage, & Admin

 

About Nathen Blas

Nathen Blas is a SOLIDWORKS Technical Support Engineer based out of our Headquarters in Salt Lake City, Utah. He earned his Bachelor’s degree in Mechanical Engineering at the University of Utah in 2018 and joined the GoEngineer family that same year.

View all posts by Nathen Blas