Extensible CAD Technologies
SolidWorks and PDMWorks Enterprise Development Blog

A Free Template For Creating PDMWorks Enterprise Addins – It’s Automagically Delicious

Posted by at 17 July, 2008, 11:57 am

My MugshotAPI development and customization is all about automating repetitive tasks and I am sometimes amazed at how much I have been able to do over the years to make end users’ daily tasks easier to accomplish.  One place I have fallen short, however, is automating my own repetitive development tasks.  That is why decided to create a Visual Studio Template to automate the creation of PDMWorks Enterprise Addins.  This is similar to the SolidWorks Software Development Kit offered by SolidWorks for developing SolidWorks Addins.

For those of you who may not be familiar with Visual Studio Templates, they are very similar to SolidWorks Templates.    Within SolidWorks Templates, you store things like unit information, material information and dimensioning standards information.  Within Visual Studio Templates you store References, source code files (e.g. classes, modules, forms, etc…) and the like.  Hitherto, if you wished to create a custom PDMWorks Enterprise Addin, you would create a generic Visual Studio Class Library, add a reference to the PDMWorks Enterprise Type Library (i.e. EDMLib), add a class file that implements the IEdmAddIn5 interface and then add your custom code to the GetAddinInfo and OnCmd event handlers.  With the PDMWE Addin Template, all you have to do is select the PDMWE Addin template from Visual Studio’s New Project dialog.  All the files and references are added automagically.  It is ready to go and all you have to do is add your custom code to the GetAddinInfo and OnCmd event handlers.  There is already some custom code there to for your reference.  Currently, the Template is only available for Visual Basic but if some C# developer out there wants to send me a stubbed out PDMWorks Enterprise Addin written in C#, then I would be happy to package it into a Visual Studio Template.

This is going to save me a lot of time and I hope it will save you a lot of time too.  I also hope it saves SolidWorks API Support a lot of time so that they can spend more time on my Service Requests : )  I guess on one level it is not so bright of me to make this thing public as it will also save time for my competitors in the PDMWorks Enterprise API Consulting world.  It seemed like the right thing to do though considering all of the help that people have provided me with over the years.  I hope you enjoy it.  As always, if you use it, then I ask that you leave a comment with your feedback.  It is a small price to pay.


Installing The PDMWorks Enterprise Addin Template

1.        Download the installer from here and unzip it.

2.       Run the installer.  You should see these screens:

  PDWorks Enterprise Addin Template For Visual Basic

PDWorks Enterprise Addin Template For Visual Basic

PDWorks Enterprise Addin Template For Visual Basic

PDWorks Enterprise Addin Template For Visual Basic

PDWorks Enterprise Addin Template For Visual Basic

PDWorks Enterprise Addin Template For Visual Basic

Note:  The Addin Template will only be installed for the releases of Visual Studio that you have installed.  Visual Studio 2005 and 2008 are supported.  If the installation is unsuccessful, then you can follow the manual installation steps below.


PDWorks Enterprise Addin Template For Visual Basic

 Finished!  Now you are ready to create your first Custom PDMWorks Enterprise Addin using the PDMWE Addin Template.


Creating Your First Addin With The PDMWE Addin Template

1.         Launch Visual Studio. 

2.       Select Create Project from the Start Page or File, New, Project from the toolbar.

 PDWorks Enterprise Addin Template For Visual Basic


3.        Select PDMWE Addin from the New Project dialog’s Visual Basic folder.

 PDWorks Enterprise Addin Template For Visual Basic


4.        Provide a name for your new Addin and press the Ok button.


A new Addin is created for you with a functional PdmweAddin class and a reference to EDMLib.  The Addin is functional as is and may be compiled and debugged before adding any additional code if you want to try it out. 

 PDWorks Enterprise Addin Template For Visual Basic





Manual Installation Steps For A Failed Installation


1.        Go to the installation folder (C:\Program Files\Extensible CAD Technologies\PDMWE Addin Template\ is the default) and find the PDMWEAddin.zip file.

 PDWorks Enterprise Addin Template For Visual Basic


2.        Copy the PdmweAddin.zip file to your Visual Basic Project Templates Folder .  By default, this folder is located at My Documents\Visual Studio 200X\Templates\Project Templates\Visual Basic

 PDWorks Enterprise Addin Template For Visual Basic


You should now be ready to go!


Uninstalling The Template

 PDWorks Enterprise Addin Template For Visual Basic

To uninstall the PDMWE Addin Template, simply find “PDMWE Addin Template” on  Add/Remove Programs and uninstall it from there.

If you enjoyed this post, make sure you subscribe to my RSS feed!
Category : .NET | PDMWE | PDMWE API | PDMWorks Enterprise

18 Responses to “A Free Template For Creating PDMWorks Enterprise Addins – It’s Automagically Delicious”

Jeff Sweeney August 19, 2008

So handy!
Hear the people in the stands chanting “Coooooope! Cooooooope!”?

Jeff Cope August 19, 2008

Someone finally noticed the free template that took me a day to figure out (damn that Visual Studio Documentation). Oh wait. It could be sarcasm. Oh well. I don’t care. I’m just glad someone noticed the tool. It would be a shame to do all that work for nothing.

FYI – I was just getting ready to do a post that builds on your very nice selective notification tool (from your blog post) but I saw that 2009 adds that capability out of the box. Oh well. I was pretty excited about it but I guess that’s just the way it goes. SolidWorks tries to put us out of business each year by adding new functionality that we used to get to write custom programs for : )

I might do it anyways as it

Jeff Sweeney August 20, 2008

I don’t think I have ever had a routine that I have written that has lasted more than two releases before they become obsolete. :)

I have this blog on my RSS feed. I look for a new entry every day. They have been all good. I used this entry for the first time yesterday. It paid for itself already!

Joy Garon August 28, 2008

Jeff -

Excellent tool! It was a pleasure meeting you this week and I look forward to more of your cool ‘real world’ tips and information.


Jeff Cope August 28, 2008

Thanks Joy. It was a pleasure meeting you too. I hope this means you were able to get it to work on your machine too.

Christina Seay October 29, 2008

ABSOLUTELY AWESOME!! Now I just gotta figure out what add-in to make with it… lol… ;o)

Christina Seay November 6, 2008

Ok… I am sooo probably missing something totally obvious here… this is supposed to be able to run as is so we can test it.. right?

This is the first time I’ve ever tried to make an add-in, and I’m sure I’m missing something incredibly obvious, but….

I tried to import the .dll files into the “Administrate Add-Ins” in PDM Enterprise 2008… I have 2 dll files:
My Project.Resources.Designer.vb.dll

PDM takes those files without error sort of, but it tells me that

Am I using the wrong .dll files or is it something else equally as obviously wrong with what I’m doing??

Christina Seay November 6, 2008

Ok… it cut out what PDM was telling me… PDM puts it inside of arrow brackets… but it’s saying:

No add-in DLL is selected

Jeff Cope November 6, 2008


It sounds like you added the wrong dll to PDMWE. Can you send a screenshot of your addin’s binary directory? It is the directory with the compiled code (either “Bin” or “Bin\Debug” or “Bin\Release” depending on your options). In general though, you are looking for a file called PDMWEAddin.dll where PDMWEAddin is the name of the project.


Christina Seay November 6, 2008

Ok…. nevermind… figured it out… I’m using express and I can’t compile the program, but when I used the Debugger, it created the 2 dll files I needed even though the Debugger errored out because it’s a class library.


nav April 23, 2009

is ther a C# version of it aswel if yes where i can download it from


Hildur Einarsdottir June 26, 2009

I am fairly new to the API client for PDMWorks. I am trying to implement a feature for SharePoint (MOSS) that requests a search in PDMWE. Is there a pre-built add-in for the API that can do this?

Many thanks for the template for creating PDMWE addins :)

David Herbert July 14, 2009

Jeff, thanks for sharing!

Using the stock output from your template, I am running into the same issue as Christina. I am using VS2008 as the dev environment and have check that the option for TargetCPU is set for AnyCPU and Make assembly COM -Visible option is selected under Assembly Information page for the add-in.

My bin/release folder contains the following:

Selecting EnterpriseAddIn.dll via EPDM admin/Add-ins yields the same result as Christina reported. Using the debug option, the message “An invalid argument was passed to the method”.

I am running Vista Ultimate 64.

Any ideas?

Leonardo Seibt April 26, 2010


Have you a C# Addin Template for Solidworks Enterprise PDM?


Jeff Cope April 26, 2010

Hi Leonardo,
I do not have a C# addin template, unfortunately. You could create your own though just by tweaking mine to include C# code instead of Visual Basic.
Best regards,
Jeff Cope

Shabbaranks May 24, 2011

Thanks!! Ive managed to create the addin with your tool – Im just unable to load it. But at least Ive made progress – thanks again :)

Jeff Cope May 24, 2011


You probably just need to update your EPDM interop file to the 2011 version as the addin template was built using the 2008 version.

Shabbaranks May 25, 2011

Thanks Jeff – where do I get the latest interop file from? Also based on your instructions how do I position my code with the template code? My vb.net skills are purely based on questions and answers I have very little knowledge but am learning as go.

Thanks again

Generate First-Article Inspection Reports From TIF, PDF and CAD Drawing Files With InspectionXpert. Generate First-Article Inspection Reports From SolidWorks Drawing Files With InspectionXpert.