Detecting discrepancies between EDrawings preview and actual SolidWorks files

Is there a method (API preferably) to detect when the EDrawings preview and the actual SolidWorks file do not match?  There are several scenarios in which I would like to have this functionality, but I cannot figure out a way to do it.  An example of where I see this problem is the following:

1.  Cerate a simple part and check it in

2.  Create a drawing for the part

3.  Place a BOM on the drawing.  The BOM should have at least one column mapped to a custom property in the model.

4.  Check in the drawing

5.  Check out the part

6.  Modify the value of the custom property that is mapped to the BOM column.

7.  Check in the part

At this point, the drawing is in an inconsistent state with respect to the model:

  • If you open the drawing, you will see it load briefly with the old property value, and then it will change to the new value. 
  • The title bar will not indicate that the file needs to be saved. 
  • The EDrawings preview will still show the old property value.
  • Extracting the BOM information using the EPDM API will yield the old property values
  • The computed BOM will show the correct value
  • The SW BOM view on the EPDM BOM tab will show the wrong value

I had hoped that the NeedsRegeneration API call would detect this, but it does not, so I am looking for any other method that can be used to alleviate this issue.

Jim  S.

SolidworksSolidworks Pdm enterprise Pdm