US$0.00
0

Category: SOLIDWORKSPDM

PDMShell vs. PowerShell: The CAD Admin’s Guide to Engineering Automation

If you work in engineering IT or CAD administration, you’ve likely spent hours trying to make different software systems talk to each other. When searching for ways to automate these clunky processes, two tools with confusingly similar names always pop up: PowerShell and PDMShell. They sound like variations of the same thing, but they aren’t. One is a massive tool built by Microsoft for managing entire corporate networks. The other is a sharp, niche utility built by Blue Byte Systems specifically for SOLIDWORKS PDM Professional. Let’s break down what they actually do, how they differ, and why you might end up using both. The easiest way to understand the difference is by looking at what they were built to control. PowerShell is for your entire operating system and cloud environment. PDMShell is strictly for your SOLIDWORKS PDM vault. Feature PowerShell PDMShell What does it control? Windows, cloud servers, and networks SOLIDWORKS PDM vaults only Who made it? Microsoft Blue Byte Systems Inc. How do you use it? Advanced programming (.NET objects) Simple text scripts (.pdmshell) Who is it for? IT Admins and DevOps Engineers CAD Admins and Data Managers How do you get it? Built right into Windows Download from pdmshell.com PowerShell is Microsoft’s heavy-duty automation framework. It is incredibly powerful because it doesn’t just read plain text; it understands actual data objects. If an IT admin needs to create 50 new user accounts in Active Directory, back up a server to the cloud, or update software registry keys across an entire department, they use PowerShell. The downside? It has a steep learning curve. Because it is a full programming language tied to Microsoft’s .NET framework, you need a decent grasp of coding logic and complex syntax to get anything done. PDMShell: The SOLIDWORKS Short-Cut. If you’ve ever tried to customize SOLIDWORKS PDM, you know that interacting with its API usually requires writing complex C# or VB.NET code in Visual Studio. For a CAD manager who just wants to get a job done, this is often overkill. That is why Blue Byte Systems built PDMShell. It acts as a friendly middleman for the complex PDM API. Instead of writing lines of heavy code, you write simple text scripts using straightforward, built-in commands like checkout, checkin, or addtovault. It plugs right into your existing PDM Tasks and Dispatch actions, letting you automate boring vault tasks without needing a degree in software engineering.

Read More »

Automate Weekly SOLIDWORKS PDM Check-Ins with PDMShell and Windows Task Scheduler

This article explains how to use PDMShell with Windows Task Scheduler to automatically check in files from a SOLIDWORKS PDM vault folder on a weekly schedule. PDMShell is a command-line tool for SOLIDWORKS PDM that allows administrator to run PDM operations from scripts. By combining PDMShell with Windows Task Scheduler, you can automate recurring PDM tasks such as logging in to a vault, navigating to a folder, searching for files, and checking in files. Before setting this up, make sure PDMShell is installed on the computer that will run the scheduled task. The computer must also have a local PDM vault view, and the Windows account running the task must have access to that vault view. The same user must also have permission to check in the files. In most SOLIDWORKS PDM environments, a user can only check in files that are checked out by that same user. If the files are checked out by another user, the scheduled task will not be able to check them in unless you have a controlled administrative process in place. Click on the Open button then click on Browse PDMShell.com scripts… Download the script called Check In All Files: When the download completes, please click Yes to confirm this dialog: PDMShell will load the downloaded script in the Visual Editor: If you click on the check-in box, you will the parameters of the command. In this instance, the command does a search for all checked out files recursively and check them into the vault. The check options configure the check-in operation.The script will eventually terminate the PDMShell application when done through the Exit PDMShell action: Before scheduling the script, test it manually from Command Prompt: Update the path to pdmcli.exe if PDMShell is installed in a different location. Once the script works manually, open Windows Task Scheduler and create a new task. On the General tab, use a name such as: Select the option to run whether the user is logged on or not. Also enable the option to run with highest privileges. The task should run under the same Windows account that has access to the vault view and owns the checked-out files. On the Triggers tab, create a weekly trigger. For example, you can run the task every Friday at 6:00 PM. On the Actions tab, create a new action using Start a program. Program/script: Add arguments: Start in: On the Conditions tab, review the power and network options. If the task runs on a workstation, make sure the machine is online and connected to the PDM archive server when the task starts. On the Settings tab, it is recommended to allow the task to be run on demand, run the task as soon as possible after a scheduled start is missed, stop the task if it runs longer than a reasonable time, and prevent a new instance from starting if the task is already running. For production usage, keep the script focused on a controlled folder instead of running it against the entire vault. For example: PDMShell and Windows Task Scheduler provide a simple way to automate recurring SOLIDWORKS PDM maintenance tasks. For production environments, always test the script on a small folder first and make sure the scheduled task runs under the correct Windows and PDM user. Few considerations:

Read More »

How to Safely Delete a Vault in SOLIDWORKS PDM (Step-by-Step)

Deleting a vault in SOLIDWORKS PDM is a destructive and irreversible operation. It removes the vault definition from the archive server and permanently deletes the associated database. This post walks through the correct order of operations, common prompts you’ll see, and the most frequent error that blocks vault removal.

Read More »

Automating Bill of Materials Extraction in SOLIDWORKS PDM Using the PDMShell BOM Command

Ride of the Valkyries Alert 🎼 — Don’t listen if you don’t enjoy Wagner. When you are managing complex assemblies inside SOLIDWORKS PDM, generating a bill of materials (BOM) is a routine task, but i’s also one of the most repetitive. This is exactly where the PDMShell BOM command becomes invaluable, eliminating manual exports and saving your from those small tasks quitely eat away engineering hours across large teams. PDMShell solves this problem with a simple but extremely powerful tool: the BOMCommand. The BOMCommand extracts a Bill of Materials directly from a SOLIDWORKS file in the PDM vault and exports it as a clean CSV file. It removes all manual steps by providing a scriptable way to generate BOMs using batch jobs, scheduled tasks, or command-line workflows. If you’ve ever needed fully automated downstream manufacturing data, ERP integrations, or repeatable export pipelines, this command is designed for exactly that.

Read More »

PowerShell PDMShell Search Command: Complete Guide for SOLIDWORKS PDM Administrators

PDMShell gives SOLIDWORKS PDM administrators the ability to run precise, scriptable, and automated operations across large sets of files, and the PowerShell PDMShell search command is at the center of that capability. One of its most powerful features is the unified search syntax unlocks a completely different level of control over your PDM vault. Consider the following search command: At first glance, it may appear complicated, but every element serves a clear purpose and is easy to understand once broken down. Name=%.sldprt This filter targets all part files (SLDPRT) using a wildcard pattern.The use of % allows flexible pattern matching, returning any file that ends with .sldprt regardless of prefix or naming convention. Recursive=true This instructs PDMShell to search not only the current folder, but all subfolders beneath it.This is especially important for large vaults, deep project structures, or multi-level assemblies. @Document Number~143 This uses a variable-based search.PDMShell looks up the PDM variable named “Document Number” and applies a contains (~) comparison against the value 143. Variable search supports all standard comparison operators, including equals, greater than, less than, contains, and more. What makes this system so powerful is that the same search filter can be passed into a wide range of PDMShell commands. You write the search once, and then apply it to whatever action you need to perform. Below are the PDMShell commands that fully support the -search parameter, along with direct documentation links: Version Control frogleap (increment, decrement, or manage versions)https://pdmshell.com/src/FROGLEAP.html Bulk Variable Updates setvar (update PDM variables in bulk)https://pdmshell.com/src/SETVAR.html File Removal delete (soft-delete matching files)https://pdmshell.com/src/DELETE.htmldestroy (permanently remove matching files)https://pdmshell.com/src/DESTORY.html Local Cache Retrieval get (retrieve files to local cache)https://pdmshell.com/src/GET.html Publishing and Exporting export (PDF, DXF, STEP, and custom publishing)https://pdmshell.com/src/export.html SOLIDWORKS Automation runswmacro (open SOLIDWORKS and execute a macro on each file)https://pdmshell.com/src/runswmacro.html File State Management checkouthttps://pdmshell.com/src/CHECKOUT.htmlcheckinhttps://pdmshell.com/src/CHECKIN.html If you would like more examples, additional documentation, or help building automated workflows, reach out anytime.

Read More »

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: 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: 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: IEdmVault5IEdmFile5IEdmFolder5 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: 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 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: IEdmFolder5IEdmFile5IEdmBatchGetIEdmBatchUpdateIEdmEnumeratorVariable5 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 InsRuns 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 TasksAutomate 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 UtilitiesStandalone 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

Read More »
0
    0
    Your Cart
    Your cart is emptyReturn to Shop