hexagon logo

PC-DMIS Measurement Routine Migrations

Starting with PC-DMIS 2021.2, PC-DMIS doesn’t allow loading of measurement routines created in PC-DMIS 2015 and earlier and will generate an error. See: I am getting the error message "Serialization error This version of PC-DMIS can only read measurement routines created in version...."
In PC-DMIS 2022.1, only PRG files from 2016 or newer will be allowed. This “rolling” restriction will continue with each new release of PC-DMIS.

For instance:
Installed Version Can read back to (or pull forward from)

2021.2 2015.1
2022.1 2016
Future projection:
2022.2 2017 R1
2023.1 2017 R2
2023.2 2018 R1
Etc.

To use older routines with a current PC-DMIS release, you need to save all the older measurement routines to any version at least as recent as that defined by the current restrictions. This can be done one file at a time but if you have a significant number of files it can be very time-consuming. To help facilitate this process, we’ve created and shared two utilities.


Conversion Utilities for PC-DMIS (hexagonmi.com)

Utility Home : SaveMRtoRequiredVersion

This will automatically open the measurement routines and save them to the desired version. (simply opens, saves and closes routines)

Utility #2: Migration_Utility

This is a little more intelligent and performs the same task as utility 1 but also handles migration from Xactmeasure to the new, geometric tolerance command. It requires you to install the most recent service pack of 2020 R1 as well as your desired version (2020 R2 or higher). It asks you to navigate to three folders – the source folder containing your routines, a destination for routines that generate migration reports and a destination for routines that do not generate migration reports. The utility will then sort routines into the relevant destination folders making it easier for you to identify those that migrated successfully and those that require editing. Please see here for a more detailed description: Documentation. It also saves probe files associated with each routine in the current probe format.

While these utilities are being provided free of charge, there is no implied support. Please be sure to back-up all of your files before starting this process.

*** Please be sure to read the help documentation on these tools. It is brief and will often answer the very questions which we are seeing posted here.

  • When PC-DMIS and the migrationutility is running, start a command line and type "tasklist > processes.txt". This will create a list of processes currently running and saves them as "processes.txt". See if you can find PCDLRN.EXE in that list or post the contents of processes.txt here.

    Also, the migration utility sets all versions > 2020 as valid versions and 2020 R2 as the lowest valid version. We don't know what is done with the "ver_id" later on, but the code Neil posted sure looks like the PCDLRN process finder and sets the version from the window title.
  • Thanks Neil, I’ll do some follow-up testing on Monday.
  • Thanks for the idea, I’ll give that a shot.

    The migration utility works in two stages. The first stage is converting older programs/probes to 2020 R1 format. The second stage is to take all of those 2020 R1 programs and make the leap to your desired version of PCD that includes the Geometric Tolerance command.

    In any event, I’m running 2020 R2 and it’s still not happy with me. I’ll try your suggestion and also running 2021.1. Being a different case in Neil’s conditional tree, perhaps I’ll see a difference in the outcome.
  • On the other hand, you can also use this:
    https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer

    I assume you have tried running both the migration utility AND PC-DMIS as admin?
  • Processes.txt shows PCDLRN.exe and Migration_Utility.exe running. Interestingly, if I attempt to run the migration utility without PC-DMIS running, I receive a different error (PC-DMIS is not running...). It knows PC-DMIS is running, it's just having an issue with determining which version it is.

    neil.challinor The migration utility starts running when using a later version of PC-DMIS (2021.1 build 526). It finds 2020 R1 just fine for first stage migration, allows me to select the three folders, and converts the program to 2020 R1 format. I then receive an unhandled exception error saying "Assert.Fail failed" and the utility says "PC-DMIS did not launch properly". Any clue what might be going wrong? The utility seems to not like my version of 2020 R2.
  • Is this PC on a network or stand alone? Were all the versions installed as admin into the default folder locations and run as admin for the first time? It still sounds like there may be some permissions related type problem. Maybe a network domain policy messing things up or something to that effect.
  • neil.challinor The PC is on a network. Every version was installed as admin into the default folder locations and they were all run as admin for the first time. I've tried an earlier build of 2020 R2 with no luck, I've tried to Reset Product, and I've tried to reinstall the software entirely. The utility is working with every version but the most critical one. I'll press on with manual migration for now. If you think of anything, let me know. Thanks.
  • neil.challinor Using PC-DMIS 2021.1+ at least lets me get started. One thing I noticed is the migration status window says, for PC-DMIS 2022.1, "valid version found:2022.(". The number after the decimal is showing "(" for any version of PC-DMIS I try. Could this explain the issue with why it will save in 2020 R1 format but fail when opening the target version? Is there an issue with the name that it obtains?

    ** pcd_ver = PRO.MainWindowTitle.Substring(19, 1); returns "("
    ** pcd_ver = PRO.MainWindowTitle.Substring(17, 1); returns the correct version number.
    ** Why would this be different for me than you?

  • Please post a snapshot of the windowtitle of your 2020 R2 version.
  • I believe the logic for obtaining the pcd_ver value is flawed. The parenthesis you see in the label text is probably the first parenthesis from the "(release)" text in the windowtitle... Please post a screenshot of your windowtitle/caption from your 2020 R2 version.

    pcd_ver = PRO.MainWindowTitle.Substring(19, 1);


    The position to look for pcd_ver is hardcoded at string index 19 with a length of 1.