The heading might sound harsh so do not get us wrong, we still believe that Product Data Management software is a must for engineering and fabrication companies.
But lucky (or unlucky) person who will be responsible of implementing PDM system should understand some simple principles before doing so and experience working with different companies to understand different situations is a strong recommendation. Managing implementation without experience is doomed to fail.
Furthermore, there are many things going on with SOLIDWORKS PDM that seem straight forward to solve but in reality, will be one very painful challenge. The workaround seems to be custom macros etc, but those will increase implementation complexity, cost and time significantly. And if the system is new for users, it makes it near impossible to learn in the short term.
We believe, those things should be clear for the users before the PDM implementation plan is created, and thus evaluate implementation time and cost more precisely. Or just come to an agreement with the fact that those things must be handled by users and internal workflows (not PDM) and short process manuals are needed on how to perform those actions.
The items in the list below are tested by us, some of our friends on other companies and are precise as possible according to our knowledge. We do not take any responsibility if something is different, we just have not found a way to make it work when it needed solving. We will update the list as often we can for adding items or offering better workarounds.
We would appreciate a lot, if YOU, the reader would give us your input also on those matters or adding items to the SOLIDWORKS PDM FRUSTRATION LIST. Or if you have a nice solution or workaround, then please share it with others.
When you are willing to share but do not have means, then we can also upload them onto our page on behalf of you with giving credit for you, authors of those scripts and add-ins. Also adding download links to comments is appreciated!
Good reading ( or not so good, depends on how frustrated you already are )
- Not possible to have data cards per subfolder in the project. For example, when the new folder tree for the project is generated, it is not possible to have different data cards for files under folder “customer info” for example.
* Solution idea – (ER – 370141) – data cards also have “location option” all files in %_Client Info\%
* Workaround (semi-good) – to use control “hide” for certain fields on the data card, but in the background, variables are still written to file, they are just empty.
* Best Practice – To make as minimalistic cards as possible and to use the workaround shown above.
* Knowledge base – SPR#370141 - Not possible to move RELEASED / LOCKED files with Dispatch during a workflow transition. When user or group has no rights to move or rename, then during dispatch it is not also possible. The reason is simple, dispatch can only use rights from a logged-in user, no exceptions.
* Solution idea – (ER – 631343, 635191) permission function for dispatch, so it would be possible to make dispatch run with admin rights.
* Workaround – files are always free to be moved or renamed by all users. NB! Automatic transition is not working when there are conditions in the workflow that files have to be certain folders.
* Knowledge Base: SPR #: 979118 - Convert tools are not able to manipulate strings like dispatch is. So it is not possible to convert pdf files into another project folder that is not subfolder for the folder where CAD files are located.do the following. For example, this is not possible:
PDM\Project22\CAD Files\sub assy 1\part1.sldprt
Converted to
PDM\Project22\Converted Files\sub assy1\part1.pdf
Keep in mind that this is not a good idea anyway. For example, one detail ins in multiple sub-assemblies, what then? Multiple PDF files created? The idea might come from concept that this helps to put together packages to sub-contractors. Easy to send out packages. PDM is not meant for that, use MRP or ERP system for purchase orders and purchase packages.
* Solution idea – enable similar string manipulation for convert tools that there are in dispatch. Also then when duplicates are present, a shared copy is created not just plain copy.
shared copy – PDM possibility where the same file is in multiple locations/folders and if one is changed, then actually all shared-copies are changed.
* Workaround – Convert files using convert tool and then use dispatch to move them. See also point 2. - Rebuilding files and pulling information from data cards to drawings does not work properly. It would be logical to have all data in the model file card. Sometimes it would be easy just to change data in data cards (for example surface finish in the project-based environment). But then drawing must be opened and saved because the PDM rebuild script is not updating SW file properties. It is a fundamental flaw in SW itself. If you for example update model data card and then open drawing and hit ctrl+b (forced rebuild) or ordinary rebuild and then open file properties, data is not updated! Data is updated during save when PDM add-in is enabled! Unfortunately, rebuild scripts do not take this into account. So in reality, updating for example 10 data cards, means that those 10 drawings must be also opened and saved….no automation there…
NB! This is also the reason why date, author, checked by, approved by, etc information filled by PDM is directly inserted to drawing data card not pulled from the model. This way, eDrawing is capable of updating preview during workflow transitions and convert PDF files with correct information.
* Solution Idea – (ER 546232) script must somehow access file properties, so they will be also updated or save function in the script must be smarter. Current script in
* Workaround – find somebody to make the grunt work of just opening and saving files.
* Workaround 2 – Use SOLIDWORKS task scheduler (check out files first)
* Workaround 3 – Currently in the works, trying to modify forced rebuild script.
* Knowledge Base: S-067261 & S-052517 (both from 2010 reviewed 2014 and still not fixed) - PDM Has never considered that model file and drawing file could have the same ID Number. The reason is simple, it is the same thing, just different representations of the same item. If you want to enable unique ID numbers, you also have to have a different ID for model and drawing and for pdf. In reality, a simple approach where 3D model, CAD Drawing file, PDF and DWG files all have the same ID Numbers. The file extension itself is enough to indicate the file type. (CAD Files used by engineers, PDF-s used by many project members and DWG/DXF files by fabricator for example)
* Solution idea – Exceptions for the requirement of unique ID Number. For example, For one Part file, there Can be one Drawing file with the same ID Number and then also one / or multiple PDF-s. (multiple if PDF-s are exported with Rev Number …)
* Workaround – use unique file names requirement per each file type. This way at least there cannot be duplicate files for parts etc. To not have the possibility to have assemblies and parts with the same sequence numbers, use A in assembly and P in part file sequencers. - PDM – position numbers. In PDM BOM you have the option to generate position numbers, but be aware, they are not synced with position numbers on drawings (for example, if the order is changed in drawing, then PDM BOM do not know it.!
* Solution Idea – needs further investigation of what would be practical.
* Workaround – just be aware of that and do not use PDM BOM position numbers if possible.
* Best Practice – do not use PDM BOM Position numbers.
* Best Practice – take BOM from drawing file and choose BOM from drawing (have not tested, what happens if row order in drawing BOM is changed) - Not possible to notify all, if changes in a certain folder. For example, if you have a folder with standard components of for ISO/DNV etc standards and something is added, updated or made obsolete, there is no easy way to notify all engineers. For example, during the transition, all users must be selected manually. To be honest, We have not tested this further as this is probably not a very critical thing to have, would be nice to have it though.
* Workaround – none we are aware of. - Dispatch is not able to use user initials, full name “name” options. Just logged in user name. So for example, if you want to have dispatch updating author each time files are checked out, you can use an only user name which can be quite different when domain users are used. It seems like a strange problem, but in project-based companies, different people can work with same files and then it would be good to automate the process, that author is updated at each checkout. This ensures, that if something is printed out during work in progress, the latest author is populated.
* Solution Idea – (er 1-17056629233) Some of the PDM special values should be available for dispatch.
* Possible Workaround – no known solution. - When using automatic state lists, it is not possible to sort them according to the workflow. If the data card is for example for SW files, which are part of CAD workflow, then the state list still shows all the states available for all the workflows.
* Solution Idea – possible to use Workflow sate lists per workflow.
* Workaround – duplicate needed workflow list manually.
* Knowledge Base – - PDM cannot handle all the links between SW files and PDF-s/DXF-s (Just PDF-s in the following topic) properly. For example, It is possible to create a link between PDF and SW files within PDM automatically. This means, that if single detail is going through changes, then it is possible to transition PDF-also (to make SW file under change and to make PDF obsolete). Or even if the project manager does not have SOLIDWORKS, then he/she can activate the transition from PDF for SW Files also. It seems like a neat and practical feature, but be aware that it does not work for assemblies with parts. For example, if Assembly with 3 parts is going through a transition, then PDF-s for parts are not transitioned with workflow! This basically means that PDM is not able to manage necessary data and PDFs are necessary data to be kept updated at all times! Quite often converted items have revision numbers also in the name because when sending files to customers, suppliers, this is really important!
* Solution Idea – during the transition – option to choose all references including PDF/DWG or just SW Files.
* Workaround – Using dispatch, make a notification that user must manually make PDF-s obsolete
* Workaround 2 – Do not use revision numbers in PDF file names, but then they can be confusing for subcontractors. - When opening files within SW or Office, in browse dialog, you can use the PDM search to find the needed folder/document quite quickly. But this is not the case when saving the document. Then search does not work for folders nor files. Then it is needed to go through the folder tree manually! Good luck, if you have one folder with all the projects inside of it!
* Solution Idea – ***
* Workaround – use the separate search window and then copy folder location tree to save (as) dialogue
* Knowledge Base – S-061207 (could not get it to work in 2018) - Not possible to limit workflow transitions so they can be done only when the model file has also referenced drawing files in an automated way.
* Solution Idea – (ER – 1-17056629238) some controlling logic that checks if the model file has a referenced drawing file.
* Workaround – none useful. (only to add some variable to the model card, drawing exists, but this is an inefficient way to solve this, more work for user)
* Knowledge Base – - The order of tasks is not followed during workflow transitions. This is important when you want to perform one task and then another. For example, if you want to run a rebuild task first and then convert task.
* Solution Idea – task order should be followed
* Workaround – make multiple Workflow steps
* Knowledge Base – SPR #: 954073 - Send links to file with notification, read this, etc. For example, it is not possible to send good file link notification with a text. For example, the user can send a link with notification to a colleague, check this, I have a problem there.
* Solution Idea – SOLVED IN 2018 - Clear local cache rule for certain folders under project folders. SECURITY RISK !– For example to clear local cache always for folders %_Contracts\%. This is an issue because for example if permissions to contracts are only for managers group but there is a separate computer in the meeting room. Files can be then accessed by the next users. (permissions do not work properly when files are already in a local cache) But making whole project folder to always clear during log out is also pointless as then all model files etc are cleaned and cached in each logout and login
* Workaround – keep contracts completely separate from project folder (the illogical but only way to go)
* Workaround 2 – Users must clear the local cache for the contacts folder in the meeting room manually. - Workflow Transitions – chancel major or minor change. For example, there is a request to make a change but then halfway through the change, it comes clear that change is not required.
* Solution Idea –
* Workaround – Rollback, but dangerous to be allowed for everyone
* Workaround 2 – Have additional transition – Back To Released, but do not increase revision. Dangerous as changes already made can go through. Engineers must manually make get the previous version, save, check-in and then transition to Released without revision increase.
* Knowledge Base – - Converting PDF-s with links to the SW Drawing file fails to overwrite PDF files. It even fails to create new PDF, when the new revision number is added to the PDF file name. This only occurs when the following settings are used in convert tool: “Use the latest version of the referenced files”; “create a reference from the destination file to the source file ( this is the checkbox that makes overwrite fail); “Create a new version of existing files”.
Trying to figure out what is going on, we monitored task host and in task host correct (latest) drawing was opened, but something fails during pdf save.
* Workaround – PDF File must be manually (or using dispatch) deleted or moved to another folder.
NB! Supposedly fixed in the 2019 version – we have not had the possibility to test. - Data Card – validation for drop-down lists missing. For example, if it is required that the user always fills edit-box admin can assign validation – min and/or max length. But this kind of validation requirement is not possible to put for drop-downs.
* Workaround – put hidden edit-box with validation also into data-card.
The epilogue
After finished reading one may think that SW PDM is waste of time no use at all. This is not so. It is, just like any other software, buggy but servers it purpose quite well if those things are taking into account.
We, authors, have prepared the SOLIDWORKS PDM Implementation package which uses best practices to get the most stable system possible in our opinion. This package consists of the explanatory book and all configuration files, limited library with examples and work process schematics for Administrators and users. We have used real-life experience from multiple implementation projects and our everyday work customers and partners to understood what works and whatnot. This is based on SOLIDWORKS PDM Standard but will work in PDM Pro as well with some minor modifications. Blog about those modifications to be released soon. More about the book HERE.
We believe that our book and the pre-set system will be a big help to get going. When starting, try to keep things simple so that users will get hang of it. Many changes together will frustrate users and the implementation is deemed to be a failure.
We thank you for reading and buying our books if you decide so. If you have any questions, just contact us and we answer as soon as we can.
Yours,
Alar & Ants
For point 15 it whould be great if clear local cache worked even. Right now we have at least 2 computers that can’t clear some files (a lot of them) and no, there’s no parent assembly in check out.
Hello I delete the local cache, but if you do a search for local files, they appear and we can only delete them if you go to the specific folder.
This happens to me when a colleague has moved the file and I had it in local. Then neither deleting cache is fixed, I have to go to the folder
Item 8: To get the user’s friendly name, use the Dispatch variable “Value of Registry variable” and point to this reg key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\LastLoggedOnDisplayName
Yes, this may work in Windows 10. Windows 7 machines don’t have this key. Also please pay attention, that Initials, defined in PDM user profile card are still not listed there, only full name. Point of initials is to write them to title block, where room is typically limited. This makes really sense in case of longer or middle names.
And this work only in cases when you are using Windows authentication only. So, no option to use different PDM and Windows user.
Reasonable would simply to have option to use all names defined in PDM user data.
However, I appreciate your help.
Item No 4.: The not updating drawing properties… can be a pretty nasty thing…
I hope to have it solved with an add-in to update drawing properties on check-in of the PRT/ASM.
Two main Conditions:
– The drawing must be in an editable state
– And must not be checked you by someone else
The rest can be done in the background
At the moment we are testing the addin, before going live with our PDM, incl. addin
So we will see if it works the way I want it to…
“Locking” files without Check Out: I have engineers with control issues who wish to prevent anyone else from modifying a set of files while they work on an assembly containing those files. They therefore Check Out every document within this assembly so they can edit the one they’re interested in. I find this unacceptable due to the risk of unintentional changes propagating through external references or just mistakes. I wish there was a way to create a workflow transition so that a file otherwise in a state that could be checked out could be pushed into a state that it cannot be checked out and can only be returned by the same user (or admin). This would prevent anyone, including the user placing the file under control, from accidentally modifying the document.
Looking that you want resolve “behavioral issue” with technical tools? This may be possible when you make changes to existing design. Then you just change workflow in manner that only lead engineer or admin can move files from “Released” to “Under Editing”. I know that this won’t help when design is totally new.
What may be helpful is to prevent users “check in” non-rebuilt files. This mean, that users need to rebuild every drawing. This is time consuming and may force users to think about need to check out everything. (User profile in admin tool, Warnings, affected operation-Check In, File is not rebuilt-Stop).
However, I believe more coaching, guiding and other soft methods.
Another point:
(and I hope you already have a solution for it, otherwise my frustration will be confirmed)
When making a BOM, I cannot add a column containing version-free variables.
I can accept that version-free variables cannot be custom properties, but what’s a variable worth if it cannot be used in a BOM??
Please let me know I just didn’t find the correct buttons yet 🙂
I came here to say that. I don’t understand the use of the version-free variables if I can’t use them in a BOM (or anywhere else for that matter). Did you find a solution?
We are upgrading soon and I need to know if Dispatch in the 2020 version can utilize variables in the notifications because it can’t in 2017.
I share the frustration of not being able to use a lot of variables. (Full disclosure: I’ve been thrust into the role of PDM developer, where my experience has only been in administering a ready-set-up vault). My company would like to use PDM for every file under the sun, not just solidworks. It means moving in Office, PDF, Corel, old TIF files and probably copies of some ancient stone tablets and etch-a-sketch renderings. They’re convinced I can achieve all this by looking at youtube videos.
That said, I want to create a simple workflow that will bring a certain set of files into a folder for specifications. The only thing they have in common that tells us they are, indeed, specs is they file names all begin with the same prefix. I would have thought I’d have been able to use the FILE NAME regardless of its extension, as a condition for entering a work flow. You know? If FILE NAME SPEC%.% It goes here.
I can find Document Name (not the same) I tried to create the variable, and that didn’t work.
Hi Lorrie, I know this is an old post and you might have already found a workaround, but the condition for filepath includes the filename. You can control it like this: Condition – Filepath, argument – =%SPEC%
Or to narrow it down further use =%\SPEC% and that will only look for spec at the beginning of the filename/folder name. The only downside that I know of is if you have a folder that starts with that too. It would see the folder and pull all of the files under it as well.
Also, you would need to add Filepath !=%\SPEC% to your other workflows to stop the specs from going in the other workflows.
Item #5… I don’t follow your gripe. Unique ID number has nothing to do with PDM. That is a function of the SQL table which stores the data. Further, I don’t agree with you that a these files are all the same thing. The software used to view them, create them, etc. are different. The use of them are different. The intended users are different. Sure, they can be generated from the same object, but that doesn’t necessarily mean that they are the same thing. But, the governing body here is the SQL table which correctly insists that every single file must be uniquely identified so that when you request the file, it knows which one you want.
Item #4 is my gripe right now. We are looking at transitioning drawings straight to Obsolete state without much work being done – i.e. we DO NOT want to put them through the workflow, increment the revision, check out, save, check in, transition, etc.
A simple transition from Released to Obsolete should be enough to update the information pulled from the model, like the change number. Yet because PDM does not work this way we are forced to endure a lot of overhead activity just to get a number to update. We have other data that is set in a workflow transition, but the change number comes from the model.
Item #5 is, to me, nonsense. Anyone familiar with a database will understand the power of a unique ID, and anyone NOT familiar with a database wouldn’t even know that documents have unique IDs. (Did you know that configurations and variables also have unique IDs? Workflows, states, transitions, lists- the list goes on!)
Instead, make a variable like ‘PartNumber’ and assign it as desired- you can assign the same ‘PartNumber’ value to multiple docs as you see fit- drawing, model, pdf, dxf, etc.
I know this is an old article, but I have a frustration item which I believe fits this list very well.
I am posting this, hoping someone also has a workaround that works, as searching online didn’t help me much.
While setting up a PDM and Workflow I, as a relatively new PDM administrator, created some Workflow States which I later found out didn’t need to be in the Workflow, as I could make it simpler. The problem is some files have been in this State and therefore the State cannot be deleted as it’s part of the history now (fair enough). The frustration occurs because while you can search for files which have been in a given State at any point, there is no search function to find already deleted files, which at some point were in the State I’m trying to delete. If you (like I did) moved around files, tested Workflows/States and deleted files in the process, you end up with States in your Workflow which cannot be deleted, because the history of a deleted file refers to the given State.
Currently, the only “workaround” I have is to Destroy EVERY file which has been deleted. This seems like an overkill, but I cannot think of another way to solve the problem.
Maybe someone else can?