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.
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
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
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:
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.
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:
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.
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:
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.
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.
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:
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.
SOLIDWORKS PDM Copying a Value from the Folder into a File’s Properties
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.
Get our wide array of technical resources delivered right to your inbox.
Unsubscribe at any time.