Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X
hello,
we have a business requirement that they have already checked in all their project CAD files into windchill and they are in release state. now they want those files (Soldiworks 2014&2019) to be upgraded as to open it with Solidworks 2022.
Do we have any provision in windchill to replace those files with upgraded Solidworks 2022 files without changing any attribute or metadata of all those documents, just replaces the physical files/CAD files with newly upgraded files so that when user tries to access it from Windchill UI, they should be able to see upgraded files of Solidworks 2022 directly.
So we can understand the scope and not just suggest an Admin do this manually, what is the total number of SolidWorks files you have in the system. Second, is there an issue with SolidWorks where it does not normally be able to retrieve older versions? Why does the files have to be opened and saved back down? I would think that if users upgraded their clients to SolidWorks 2022 across the board, this would take care of itself naturally. Yes, if you were opening read only, it would "convert" but those changes would be lost and done again when the file was retrieved. Is it causing an issue at the CAD level?
I know of no way to do this easily. If SolidWorks supports, you might be able to script a solution by having it download, check out, save and check in all files. This would need to be done administratively since the data is "released" and you have to note that as-stored might now reflect latest which could impact released drawings and assemblies.
I do not suggest any method which "replaces" files at the vault level. This should be handled properly via an iteration through the workgroup manager.
Hi @avillanueva
Our company developed Creo toolkit aplication that can automate this operations for a workspace. Check-out - open regenerate - save - upload -checkin
In past some customers used it if creo had been upgraded I guess from ProE to Creo1-2.
In some cases library parts cased some troubles with new assemblies and PTC sugested to update the files to new version .
So I can imagine there can be some needs to do so.
PetrH
We are using #Task from CentralInnovation for batch processing of SolidWorks files.
As @avillanueva suggested, we're doing it in workspaces running in parallel on multiple machines with 100-1000 files on each machine at a time.
So far we've done it twice for SolidWorks version upgrade and once for mass changes in image quality, but each time we struggled a lot to expand it much beyond library parts and recent models.
This is what I do not understand. For a SolidWorks upgrade, you are forced to touch and resave every file? Or are you trying to avoid some downside of the process when a file from an older version is opened in a newer version? I would like to know the driver behind @SM_10773308 's customer's requirement.
Back in my SolidWorks days, it was considered best practice to open files and save them in the new version. SolidWorks can open files saved in an old version, but it basically converts the file during the open to the current version. There's a small performance hit to do this conversion. Converting from one release to the next rarely has any issues, but jumping several versions might. Any files that are regularly referenced (especially library files) should be kept updated for best performance.
I'd be really uncomfortable bulk-editing files without editing the metadata. What if the geometry is calculated differently during a regenerate? It's rare, but possible that the file could fail to open properly in the new version.
I'd recommend checking out all the files, regenerate, save, and check them all in with a comment indicating that they were updated to the current version. In the worst case scenario, you can install the prior version of SolidWorks and open the old file if any get corrupted.
It might be a little late to set this up, but a cool idea to help automatically validate a bulk update like this would be to set the mass properties to "designated" so they get stored in Windchill. That way, it would be possible for you to query any files where the updated version has mass properties different than the previous version.
You don't have to do it, but it can save you some troubles down the line if you do. SolidWorks does this conversion every time you open something (once per download into the local cache, repeated after cache cleanup). This is a fast process, but it has consequences:
I did a benchmark of opening times for large assemblies 5 years ago with custom SolidWorks logging. It showed that the shadow save had 10-40% performance impact on the opening time, depending on the assembly size. Although we had a lot of attributes pushed from WTPart into CAD via download delegate at the time, which made the issues above even worse.
If we can avoid some of it by simply running a macro in the backgroung after CAD version upgrade, why not do it?
It is not just Solidworks! All CAD systems do a 'behind-the-scenes' file conversion when opening in a newer version. Creo does it, too. The thing to watch for is how many versions back the CAD vendor says they support. I think PTC only says they support 3 or 5 versions back, but I know it will open further back. I recently opened a Wildifre 2 file in Creo 9 with only warmings about the datum changes in Creo 7.
@SM_10773308 , this is definitely doable.
If you don’t want to change any metadata you really can’t do a checkout/checkin as that will change metadata. At the very least it would change metadata for iteration and date modified/updated.
You could run a script to open the files in 2022 and back up to disk.
Once that’s done a Java class could be run from a Windchill shell which would find the latest iteration of the SolidWorks file in the file vault and replace it with the backed up 2022 version on disk.
This would certainly get the job done with no change of metadata.
David