SolidPractices: Understanding SOLIDWORKS My Session Architecture and Optimizing Performance

Revision History

Rev #DateDescription
1.0Sept 2022Document created.
1.1August 2024Updated for 3DEXPERIENCE R2024x FD03

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 3DEXPERIENCE R2024x HotFix 3 (FD03) July 2024 Update. If you have questions or need assistance in understanding the content, please get in touch with your designated reseller.

Preface

This content applies to the following roles for public cloud 3DEXPERIENCE Works:

  • 3DEXPERIENCE SOLIDWORKS Premium
  • 3DEXPERIENCE SOLIDWORKS Professional
  • 3DEXPERIENCE SOLIDWORKS Standard
  • Collaborative Designer for SOLIDWORKS

This content applies to the following apps for public cloud 3DEXPERIENCE Works:

  • SOLIDWORKS Connected
  • Design with SOLIDWORKS

SOLIDWORKS within the public cloud 3DEXPERIENCE Works portfolio communicates with different web services while also managing objects within the 3DEXPERIENCE platform. This type of solution adds another layer of client/server communication and additional information to consider on top of the traditional SOLIDWORKS Desktop Windows® application.

You will learn more about how the SOLIDWORKS client connects to the 3DEXPERIENCE platform and discover how the SOLIDWORKS data model extends to the 3DEXPERIENCE platform. You will also gain a better understanding of what operations are client-side versus server-side.

Dassault Systèmes continuously works to enhance the public cloud 3DEXPERIENCE Works products. Look for future updates to this document including future enhancements and updates that may influence performance.

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.

3DEXPERIENCE Platform Integration Within SOLIDWORKS

The 3DEXPERIENCE business platform consists of many different roles that contain different applications for different job functions that work with a single data model. The apps range from native applications where you install code locally on your computer, to dashboard apps and web apps that run in your browser. All of these apps communicate with the various web services that make up the 3DEXPERIENCE platform.

SOLIDWORKS within the public cloud 3DEXPERIENCE Works portfolio communicates with many of these web services such as 3DSpace, 3DPassport and 3DDashboard within the 3DEXPERIENCE task pane tab.

3DEXPERIENCE task pane tab

The 3DEXPERIENCE tab runs as an embedded browser instance using the Chromium™ embedded framework (CEF) within the SOLIDWORKS task pane.

The blue top bar in the 3DEXPERIENCE tab behaves similar to the blue top bar in the 3DEXPERIENCE platform within your browser, such as Google Chrome™. The 3DEXPERENCE Compass is interactive and dashboard apps open within the ENOVIA MySession app, similar to the behavior you see within your internet browser. For example, the BookMark Editor app opens within the 3DEXPERIENCE tab with client/server communication to the 3DSpace web service. The Search bar communicates with the 3DSearch web service. You may see some similarities to the behavior you see in the 3DEXPERIENCE platform within your internet browser.

For example, if you experience a performance issue interacting with different apps within the 3DEXPERIENCE tab CEF browser instance, you may also experience the same performance issue within the stand-alone browser, such as Google Chrome. This is assuming that the fault is with the client/server communication to the 3DEXPERIENCE platform web services, especially if using the Chrome or Microsoft® Edge internet browser. Both use the Chromium embedded framework and communicate with the same web services.

3DEXPERIENCE task pane tab CEF cache

The CEF browser instance of the 3DEXPERIENCE

tab in the SOLIDWORKS task pane has a dedicated folder for caching temporary files.

The cache location for version SOLIDWORKS 2023 Service Pack 3.0 and newer is

[%localappdata%]\Temp\swcefcache.

The cache location for versions SOLIDWORKS 2020 Service Pack 1.0 until SOLIDWORKS 2023 Service Pack 2.0 is

[%localappdata%]\SOLIDWORKS\swcefcache.

The cache location for versions SOLIDWORKS 2020 Service Pack 0.0 and older is [%localappdata%]\DassaultSystemes\CATTemp\ENOUSWC\BrowserCache.

If you do experience unusual behavior within the

3DEXPERIENCE

tab, you may clear the files within the cache location to correct the behavior.

ENOVIA MySession app

The ENOVIA MySession (MySession) app is the starting point when you activate the 3DEXPERIENCE

tab* within the SOLIDWORKS task pane. The MySession app is responsible for showing you the CAD content from your current SOLIDWORKS session and providing 3DEXPERIENCE platform information from the CAD content such as the Status, Revision, Maturity State and others. The MySession app also provides commands for managing the content within the 3DEXPERIENCE platform.

* The 3DEXPERIENCE SOLIDWORKS Add-in must be active to use the MySession app with the Design with SOLIDWORKS installation.

SOLIDWORKS integration

The 3DEXPERIENCE applications in the 3DEXPERIENCE

tab communicate with SOLIDWORKS and with each other through messages and events while working with SOLIDWORKS files and 3DEXPERIENCE platform objects. These applications also call the 3DEXPERIENCE client/server components to download SOLIDWORKS files or 3DEXPERIENCE platform metadata from the 3DEXPERIENCE platform.

The MySession app refreshes to show the content of the active SOLIDWORKS document window with certain events in SOLIDWORKS.

For example, the rebuild command in SOLIDWORKS triggers an event that which causes the MySession App to perform a refresh.

  1. MySession app refresh behavior

Here are two refresh behaviors worth noting that influence performance and may explain certain behaviors you may see in the SOLIDWORKS integration with MySession.

  1. 1. Refresh only when needed

MySession content refreshes as needed beginning with 3DEXPERIENCE R2024x FD03 July 2024 Update and SOLIDWORKS 2024 Service Pack 2.0 and higher.

  1. Refresh conditions:
  • Visible MySession task pane tab
  • Active Lifecycle panel within FeatureManager® Design Tree
  • Launch 3DEXPERIENCE command from the SOLIDWORKS User Interface
  1. 2. Asynchronous retrieval of 3DEXPERIENCE data

The MySession app refreshes the content in two steps since 3DEXPERIENCE R2024x General Availability (GA).

Reducing the amount of time SOLIDWORKS is frozen or unusable during a MySession refresh is the reason for this change.

  1. Step 1 Get SOLIDWORKS information

Retrieve SOLIDWORKS information from memory and populate the MySession view. This includes Component Name and File Name columns. This occurs within the main user interface thread in SOLIDWORKS.

  1. Step 2 Get 3DEXPERIENCE information

Retrieve 3DEXPERIENCE information and populate the MySession view. This includes other columns such as Status, Revision, Maturity State, Collaborative Space, etc.

This procedure happens on a secondary thread giving the user back control in SOLIDWORKS during this step.

Another example of the SOLIDWORKS integration with the 3DEXPERIENCE tab is when you click to select a SOLIDWORKS file within the MySession app, the MySession app sends a Select message. SOLIDWORKS responds by calling the SelectByID2 method of the SOLIDWORKS application programming interface (API) to select the file within the Feature Manager® design tree of the SOLIDWORKS user interface (UI). These are two examples how SOLIDWORKS and the MySession app communicate.

During normal usage, many other events occur between both SOLIDWORKS and the 3DEXPERIENCE apps including the MySession app in the 3DEXPERIENCE tab.

MySession Tree View Options

The Component display of the SOLIDWORKS structure within MySession is configurable.

You may display the components as instances or groups of multiple instances with Quantity information.

Generally speaking, time to refresh increases with increase in the number of rows (Components) within MySession.

  1. Instance View

This is the default view. This displays the SOLIDWORKS structure as instances regardless of the Tree Display in SOLIDWORKS.

Multiple instances in the SOLIDWORKS structure appear as separate rows in MySession.

  1. Reference View

This displays the SOLIDWORKS structure as groups of multiple instances with Quantity information regardless of the Tree Display in SOLIDWORKS.

This option may help improve refresh performance if you work with very large SOLIDWORKS Assembly structures with many instances and you notice a delay updating the 3DEXPERIENCE information in MySession. This reduces the number of rows to display within MySession.

  1. FeatureManager Tree View

This displays the SOLIDWORKS structure according to the SOLIDWORKS FeatureManager® Design Tree > Tree Display setting > Group Component Instances.

3DEXPERIENCE Files on This PC

SOLIDWORKS content that you save to and open from the3DEXPERIENCE platform appears within the3DEXPERIENCE files on This PCtab in the SOLIDWORKS task pane.

Some users refer to this as the local work folder.

This is a view of all the SOLIDWORKS files that you manage or intend to manage with the 3DEXPERIENCE platform.

This view shows columns with 3DEXPERIENCE platform attributes such as Status, Collaborative Space, Maturity State, Lock Status and others.

  1. Folder Locations

The SOLIDWORKS files that appear within the3DEXPERIENCE files on This PCtab view may exist in different folders of your computer.

SOLIDWORKS stores hidden files with the extensions .v6 and .srv.v6 with the same name as the SOLIDWORKS files. These files are binary files that contain 3DEXPERIENCE platform metadata that is associated with a given SOLIDWORKS file. This information relates to the 3DEXPERIENCE platform data model. These files control what attribute values appear within the

3DEXPERIENCE files on This PC

tab and the MySession app.

SOLIDWORKS creates the .v6 and .srv.v6 format files when you save or open SOLIDWORKS files from the 3DEXPERIENCE platform. The content within these files drives the status and other 3DEXPERIENCE platform properties that you see within the

3DEXPERIENCE files on This PC

tab and the MySession app.

The default locations for these files are as follows:

  • Default location of Design with SOLIDWORKS files:

C:\3DEXPERIENCE\[TENANTID]([3DEXPERIENCE ID Username])

  • Default location of SOLIDWORKS Connected files:

[%localappdata%]\DassaultSystemes\3DEXPERIENCE\[TENANTID]([3DEXPERIENCE ID Username])

Deleting SOLIDWORKS files within the

3DEXPERIENCE files on This PC

tab also removes the associated .v6 and .srv.v6 format files for the deleted SOLIDWORKS files.

As a best practice, use theRefresh the viewcommand within the3DEXPERIENCE files on This PCtab before deleting files.

Important: Before choosing to delete files, review the Status icon before choosing to delete files.

If you delete a SOLIDWORKS file with the status of Up-to-date, you may download the file from the 3DEXPERIENCE platform again, and not lose any work.

If you delete a SOLIDWORKS file with the status of Local File, you will lose your work because the file does not exist on the 3DEXPERIENCE platform.

The Delete from this PC command within the

3DEXPERIENCE files on This PC

tab only removes the SOLIDWORKS files you have created and saved or downloaded from or to your local work folder on your local computer, or the SOLIDWORKS files you have saved into the folder locations on your local computer mentioned earlier in this section.

  1. Client/Server Components

  2. PLM Collaborative Services Adapter Client

The PLM Collaborative Services Adapter (PLMCSA) client (ENOPLMCSAClient.exe) is responsible for client/server communication with the 3DEXPERIENCE platform web services to save, open and manage SOLIDWORKS data within the 3DEXPERIENCE platform. For example, when you save a SOLIDWORKS file using the save commands within the MySession app, the PLMCSA client handles the client/server network communication to the 3DEXPERIENCE platform.

This process involves sending and receiving SOLIDWORKS files (SLDPRT, SLDASM and SLDDRW) to and from the 3DEXPERIENCE platform as well as sending and receiving database operation requests and responses for the 3DEXPERIENCE platform objects.

The PLMCSA client appears in the Windows notification area as a3DEXPERIENCE icon with a tooltip ofPLM Collaborative Services Adapter Client.

3DEXPERIENCE PLM Services is a small application (EdmServerV6.exe) that assists with the client/server XML messaging activity of the PLMCSA client. The application appears in the Windows notification area as a 3DEXPERIENCE icon with the tooltip

3DEXPERIENCE PLM Services

.

When you save a SOLIDWORKS file to the 3DEXPERIENCE platform, you create objects within the 3DEXPERIENCE platform that correspond to the components of the SOLIDWORKS structure. SOLIDWORKS files and SOLIDWORKS configurations map to certain 3DEXPERIENCE platform objects on the 3DEXPERIENCE platform.

SOLIDWORKS part (SLDPRT) and assembly (SLDASM) files map to CAD Family objects within the 3DEXPERIENCE platform. Each SOLIDWORKS configuration with a SOLIDWORKS part or assembly file maps to a Physical Product object within the 3DEXPERIENCE platform.

CAD Family objects for SOLIDWORKS part (SLDPRT) and assembly (SLDASM) documents with only one configuration are not visible within the 3DEXPERIENCE platform applications. For more information about this behavior, refer to the Knowledge Base Article ID: QA00000102922.

SOLIDWORKS drawing (SLDDRW) files map to Drawing objects within the 3DEXPERIENCE platform.

The following illustration depicts the SOLIDWORKS to 3DEXPERIENCE platform data model for a SOLIDWORKS part document.

In this illustration, a single SOLIDWORKS part (SLDPRT) document that contains three configurations creates one CAD Family object and three Physical Product objects within the 3DEXPERIENCE platform. Each SOLIDWORKS configuration is a Physical Product object.

EXPERIENCE platform data model keeps track of the relationships between the CAD Family, Physical Product and Drawing objects for the SOLIDWORKS assemblies, parts and drawings.

3DEXPERIENCE Compatibility

You do not create 3DEXPERIENCE objects for representations within SOLIDWORKS assembly and part documents after converting the SOLIDWORKS files to 3DEXPERIENCE Compatibility.

The following illustration depicts the SOLIDWORKS to3DEXPERIENCE platform data model for a SOLIDWORKS part document upgraded to 3DEXPERIENCE Compatibility.

In this illustration, a single SOLIDWORKS part (SLDPRT) document that contains one Physical product and two representations in SOLIDWORKS for a total of three configurations. This SOLIDWORKS part creates one CAD Family object and one Physical Product object within the 3DEXPERIENCE platform.

EXPERIENCE operations with a multiple configuration SOLIDWORKS file converted to 3DEXPERIENCE Compatibility using Representations versus the same legacy multiple configuration SOLIDWORKS file because you create/modify fewer 3DEXPERIENCE objects on the 3DEXPERIENCE Platform.

Attribute Mapping

You may map SOLIDWORKS configuration-specific properties to ENOVIA Physical Product attributes. However, use caution if you choose to do so. Mapped attribute metadata is processed during save and open transactions with the 3DEXPERIENCE platform.

For example, if you define 10 mapped bidirectional attributes to Physical Product objects for SOLIDWORKS part documents and you work with a SOLIDWORKS part (SLDPRT) file with 100 configurations, you may experience slower than usual save times or slower times to complete the open procedure.

  • 10 ENOVIA database attributes x 100 SOLIDWORKS configurations (Physical Product objects) = 1000 database attributes for the ENOVIA attributes alone.

For more information about 3DEXPERIENCE platform attribute management with SOLIDWORKS, see the SolidPractices document“3DEXPERIENCE SOLIDWORKS: Attribute Mapping for SOLIDWORKS” in the SolidPractices library.

ENOVIA MySession Save Options

The MySession Save options may increase the amount of data or change how you send to the data to the 3DEXPERIENCE platform. Here are the options and how they influence the save behavior.

  1. Save graphical properties (Default: OFF)

This option saves additional metadata to the 3DEXPERIENCE data model. This option extracts the color, hide or show state, and transparency of components within a SOLIDWORKS assembly (SLDASM) to the Physical Product object within the 3DEXPERIENCE platform.

This option may influence the save performance, especially for SOLIDWORKS assembly structures with more than one configuration or many component-level appearances.

  1. Save information about weight and balance (Default: OFF)

This option saves additional metadata to the 3DEXPERIENCE data model. This option recalculates and extracts the mass properties from each SOLIDWORKS part (SLDPRT) and saves the mass property information to the Physical Product object within the 3DEXPERIENCE platform.

This information is available within downstream 3DEXPERIENCE applications such as Weight & Balance from the Weight & Balance Designer or Weight & Balance Manager roles.

This option requires the following option in SOLIDWORKS: Tools > Options > System Options > Performance > Update mass properties while saving document

This option may influence the save performance, especially for complex SOLIDWORKS part files with many configurations.

  1. Activate asynchronous save (Default: ON)

This option changes the save behavior if you save 25 or more modified or new objects to the 3DEXPERIENCE Platform when Activate asynchronous save is on. The save procedure moves to a separate process (AsyncSaveinto3DEXPERIENCE.exe) outside of the main SOLIDWORKS process.

You benefit from better productivity working within the SOLIDWORKS application while the save is asynchronously running in the background.

Please note asynchronous save requires more time to establish a new connection to the 3DEXPERIENCE platform.

  1. Save related drawings (Default: OFF)

This options uses the SOLIDWORKS Document Manager API to find related drawings to include in the Save scope (Save with Options dialog) for the SOLIDWORKS structure when Save related drawings option is on.

This activity happens prior to Step 3 of 7 Extracting file information during the save to 3DEXPERIENCE platform save procedure.

You may experience a delay due to this activity if you have many SOLIDWORKS drawings in your local work folder with Save related drawings on.

  1. Enable save optimization (Default: ON)

This option optimizes what SOLIDWORKS files within the SOLIDWORKS file structure to traverse when building the Save to 3DEXPERIENCE dialog for the list of new and modified files to save when Enable save optimization is on.

Listing fewer SOLIDWORKS files within the Save to 3DEXPERIENCE list results in better performance.

The entire SOLIDWORKS structure is included within the Save to 3DEXPERIENCE dialog when Enable save optimization is off.

This activity is part of Step 3 of 7 Extracting file information… during the save to 3DEXPERIENCE platform save procedure.

SOLIDWORKS Open Procedure from the 3DEXPERIENCE Platform

within the

3DEXPERIENCE

task pane.

As you can see, if the SOLIDWORKS file does not exist in your local work folder, the time to open the data is heavily dependent on the network plus the time to open the SOLIDWORKS data in SOLIDWORKS.

If you have already saved SOLIDWORKS files to the 3DEXPERIENCE platform that are located locally on your computer, you may not experience as much network activity with the 3DEXPERIENCE platform network services during the open procedure.

FAQ

Question: Does a Reload from Server operation follow the same open procedure?

Answer: Similar with the addition of SOLIDWORKS reload API to reload files in session. The number of files downloaded may vary depending on the current status of the files within the MySession app.

Question: Are there recommendations for troubleshooting when SOLIDWORKS takes a very long to open files and the network requests happen very fast?

Answer: This may be a performance issue that is occurring locally on the client computer in SOLIDWORKS after the network operations finish. There are many possible reasons for this behavior. A good place to start is to run the Performance Evaluation tool.

Question: What can I do to improve performance if SOLIDWORKS displays the Downloading window for a long time?

Answer: This is the PLMCSA server request operation to download SOLIDWORKS files. Your network performance (bandwidth and latency) is a key influencer for the time that it takes to download the SOLIDWORKS files. Check your network performance by running the Cloud Eligibility tool.

If you are unable to improve your network performance. The size of the SOLIDWORKS files also may contribute to the time it takes to download the files from the 3DEXPERIENCE platform. Review the file size of the SOLIDWORKS files in your local work folder. If any file sizes appear unreasonable based on your design, you may try to open the files in SOLIDWORKS, and make modifications to reduce the size of the file. Examples might include lowering the image quality of the SOLIDWORKS document or removing unnecessary details within the model.


 

: Why do I see the Open completion is running message after I open a SOLIDWORKS file from the 3DEXPERIENCE platform?: One scenario where this may happen is when you open a SOLIDWORKS assembly document with many suppressed components that do not exist in the local work folder, and the suppressed components include SOLIDWORKS files with very large file sizes.

The first PLMCSA requests gather the structure and metadata from unsuppressed components, then downloads the unsuppressed components. SOLIDWORKS opens the assembly, and then in parallel, the PLMCSA client requests to download the SOLIDWORKS files for the suppressed components as well as the metadata for the entire structure of the assembly document.

The PLMCSA server request to collect the entire structure including downloading additional files and metadata of all objects within the structure may still be downloading the suppressed components or gathering the metadata.

SOLIDWORKS Save Procedure to 3DEXPERIENCE Platform

The following workflow image provides a summary of what happens when you save a SOLIDWORKS file in the MySession app within the

3DEXPERIENCE

task pane.

for the details about each step during the save process.

See theFAQfor additional questions about the save process.

FAQ

Question: Why might the Step 2 of 7 Saving files locally… process take a long time while saving a SOLIDWORKS assembly document?

Answer: Confirm that the MySession > Options > Save tab > Save information about weight and balance option is active. This option requires that the Tools > Options > System Options > Performance > Update mass properties while saving document option in SOLIDWORKS is also active. Assembly documents that contain complex components may take additional time to recalculate the mass properties.

If you experience a significant delay accessing Tools > Evaluate > Mass Properties in SOLIDWORKS or when clicking Recalculate in the Mass Properties dialog box, then this could be the source of the delay.

Additionally, check for perpetual rebuild lights or files in a permanent modified state within the SOLIDWORKS FeatureManager Design Tree structure. SOLIDWORKS files always in a modified state are always saved during this step.

Question: Why might the Step 3 of 7 Extracting file information... process take a long time while saving a new simple SOLIDWORKS part document?

Answer: First, consult your 3DEXPERIENCE platform administrator to confirm that the Check for file uniqueness option is active. Next, review the

3DEXPERIENCE files on This PC

tab to determine how many files exist in your local work folder. This step queries the files in your local work folder. If thousands of files exist in the cache, this procedure may take longer than expected.

Question: Why might the Step 6 of 7 Generating derived formats… process take so long?

Answer: If your 3DEXPERIENCE platform administrator created a conversion rule such as Step_AP203 with SOLIDWORKS (Synchronous, at save) for a SOLIDWORKS part and you save a SOLIDWORKS part document with many configurations, you may experience this behavior.

SOLIDWORKS needs to create a .Step file for each configuration during the save process.

Question: Are there any log files or traces that I can send to my local Technical Support Professional for troubleshooting a performance issue that relates to Step 7 of 7 Saving in [Collaborative Space…]…?

Answer: Yes. Follow steps within “How to Capture Usage Problems” from 3DS.com Knowledge Base Q&A Article QA00000103804 to gather a complete set of traces.

You may alternatively follow steps within sections “4. MySession XML Logs (Windows administrator rights required)” and “5. PLMCSA Client Logs (Windows administrator rights required)” from 3DS.com Knowledge Base Q&A Article QA00000302607 to gather the relevant traces.

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 Dassault Systèmes SOLIDWORKS Corp.