> For the complete documentation index, see [llms.txt](https://sharpsync.gitbook.io/sharpsync/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sharpsync.gitbook.io/sharpsync/data-sources/solidworks-pdm.md).

# SolidWorks PDM

SolidWorks PDM is a product by Dassault Systemes. It is typically installed on a self-hosted server and has basic support via a web API. There are 2 flavors of PDM:

* PDM Standard
* PDM Professional

{% hint style="warning" %}
The Standard version does not allow add-in customization and does not have an web API component, so SharpSync cannot support the Standard version
{% endhint %}

### Bill of Material (BOM) level features

<table><thead><tr><th width="335.0078125">Feature</th><th width="115.390625" align="center">Read</th><th width="144.890625" align="center">Create</th><th width="113.16796875" align="center">Update</th></tr></thead><tbody><tr><td>BOM hierarchy</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td align="center">N/A</td><td align="center">N/A</td></tr><tr><td>BOM meta data</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td align="center">N/A</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span>**</td></tr><tr><td>BOM quantities</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td align="center">N/A</td><td align="center">N/A</td></tr><tr><td>Component thumbnails</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td align="center">N/A</td><td align="center">N/A</td></tr><tr><td>BOM Configurations</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td align="center">N/A</td><td align="center">N/A</td></tr><tr><td>File derivative transfers (e.g. STEP, DXF)</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td align="center">N/A</td><td align="center">N/A</td></tr></tbody></table>

{% hint style="info" %}
\*\* Updates to BOM metadata are available on request. Each customer's setup is unique and requires different configuration
{% endhint %}

## SOLIDWORKS PDM Setup

The setup steps for SWPDM are as follows:

* Make the PDM Web API available to the internet
* Add the SWPDM data source
* Test the connectivity to the server
* Download and install the PDM client
* Configure the PDM client for the vault
* Configure the PDM client for the logged in user

See also Configure the add-in for testing

### Step: Make the PDM Web API available to the internet

*The PDM Web API must be accessible over the public internet.* This is required for SharpSync to be able to connect to the PDM vault.

Click [here](/sharpsync/data-sources/solidworks-pdm/setting-up-the-solidworks-pdm-web-2.md) for instructions on how to make the PDM Web API publicly available.

{% hint style="success" %}
A domain name is not required. A public IP address is sufficient.

However either of these (IP address or domain name) must be accessible from the internet.

(See Test connectivity to server)
{% endhint %}

Once the API is available, go back to the data source configuration page and click `Ping` button. Upon success the following message will be displayed:

> Name\
> Connection status: Healthy\
> Connection message: `{serverName}` is accessible from the API

Where `{serverName}` is the name of the server that is hosting the PDM Web API

<figure><img src="https://2811874215-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcO2KdHJXVWdQ1ou1L85s%2Fuploads%2Fb2cRj9YrCco5RLFb4Iww%2Fswpdm_authentication_setup.png?alt=media&amp;token=eb80e1dd-bd05-40e0-939b-e8c5a859864a" alt=""><figcaption></figcaption></figure>

### Step: Add the SWPDM Data Source

* Login on SharpSync
* Navigate to the Data Sources section
* Select SWPDM
* Click Add Data Source

Update the following settings

<table><thead><tr><th width="212">Setting</th><th>Value</th><th>Description</th></tr></thead><tbody><tr><td>Server Url</td><td><p><code>https://{myserver.com}</code></p><p>or</p><p><code>https://{myserver.com}:port</code></p></td><td>The address (including any ports) where your server may be reached on the public internet. VPNs are not supported.</td></tr><tr><td>Primary Identifier</td><td><code>Number</code></td><td>The unique identifier. Usually <code>Number</code>, but it can be any data card variable name. You can also use [filenameWithoutExtension] as a value to use the name of files</td></tr><tr><td>Alternative Identifier</td><td><code>[filenameWithoutExtension]</code></td><td>If a value for 'Number' is not found, fall back to this value. You can use this as your Primary Identifier if you wish to.</td></tr></tbody></table>

* Click the Save button.

### Step: Test connectivity to the server

* In the Data Source configuration section, select the PDM Data Source.
* After updating the server URL, make sure to click the 'Update' button.
* Click the Ping button.
* If configured correctly, SharpSync will attempt to Ping the host.
* Important: Make sure that ICMP ping is enabled for this part. If it is not, please enable it (it can be disabled again)

You're now ready to [download](/sharpsync/data-sources/solidworks-pdm/downloading-and-installing-the-add-in.md), [install ](/sharpsync/data-sources/solidworks-pdm/downloading-and-installing-the-add-in.md)and [configure ](/sharpsync/data-sources/solidworks-pdm/configure-the-add-in.md)the PDM add-in.
