US$0.00
0

A Practical Guide to the SOLIDWORKS PDM API in 2026

The SOLIDWORKS PDM API is one of the most capable developer tools in the SOLIDWORKS ecosystem. It is built as a Windows COM object library. This architecture provides very deep access to the vault, workflows, variables, and the entire PDM client environment.

Many developers expect a modern HTTP interface similar to typical cloud APIs. The PDM API works differently. It is stateful, local, and tightly integrated with the Windows process that runs the PDM client.

A good place to start with the SOLIDWORKS PDM API is the official documentation. Most API calls have examples in C#, VB.NET and VBA.

A COM Object Model, Not a REST API

Since the PDM API is COM-based, your application (If it is a .NET application) interacts with DLLs that are registered in Windows:

SOLIDWORKS PDM API and The Primary Interop Assemblies (PIAs) are the compiled .NET references that allow you to communicate with the PDM client. They are the compiled version of the PDM API.
The Primary Interop Assemblies (PIAs) are the compiled .NET references that allow you to communicate with the PDM client. They are the compiled version of the PDM API.

From the context of VBA macros, the references are slightly different. When you install the PDM client, a reference called PDMWorks Enterprise XXXX Type Library is installed for you:

Screenshot of the Microsoft Visual Basic for Applications (VBA) editor displaying the "Hello_Vault1 [Code]" project. The Project Explorer pane on the left shows the project structure with modules and SOLIDWORKS object references. The main code window, in dark theme, contains the subroutine "Sub main()" with three lines: "Set swApp = Application.SldWorks", "Set swFrame = swApp.frame()", and "handle = swFrame.GetHwnd". Overlaid in the center is the "References - Hello_Vault1" dialog box listing checked libraries, including Visual Basic for Applications, OLE Automation, SOLIDWORKS 2024 Type Library, SOLIDWORKS 2024 Constant Type Library, SOLIDWORKS 2024 Commands Type Library, and SOLIDWORKS Utilities 2024 Type Library (highlighted in blue), along with PDMWorks Enterprise 2024 Type Library. The dialog shows the file path "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS 2024\SC" and includes OK, Cancel, Browse, and Priority controls. The setup demonstrates configuring a VBA macro to interact with SOLIDWORKS and PDM (vault) through API references.



There are no HTTP requests, no token-based authentication, no JSON data formats, and no web callbacks. You communicate directly with PDM using COM interfaces such as:

IEdmVault5
IEdmFile5
IEdmFolder5

This gives developers immediate, high-performance access to metadata, folders, variables, references, and workflow information. Because the calls happen inside the PDM client session, they can respond instantly to events such as check-in, state change, add file, add folder, or card interactions.

Which Programming Languages Work With the SOLIDWORKS PDM API

Any language that supports COM interop can be used. The most common today are:

  • VBA inside SOLIDWORKS
  • NET:
    • VB.NET
    • C#
  • C++
  • PowerShell through COM interop

Python can also be used, but only through external COM wrappers.

Simple VBA Macro to Log Into a Vault

Below is a simple VBA example that connects to a PDM Professional vault. This can be used inside a SOLIDWORKS macro or Excel macro.

This is the most basic example but it shows how COM objects are created and used.

PDM Convert Task

Screenshot of the SOLIDWORKS PDM Add-ins management dialog in the administration tool, logged in as user "AssemBlagieddon (admin)". The left pane displays a tree view under "Add-ins" with multiple entries from Blue Byte Systems Inc., such as PDM2Excel, PDMDeploy, PDMMonday, PDMPublisher, PDMReminder, and RevisionSync. The "SWTaskAddin - 32050050 (SolidWorks Corporation)" entry, developed by Blue Byte Systems Inc., is highlighted with a red border. The right pane shows details for this selected add-in: Name "SOLIDWORKS Task Add-in", Company "SolidWorks Corporation", Add-in version "32050050", Requires version blank, Package "SWTaskAddin.CAF", and Description "Add-in used to run custom SOLIDWORKS macros". Tabs at the top include "Summary" (active), "Files", and "History". Buttons at the bottom are "OK", "Cancel", and "Help". The interface demonstrates selecting and viewing properties of the official SOLIDWORKS Task Add-in within the PDM environment.
SOLIDWORKS Task Add-in
Screenshot of the "New Task - Properties" dialog in SOLIDWORKS PDM, showing the "Script" tab for configuring a file conversion task. The left pane highlights the "Script" section under "New Task" with a green checkmark. The main area displays a VBA script editor containing code to execute in SOLIDWORKS, including: Dim swApp As Object, On Error GoTo Fail:, Set FileSystemObj = CreateObject("Scripting.FileSystemObject"), docFileName = "<Filepath>", Get SW interface object, Set swApp = Application.SldWorks, swApp.Visible = True, Convert docFileName, and an error-handling "Fail" block that logs conversion errors with Err.Number and Err.Description. Below the script are dropdowns: "SOLIDWORKS version to use" set to "<Use default>" and "Task user interface type" set to "File Conversion". Buttons at the bottom include "Insert Macro >", "< Back", "Next >", "OK", "Cancel", and "Help". The interface is used to define a PDM task that automates document conversion using a VBA macro in SOLIDWORKS.
A task based on the SOLIDWORKS Task Add-in

PDM ships with the SOLIDWORKS Task Add-in. This add-in can be used to create tasks (Scripts that run on the user’s machine or delegated to other computers on the network). These tasks have scripting pages where administrators can add/edit the VBA logic of the task.

These types of scripts are commonly used in PDM tasks that generate PDF, DXF, or STEP documents.

Developing With C# in .NET

Most modern PDM development is done in C#. To use the PDM API, reference the assemblies mentioned above. A simple C# example to log into a vault looks like this:

From there, developers typically work with interfaces like:

IEdmFolder5
IEdmFile5
IEdmBatchGet
IEdmBatchUpdate
IEdmEnumeratorVariable5

These provide almost complete access to files, references, variables, and metadata.

Types of Applications You Can Build

Developers use the PDM API to create many types of solutions. The most common categories are shown below.

PDM Add Ins
Runs directly inside the PDM client. Best for deep automations like revision control logic, approval logic, or multi-file processing. A great example of this is our free column set customizer.
PDM Tasks
Automate file conversion, data extraction, printing, publishing, or scripted actions. Tasks run inside a controlled environment and support COM, .NET, and native add-ins. PDMPublisher, a Blue Byte Systems Inc product, is another example.
Desktop Utilities
Standalone EXE tools that use IEdmVault5 to log in and perform batch actions such as metadata cleanup or migration. Check out PDMShell: our data management solution inside of SOLIDWORKS PDM.

Learn the PDM API in Three Days With Blue Byte Systems

If you want to master the PDM API quickly, Blue Byte Systems offers a hands-on three-day training course that covers the full API stack. You learn how to build real add-ins, tasks, macros, workflow hooks, batch tools, and event-driven automations. The course walks you through live examples and real vault scenarios so you can apply everything immediately in your environment. If you or your team would like details, you can reach out directly at amen@bluebyte.biz

Get our free 50 PDM API Tips and Tricks eBook
Get our free 50 PDM API Tips and Tricks eBook

Author

Amen Jlili

Amen Jlili is the founder and technical director of Blue Byte Systems Inc., a software company in Vancouver, Canada, specializing in automating SOLIDWORKS and PDM. With over a decade of experience, he has authored several courses and open-source frameworks related to the SOLIDWORKS API. His leadership ensures that Blue Byte Systems prioritizes customer satisfaction and delivers high-quality software and CAD design solutions.
0
    0
    Your Cart
    Your cart is emptyReturn to Shop
    ×