Enterprise PDM Convert Tree Tweak

Exports out of Enterprise PDM are a common requirement to ensure outside parties are supplied with up-to-date drawings and models for manufacturing and design reviews.  To address this requirement, EPDM added Tasks a few releases ago, allowing a network on connected machines running SolidWorks to perform these tasks easily.   SolidWorks provides the "SWTaskAddin" which enables the common tasks of Converting and Printing documents out of SolidWorks.

There is one major difference between these two tasks besides the fact that one converts files into another format and the other prints them; selecting references.  Baked into the Print task is an option to "Auto-select" files within the reference tree including:

- None

- All drawings

- Parts and sub-assemblies only

- All parts, sub-assemblies, and drawing.

This feature is not part of the Convert task and is commonly requested for creating an export package.  Since this is a current limitation of the SWTaskAddin the only real option was to use the API and build a new task addin that displays that similar reference prompt.  I recently started building this addin and realized how much duplication would be needed just to get this one option so I decided to fiddle first!

Since the SWTaskAddin stores the task settings in the database, it is easy to trick the task to run the UI of one and execute the other.  Here is how you can get the convert task to prompt for references without coding an addin. Before I show the steps there are a few assumptions you have to first understand.

1. The tweaked task cannot have user interactions so you must "Set-it and Forget-it".

2. The reference prompt shows some print options that need to be ignored.

3. I am unsure how resilient this will be to upgrade and or patches (although it should be fine).

Convert Task with References Workaround:

1. Create a conversion task and set all the options like type, location, options etc. (Make sure all options are set to NOT allow users to change since that is part of the Convert UI).

2. Under "Output File Details", click on "Advanced Scripting Options..." and COPY all the highlighted text.

3. Click "OK" to save the task.

4. Reopen the task go back to "Output File Details", click again on "Advanced Scripting Options..." and switch the "Task user interface type:" from "Convert" to "Print".  You will get a prompt to close and reopen the task to let the settings to be loaded.

5. Reopen that task and now go to "Files", click on "Advanced Scripting Options..." removed the highlighted text and PASTE in the script you copied from the task when it was in "Convert" UI.

6. Click "OK" to save the task.

By starting the task as a Convert, all the settings of the convert task are saved into the database after we hit OK. When we go back into the task and switch it to a Print task, all the settings are still stored in the database from the Convert but we have now told the task to show the Print UI.  Replacing the Print task advanced scripting with that of the Convert task allows the print task to execute, using the settings in the database and displaying the reference screen we want from the Print task.

Although I enjoy coding add-ins for this tool, avoiding a lot of duplicate work and staying within the bounds of an out-of-the-box install is always the goal.  Despite the limitations of interaction and the print related interface options, the tweak gets the job done. Enjoy! ~Lou

SolidWorks PDS? Connect?...No n!Fuze

It appears that some of the cats will be let out of the bag before SolidWorks World 2011 even starts.  Today on the SolidWorks Blog they announced the final name of the debuted SaaS offering from SolidWorks World 2010 called SolidWorks n!Fuze.  This product was initially named "SolidWorks PDS" which stood for Product Data Sharing and then around summer time it was referred to as "SolidWorks Connect".

This new offering, which is to go into a full public beta in a few weeks, will finally bring a web-based version controlled repository that allows sharing and collaboration of SolidWorks files.  n!Fuze appears to offer two experiences to those that utilize the service:

1. A Task Pane UI in SolidWorks

2. A website UI with "Workspaces" or projects

The service had been explained to offer version control, similar to Google Docs, so every upload of the same name would keep the previous versions for access.  There was also mention of a mobile strategy at SWW10 of which there is no evidence as of yet.  There is a "Treehouse" like UI as well to display the associativity tree of SolidWorks assemblies that looks very cool.

SolidWorks will be showing off n!Fuze at the SolidWorks Booth here in San Antonio in the Partner Pavillion but if you want to join the public beta, you can send your name, company and contact informatoin to "nFuzeBeta@solidworks.com" and you will be contacted with details and instructions when beta opens.  

If you are at SolidWorks World 2011, you can check out the breakout session in the Partner Pavillion (theater) on January 245, 2011 at 4:30pm.  They are also offering a hands on session as well in Room 216AB on both January 24 & 25 at 2:45pm.

I am sure they will be talking about it in one of the general sessions so stay tuned for more details as the conference begins! ~Lou

PDM State vs. Venue Securities

Last week I held a webinar about the differences between location vs. state-based permissions of files to outline some of the fundamental issues with associative CAD data control.  Many companies today still manage shared data within their network infrastructure, which is controlled by IT's group policy. This means that the IT department has to be advised to set a specified, static hierarchy of access for folders in order to control who can change/overwrite controlled data.  

For example, files that have been "approved" and are now released for manufacturing are physically relocated to a "Released" folder by specified parties whom have been given "rights" in order to ensure lockdown.  This process of moving data was trivial in the days of flat files like Word, Excel and simple 2D/3D CAD.  However in today's associative design world, files are no longer flat and, in fact, can be referenced in a complex parametric framework.  This "network" of connectivity is CAD's greatest strength and weakness when it comes to updating and controlling the data.

The "Save As" Conundrum:

In the flat file days, a slight modification to a document/drawing was as easy as a File, Save As, renaming the file and editing it to reflect the changes.  This procedure is still very common and has bitten every single parametric CAD user since the complexity of references in now in play.  What was a trivial copy and rename procedure now only changes the name to which the existing references point to and modifications to sub-components or in-context features are now reflected to all associated parties.  I wrote a post about PDM: The Conduit to CAD Efficiency to highlight how essential it has become to incorporate PDM into the design process when using a tool like SolidWorks.

Network Move & Copy/Delete Loss:

Another flaw that can come with having to change a file's venue is the issue of move/copy when working with files on a network drive.  Despite backups and the ability to have a network recycle bin, users often are unaware that performing a "Copy" is far safer than a "Move" especially in the event that a connection issue arrises causing a corruption or loss of files.  This, I'm sure, has happened to more than would like to admit.  Loss is not completely avoided by the copy vs. move either since most whom perform a copy will go back and delete the original, keeping the only the copy in the new locked down folder.  This system of changing venue is littered with pitfalls and procedural failure resulting in possible file loss and/or corruption.

Procedural Control:

Regardless how the physical data is controlled, company procedure typically dictates the "who/what/where and when" of design data.  Companies attempt to mimic their internal procedure with folder structure and due to the static nature of securities on folders, file venue must be changed in order to carry out the design data's "Rules of Engagement".  What is desired is a way to have folder permissions modify based on the stage of design the current file is at.

PDM Control Environment:

Among the many capabilities most PDM (Product Document Management) systems bring like automatic version/revisioning, serial numbers, notifications, etc, a new layer of security is also present and can parallel the folder-based control similar to that enforced by IT's group policy called "States".  States are part of a procedural flow chart that allow securities to stay dynamic and follow the design process without the need of a venue change.  

Removing the need to move files to modify security facilitates other aspects of procedural policy to be carried out. For example, staging a common folder layout for every project (Mechanical, Electrical, Software, Documents) without having to create folders for every revision and/or state.  It also removes some, not all, the potential human error that comes from moving and deleting files on the network.

It is important to note that state and folder controls are not mutually exclusive and can be used together within the PDM environment.  In fact, moving or renaming files inside PDM is recorded and maintains all those references without abandoning or overwriting previous changes. The overhead of file management is a huge productivity drain on every engineer and automating foundation access and control avoids these file-centric problems that surface in everyday design.

One of the biggest mistakes I see customers do when implementing a PDM system is to simply move the exact same folder structure and securities off their network drives and go on "business-as-usual" inside the vault, moving files to control access.  So stop being file groomers and let states-based securities assist in part of the process! ~Lou

SkyDrive, and WebDAV, and Explorer, OH MY!

Microsoft SkyDrive, a free 25GB cloud storage offering in the Windows Live suite, has two major issues when it comes to mass user adoption:

  1. The file size limit is 50MB per file
  2. No direct integration inside Windows Explorer

Although the 50MB file limit is still a controlling factor, the ability to integrate it into Windows Explorer has finally made it to the scene. There are some third party solutions (Gladinet and SD Explorer) but they come at a price and act as middleware between Windows and your hosted storage.

With the release of Microsoft Office 2010, many beta-testers and early adopters have noticed in the new File Menu (Backstage View) a new option under "Save & Send" called Save to Web.  This new option allows a user to enter their Windows Live ID and connect directly to the SkyDrive storage, revealing the WebDAV address.  This address can then be copied from the "Save As" dialog and used to map a drive to your computer.

With SkyDrive now mapped locally, all of your applications are able to access and save directly to it (as long as your files are smaller than 50MB each!)  There are reports that Microsoft is working on integrating SkyDrive into Windows, along with other offerings within their web strategy (Mesh, Windows Live, Azure).

For detailed instructions on acquiring the WebDAV address from Microsoft Office 2010, visit Paul Thurrott's Supersite for Windows article.  Paul details out a few aspects of other third party tools and how to map SkyDrive and link your Windows 7 login to with your Windows Live ID. 

For those of you who do not have Office 2010 and want to still map to your SkyDrive, you can go to Mike Plate's article who wrote a little application to uncover the WebDAV address directly.  I actually tried it out and it works great!  If you want to avoid the install of his "SkyDrive Simple Viewer" you can build the address from the URL in your browser's address bar once you are logged into SkyDrive by following the steps in this post on the Live community.

This is a lot of free storage and as CAD users we are always looking for ways to store data.  I hope to see Microsoft remove the 50MB file limit since that is easy to breach when working with parametric data! ~Lou

Pushing EPDM Metadata Into Forms

A huge piece of managing documents inside of a PDM system revolve around the pieces of data called metadata.  Metadata, in general, refers to the attached bits of intel about that file that the vault creators have determined important for tracking and search, among other reasons.  These "bits" are also referred to as file properties, variables, attributes, etc., depending in what context or application this data is created.

Enterprise PDM, for example, calls metadata "Variables",  SolidWorks refers to it as "File Properties" , and "Attributes" within AutoCAD.  Metadata can be found in many states: public, private, read-only, editable and is considered the nervous system of any document management tool.  

Enterprise PDM reads this data, regardless of form, and allows it to be organized in a file card.  EPDM Cards are  the way of presenting this metadata to the user for entry, edit, review, and organization. Whether the user inputs the data into File Properties in SolidWorks or enters the values within EPDM, that data is now an integral part of the EPDM system.  

Since this metadata contains the most critical information about the document, it is not uncommon to require it to be displayed in the document itself.  In SolidWorks users do this by adding a placeholder that reads the File Properties which populates the title block but what about a form?  Access to this information is built into most Windows files and, more importantly, Microsoft Office documents. Here are the steps to pull the EPDM metadata (Variables) into a Microsoft Office document: (Instructions for 2007 but will work the same with other versions)

  1. Open the form (Word, Excel, Powerpoint, etc.) hit the "Office Button" (upper left)
  2. Click on "Prepare", Properties
  3. Click the "Document Properties" pulldown and Advanced Properties.
  4. Go to the "Custom" tab and add the properties to pull into the document (The default list might not include them so typing in the name and value will add them to the list below) when finished, hit OK.
  5. In the form, place the cursor where the property is to be mapped then hit Insert, Quick Parts, Field..
  6. Select Field "DocProperty"(left) which will reveal the document's file properties added in Step 4 
  7. Repeat steps 5 & 6 for other properties in the form.
  8. In EPDM, ensure that each Variable has a Block called "CustomProperty" with an attribute name matching the file property name added back in Step 4.  Also make sure the file extension list includes the proper extensions separated by a comma. (doc, docx for Word, xls, xlsx for Excel, etc.)

Once these are mapped, the current variables will map into the form immediately however these are updated manually after the initial mapping by selecting the field and hitting F9.  This can be automated upon open with a little macro that can be found in the Administration Guide.  Here is how to add it:

  1. Start Word/Excel, etc.
  2. Click on the View tab, Macros, View Macros
  3. For the Macro name type: AutoOpen then click Create
  4. Once the Code window opens, place the below code in between the Sub AutoOpen() and the End Sub 
Dim aStory As Range
Dim aField As Field
For Each aStory In ActiveDocument.StoryRanges
For Each aField In aStory.Fields
Next aField
Next aStory

Now when the metadata is filled out in the EPDM file card and the document is checked in, these variables are written into the documents file properties and pulled into the document automatically when it is opened.  This should remove another step in duplicate data entry and propagate the important metadata from one central location.  ~Lou 

The Definition of Backup

How do you define backup? Do you consider backup to be data redundancy or are you more in the camp that backup is disaster recovery? Maybe both? Much of our daily lives are stored in 0's and 1's especially our engineering data however how many of us are actually responsible for making sure our engineering data is safe? The common response seems to be "Oh, that is IT's job!"

Talking with engineers, many are aware that the hard disk on their computer will fail at some point but none of them know exactly when. All of us can probably remember times in our past when a HDD failed and the pain it caused and the pain potential is growing with every year that passes.  Look how much more data we generate with our computers today than we did just 5 years ago. 
The statistics are alarming no matter where you find them. Although most of the numbers vary, the ranges seem to be similar. Here is what I found:
  • ~ 4 - 6% of users actually back up their data
  • ~ 30% of business do not check or test their backups
  • ~ 75% of business that do check backups find backup failures = NO BACKUPS!
  • ~ 30% of computers will lose data due to event beyond their control
  • ~ 90% of data backed up is within the same building as the original data.
This list goes on and on with all types of statistics depending on the sources and year the statistics were collected. The trend is if you don't backup it is not a question of "IF", it is a question of "WHEN"! Many understand the impact personally when they lose photos or precious memories of their family but how does that apply to business or better yet, your engineering data? Well the impact can be devastating to a business, especially when the data contains all the lifeblood of the company. For companies that design products, the CAD data is crucial and it's backup methods should be viewed as important as the data itself. For engineers, a loss of their CAD data would obviously push out their completion date but may also crush their ingenuity and innovation drive.
Typically most companies using data servers or even PDM will be running those servers on a RAID configuration, bringing local redundancy to the data.  This is always my recommendation, however data simply being redundant is not "backup" until it resides in another location as well. Whether a big corporation or a single contractor, data backup can be done online, in the cloud with a few interesting services without physical copies being sent to an off-site storage facility.
Here are a few that I have looked at:
Many of these have been evaluated in depth by PC Magazine and most of these solutions have a free model with a few GB of storage, a personal plan and then a business option.  All of these have a "Set it and forget it" mode where you can point the local application to folders you want backed up and they will be copied up to the cloud automatically.  
Personally I wanted to make sure my selection would be with a company I felt confident would be around for the long haul and not have to worry about my "secure data" disappearing because the company went belly up. I currently use the Amazon S3 service which is not an unlimited, flat fee service but I use it with a $20 program called JungleDisk which is the client interface that automates the backups to S3 automatically. I chose this for my own use due to the AMAZON name as well as the costs associated (pay for use).  One of the most compelling offerings has been Microsoft's with a big focus on cloud computing services. SkyDrive is a free service and is offering 25GB of online storage for free! So that may be a great place to start looking.

These type of services are popping up all over the Net and can give great automatic backup of your local data quickly. The trick is to actually do it! The days of having physical copies of our designs are behind us and all of what we design is now electronic. Much of our in-process design work is stored on our local machines outside of our company's infrastructure and backup loops so that data is susceptible to loss. Take the opportunity to make sure your data is safe where ever it is (local machine, network drives, etc) and make a copy somewhere you can't walk to in 1 minute to ensure that your mind is free of worry and can focus on innovation! ~Lou

Where's my 3D Standard?

As CAD products mature they all tend to “give in” to using a format standard in order to move CAD technology forward in the industry. Back when 2D was the standard, there were tools all over the industry that would create electronic drawings but communicating it was still mainly done on paper. As other post design tools came to the forefront, like CAM, reading the CAD file was key to leveraging the design process to avoid “rebuilding” designs from scratch. Enter DXF (Drawing Exchange Format), developed by Autodesk, which became a common 2D output from many CAD programs.

Technology pushes forward into the early 3D days where parametric tools were not standard yet and the list of CAD platforms expands, bringing even more file formats into the game. Being a long time user of CADKey, the best 3D wireframe modeler of it’s time ;-), featureless 3D modeling was useful but time consuming and allowing the capability of viewing or sharing of this data needed a format standard. In those days I was using formats like ACIS, IGES (or “I Guess”) and STEP to name a few. These formats were read by many CAD platforms and would facilitate your typical fit, form and function requirements. These were featureless models but so were the CAD tools used to create them so the translated geometry was essentially the same as the original.

Today the industry has many CAD tools, many with extremely robust capabilities and this “bridge” to post design tools has not changed much since then.  Many users still import/export ACIS, IGES, STEP or Parasolid formats to other systems, however the need for feature-based models seems to be in high demand. Currently many systems rely on internal tools that can recognize some features however this translation is typically done from one side of the fence. This approach, although functional, tends to be inherently out of date or limited, resulting in ad-hoc models or inaccurate geometry reproduction. With various technologies to reverse engineer the feature tree on both CAD and CAM platforms, this seems to be evidence the market is ready for a format standard.
Imagine if there was a feature-based 3D model standard that could be imported/exported out of most 3D parametric tools. Obviously this “standard” would not be able to export every complex feature especially considering most complex features today are not currently recognized.  However, if this “3DSTD” file could translate the most common features like Extrudes, Cuts, Fillets, Revolves, Sweeps, Lofts, Sheet metal, etc. this would be a huge first step to true inter-interoperability in the industry. Various platforms could adopt this standard for both import and export, allowing clean transitions between tool sets.
Proprietary file formats are the DRM (Digital Rights Management) of the CAD industry. DRM is used in the Entertainment industry (Music and Movies) to prevent piracy. The problem with DRM is it tends to get in the way of the end user who leagally purchased the content and forces them to find a way to use it the way they want to or need to. In design, we use tools (CAD, CAM, CAE, etc) to get our ideas to market and sometimes this process requires a variety of tools. Interoperability through a 3D feature-based standard could inspire innovation and allow everyone in product developement to focus on the design and not the tools they use. ~Lou

Copy PDMWorks Workgroup Projects To Another Vault

PDMWWSolidWorks has included a few nice tools to assist in export existing data from one PDMWorks Workgroup vault and importing into another. These tools are located in the install directory for PDMWorks Workgroup .

pdmwexport.exe - When launched, this tool will prompt for login and then display all the projects in the vault for export. You simply check the projects you want to export and click "Go". This will create a file called "export.pdmw" in the PDMW vault folder (server side) under the "PDMRC" folder. This file contains all the information about the project structure, user accounts, credentials, revision scheme, lifecycle and file properties.

pdmwimport.exe -This tool would then be launched on the destination system where the target PDMWorks Workgroup vault resides. It will also prompt to log into the target vault and then point to the source vault folder.

Once this is selected you will receive a import summary of what was found on the source. This summary is where you will also be warned if there are any potential issues or mismatched revision schemes/lifecycles between the two vaults.


Along the left side you can select your projects, which users to bring over, as well as property mappings from the source vault. You do have options to only bring over only the latest revision and some overwriting options as well. These utilities are very useful when first implementing PDMWorks Workgroup since you want to first create a demo vault to test inside and once your revisions and lifecycle work correctly, you could then export out the projects you want to contiune to use in your production vault. ~Lou

Changing The SolidWorks Toolbox Flag

I have talked about this tool before in the podcast but I thought I would take the opportunity to show the interface of this little data utility in order to bring a level of clairity to the table. This tool is located in the installation directory under Toolbox/data utilities. Once inside of the data utilities folder you can launch the sldsetdocprop.exe by double clicking on it. This will popup the Set Document Property dialog box.

This tool was made to alter the toolbox flag that is recognized by both SolidWorks and PDMWorks Workgroup. Many times users want to take files from the toolbox and modify them and check them into the PDMWorks vault. If your vault settings are set to exclude the check in of these documents, even if you moved your modified Toolbox part to another location, PDMWorks will not allow check in of this document because of this internal flag. In order to remove this flag, selection of the Property state from "Yes" to "No" will now allow this file to be seen as any old SolidWorks file. On the flip side, you can take your standard SolidWorks files and change them so they are considered to be a Toolbox part when in an assembly or inside of PDMWorks. The tool also allows a nice bulk update interface by adding files and/or directories as well as a filter for file types. Once you have added all the files to modify in the update window, click on the "Update Status" button and the flag has been changed! ~Lou

Opening Zip Files With SolidWorks

There is a trick we use in support to open files when they are sent to us in a ZIP format. You may have noticed that the Zip file format is not listed in the Files of Type area in the open dialog but SolidWorks will open them. How? If you drag and drop the zip file into the SolidWorks grey background or onto the toolbar (See below), your files will open up in SolidWorks. Obviously it has to be a file type SolidWorks will open but this is much quicker than unzipping and opening the file afterwards. Files that are not able to be opened by SolidWorks will still be extracted.Here are the rules:

  • If a file in the zip has references also inside the zip file it will open the top level file only. (i.e. an assembly and associated parts, assembly will open up in a single window)

  • If the zip has a number of part files, it will open all the part files in multiple windows.

  • Files are unzipped in the same location that the zip file resides. (If zip file is on the desktop when you drag it into SolidWorks, its contents will also be unzipped to your desktop.)