Automating Transfer of SmarTeam Vault Data

With every upgrade to ENOVIA SmarTeam (not to mention upgrades to CAD, Office and database platforms) there’s no question about the benefits of building a test environment for validation prior to a production roll-out.  An important piece of building a test environment is a properly configured test vault.  Quite often, a successful test doesn’t require a complete copy of the entire production vault, so let’s take a look at a simple process to copy specific files from a production system to a test environment on demand.  Continue Reading

Auto-Incrementing Build Numbers in Visual Studio.NET

Every Windows executable binary file (EXE, DLL, etc) has a version consisting of the following elements and format: Major.Minor.Build.Revision.  To many software users, this is just a random string of numbers.  For those that develop and deploy software though, this version information is important, even crucial in troubleshooting situations.  Have you ever wondered how the version is controlled or set, and how you can manage the version in your own Visual Studio projects?  Continue Reading

EPDM Dispatch for File Renaming

SolidWorks’ Enterprise PDM (EPDM) system contains what some might call a “poor man’s API” known as the Dispatch Tool.  The Dispatch Tool allows non-programmers (those who don’t write formal code in Visual Studio.NET) to create basic programs, scripts, and functions within EPDM without having to learn a programming language.  The tool is limited in functionality of course and is a procedural language, but it does provide a lot of ways to manipulate data inside EPDM.  This article highlights the capabilities of the Dispatch Tool through an example that renames a file with the information contained on the file’s Data Card.  Sample code for this example is provided.  Continue Reading

Registering DLLs and EXEs Manually

Have you ever run across a “File name or class name not found during OLE Automation operation” error message, like this?

Error - OLE Automation Dialog

Hopefully it was not right after rolling out a customization to all of your users.  The bad news?  Windows didn’t recognize a class library that the application (or script) was calling.  The good news?  It might not be as bad as it looks.  There is a decent chance that everything is OK with your application with one small exception; one or more key files are improperly registered (or not registered at all).  This article will describe how to manually register some of these key file types (like DLLs) to address this issue.  Continue Reading

Dynamic Assignment in SmarTeam Workflow API

Simple Flowchart Drawing with HandSmarTeam Workflow’s API engine offers tremendous flexibility for manipulating processes on-the-fly.  The object model, and the combination of nodes, users, and events make it easy to perform fairly advanced operations with workflow.  As an example, let’s use the API to dynamically assign a user to a node based on their participation earlier in the workflow.  Continue Reading

Finding Duplicates in SQL

Database SchemaSo you know enough about SQL syntax to be dangerous (read this if you don’t), but some of the finer points of the database language have escaped you.  Well, let’s take a look at a common database need (this comes up very frequently in PDM system migrations); identifying duplicates.  Continue Reading

Object-Oriented Programming Benefits

As the name implies, Object-Oriented Programming (OOP) is a development methodology centered on “objects” and data rather than “procedures” and logic.  Object-oriented applications are collections of objects; each object is a self-sufficient module containing all the data and logic necessary to manipulate its own data structure.  This differs from the conventional procedural-based methodology in which functionality is exposed as a list of logical tasks and/or subroutines that accept and return data.  Continue Reading