Jim, I continue seeing this behavior myself and my clients do as well. At the very least, it would be good to know what causes this, if it is a known bug, and if there are workarounds.
I'm determined to figure this one out and will post my findings as I discover them. First order of business was to remove all the non-essential information from the drawing. I'm using some simple test files so I removed everything except the view of the model. I deleted the sheet format, BOM and a general table that serves as our revision table. The problem disappeared. Time to add things back one at a time and see when it goes sideways.
Whoa. That's weird! I was digging around and saw your post on the same thing last July. I hope you do find something, this is irritating at times.
Another issue I noticed in February:
It is becoming clear to me that the disconnect between SW and EPDM is simply not being handled properly. Here's the simplest example I could come up with:
- Create a part and a drawing, save them and check them in.
- Close the files
- In Windows Explorer, rename the part
- Open the drawing.
The drawing is marked as needing to be saved. If before opening the drawing, you look at it's references (using the References button on the open dialog), they are correct. The drawing is pointing at the renamed file. Yet, SW and EPDM still want the drawing to be saved. My suspicion is that when then file is moved, no changes are made to files referencing it. When a referencing file is opened, the add-in updates the file to point at the correct references (per EPDM), but it is left in a 'Needs to be saved' condition. I can prove this is the case by closing the files, renaming the part file back to its original name and re-opening the drawing. No 'Needs to be saved' flag from EPDM or SW.
The Help file for EPDM includes this little blurb under the heading "Copy and Move Functions":
"If a file you are moving is referenced by other files, a dialog box displays the referenced files and asks you to confirm that the referenced search path should be updated automatically"
I don't recall ever seeing that dialog box.
One of the major selling points of EPDM is that it supposedly allows you to move and rename files in the vault and you don't have to worry about broken references. Apparently, instead I have to worry about whether the checked in file I just opened has actually changed or is merely letting me know that at some point in the indeterminate past one of its referenced files was renamed or moved.
Here's another confusing behavior. If you delete a general table or BOM table from a drawing, save it and check it in, the next time you open the drawing, it will say it needs to be saved. The only clue I can find as to why this is happening is that when you delete a general table, the rebuild icon pops up for the Sheet in the feature manager. When you reopen the drawing, the rebuild icon is gone, but the file is flagged as needing to be saved. Deleting a BOM table doesn't cause a rebuild icon, but if you rebuild after deleting and before saving, on the next file open, it is not flagged as needing to be saved. So it needs to be rebuilt but SW doesn't bother telling you.
After a week of vacation, I got back to testing this. Today's experiment consisted of deleting columns from my BOM one at a time to see what happens. At first it appeared that any columns that were linked to custom properties in the model caused the bad behavior. Once I deleted them all, the problem went away. I wasn't convinced that this was the true cause, and on a hunch I deleted the BOM and inserted the standard SW BOM. I then added columns in this BOM that were linked to the same properties that seemed to be causing problems. This BOM did not exhibit the bad behavior, which confirmed my hunch. I suspected that somehow, our custom BOM template file itself was at fault. I took the newly customized SW BOM and saved it over the top of our template file and now the problem is gone. Some poking around in the Knowledge Base revealed this gem:
Product:SOLIDWORKS Professional 2016
Technically Reviewed Date:1/4/2017
Question:In the SOLIDWORKS® CAD software, how do I determine if I am using an old template?
Answer:Making sure that you use the correct template version for your version of the SOLIDWORKS® software is fundamental in avoiding unexpected behavior in the Sheet Metal, BOM, Cut List and other environments.
There is no tool available in the user interface to check the template version. One way that you can do this is as follows:
1. Create a new part or assembly.
2. Select the 'Top Plane' in the FeatureManager®.
3. Right-click and select 'Properties'.
The ‘Date created’ field provides information about the creation date. If the template is very old, consider replacing it with a new template from scratch.
As a best practice, you should not save an old template in the latest version of the software. If you create a new part from an old template and then use the ‘Save As’ function to replace the template in the latest release of the SOLIDWORKS CAD software, some internal data does not update properly.
Mystery solved. I can move on with life.
Great work Jim! That's a great find i will save in my favorites.