API 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.
1. Download the installer from here and unzip it.
2. Run the installer. You should see these screens:






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.

Finished! Now you are ready to create your first Custom PDMWorks Enterprise Addin using the PDMWE Addin Template.
1. Launch Visual Studio.
2. Select Create Project from the Start Page or File, New, Project from the toolbar.

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

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.

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

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

You should now be ready to go!

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!
So handy!
Hear the people in the stands chanting “Coooooope! Cooooooope!”?
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
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!
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.
Joy
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.
ABSOLUTELY AWESOME!! Now I just gotta figure out what add-in to make with it… lol… ;o)
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
Interop.EdmLib.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??
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
Christina,
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.
Jeff
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.
Awesome!!
is ther a C# version of it aswel if yes where i can download it from
thanks