Pro/ENGINEER Tips & Tricks: Data Management

- Last Modified: -

This page is a compilation of tips & tricks related to Pro/PDM. They are not necessarily my own ideas. Use them at your own risk.

Data management (Pro/Intralink)



Import/Export from Intralink 3.x

With the introduction of Wildfire PTC also changed the way Import and Export was done from an Intralink 3.x Workspace.

Pre-Wildfire (R2001), PTC included a special mdimpex.exe tool to facilitate the import and export of objects to or from an  Intralink Workspace
In Wildfire, PTC does a full import/export with a background session of Pro/E. Because Pro/E fully retrieves and partially regenerates each object the export routine takes much longer:
Software versions Export method Time to Export
(275Mb, 276 files).
Dependencies set to None
Ilink 3.3 M022 - ProE R2001 2004290 mdimpexe.exe less than 1 min.
Ilink 3.3 M022 - ProE Wildfire 2.0 M160 Pro/E Background session  27 min.

Software versions Export method Time to Export
(308Mb, 1109 files).
Dependencies set to All
Ilink 3.4 M011 - ProE R2001 2004290 mdimpexe.exe 15 mins.
Ilink 3.4 M011 - ProE Wildfire 2.0 M160 Pro/E Background session  56 mins.
Ended with a crash.
Exported only 1048 files.

John Deere was one of the companies who has been pushing hard on PTC to fix the extremely slow import/export times.

The reason to use Pro/E for the import and export of objects can be partially understood when realizing that PTC is trying to facilitate companies who use the exported objects with external viewers. Then, of course, you need to make sure all objects and relations are fully regenerated in the exported models.

But my opinion is that an import/export tool should not be bothered with regenerating the placement of components and such. It should only be giving the exported objects the correct names and setting the declared parameters to the correct values. Upon import it should get these values as well and also figure out the dependencies.
But that should be all.  Regenerating the objects should be done after this by another powerfull tool called Pro/E.
Anyway ....

PTC realized something must  be done and came with a partial solution.
This solution will be introduced by default with Wildfire 3.0 2005450 and can allready be used with the Wildfire 2.0 (M100+)  hidden config.pro option:
DM_ENABLE_SIMPLE_IMPORT_EXPORT YES

See also:  TAN 127577

This option does bring the export time back drastically,  but it still is considerably slower than mdimpex.exe:
Software versions Export method Time to Export
(275Mb, 276 files).
Dependencies set to None
Ilink 3.3 M022 - ProE R2001 2004290 mdimpexe.exe 26 secs.
Ilink 3.3 M022 - ProE Wildfire 2.0 M160 Pro/E Background session using the hidden config option:
DM_ENABLE_SIMPLE_IMPORT_EXPORT YES
 148 secs. (2,5 mins)


As a workaround you can keep an R2001 installation and use an intralink session tied to R2001 to import and export from intralink (to troubleshoot problems with import and export see TPI 129083). This also works for Wildfire 2.0 saved files.
 
There is a TAN on this slow import/export issue: TAN 121004 (which is supposedly tied to SPR 985674).
 
TAN 125660 states that registered Pro/TOOLKIT/J-Link applications might influence the export/import performance:
Removing our Toolkit app didn't help a bit, though: it was still 26 minutes without the hidden config option.

Relocating an intralink .proi folder

When you copy a .proi folder to a new location (and set the PDM_LDB_PATH accordingly) you can't open the Pro/E files, because the Local.ddb file still points to the old location. But you can use the unsupported ldbconvert tool to make the files available on the new location.

Example:

User Paul needs to work on a copied .proi from peter which was located on d:\users\peter\
Paul's environment variable PDM_LDB_PATH is set to c:\users\paul\ILINK (so that's where his .proi folder is stored).

He now moves his own .proi folder out of the way and places the copied .proi folder in c:\users\paul\ILINK. He can then start Intralink and browse in the newly copied workspaces. He can even start a linked Pro/E session. But opening any model will result in an error (model cannot be retrieved).

He can fix this by running the ldbconvert tool:

Usage: ldbconvert <ldb_path> <flag_reset_userdata> <port@host> <file_path>
ldbconvert <ldb_path> <flag_reset_userdata> <old_port@old_host> <new_port@new_host> <old_file_path> <new_file_path>
set flag_reset_userdata to 1 for reseting, 0 for not reseting Userdata

The first line is the format to reconfigure a .proi folder to a new location. The second line can be used if you need to configure a different server or different port numbers.

Paul should run it like this:

ldbconvert c:\users\paul\ILINK 1 7777@dataserver c:\users\paul\ILINK


Data management (Pro/PDM)

Configuring Pro/PDM

Here a few tips to configure Pro/PDM:

You can adjust the menus to your likings. This can easily be done by editing the resource files found under: $PDM_LOADPOINT/pdm/text/usascii/resource.


Using DHCP

It should be possible to use DHCP, without Pro/PDM hanging after each submission.
When a Pro/PDM client sets a PDM_USES_WAN environment variable to true it does the trick.
But I haven't verified this solution ...

Debug mode

You can enable the debug mode of Pro/PDM by setting these environment variables: But beware, this will create large logfiles in your $PDM_LOADPOINT/text directory; especially your pdmlog.txt file.

Submissions

Here a few submission tips

Submission Warnings Conflicts en Errors

When submitting you might encounter one of these messages: See also: PTC PDM Submission FAQ

Using non-Pro/E data in Pro/PDM

It is possible to use not native Pro/E data in Pro/PDM. You can just submit them into the database. There is a drawback however.

It will slow down Pro/PDM when browsing in a local dir. The problem is that when you fetch a not-native object(s), Pro/PDM will create a meta-data file (.[filename].met) with the Pro/PDM info of the abject along with its checksum. The checksum is used to determine if an object has changed or not (if it got a plus or not). So if you have a directory full of such not native objects or a few large not native objects, Pro/PDM will do a checksum on each file each time you browse through it. This will slow down Pro/PDM significantly.


Alternative revision strings

You can setup Pro/PDM to use different major and minor revisions than the default 1,2,3,4,etc......
Create two files in the $PDM_LOADPOINT/pdm/text directory:
Make them long enough to hold all possible revisions (no problem however if you ever get to a revision at the bottom of the file: just change the revision string files and restart the pdm client). Example:
Major
0
A
B
C
D
E
F
G
H
etc.
Minor
0
1
2
3
4
5
6
7
8
etc.
To use these files you will have to set an environment variable to tell Pro/PDM to use the alternate revision string files. Set the parameter PDM_REVCTL to $PDM_LOADPOINT/[machine_bin]/obj/pdmrfctl before starting Pro/PDM. Alternatively you can also change pdmrnctl to pdmrfctl with View -> Preferences -> "Revision string server". Don't forget to set the "Save settings on exit" value to yes. After this, Pro/PDM will have created a config.pdm file in your working dir. You can edit it leaving only the revision string server entry.

The above configuration will yield results like this:
First submission: 0.0
Next submission: 0.1
Set revision: A.0
Next submission: A.1
etc.


Cheating Pro/PDM: Set revision to a lower revision

It is impossible in Pro/PDM to change a revision back to an older revision (and that's a good thing too!). But when you have set alternative revision strings up like discussed above it can be done. In two ways:

The easiest is to

Thanks Ron Liston

The other is: by changing the environment variable PDMREV_CTL (or changing the config.pdm) you can start two sessions of Pro/PDM: one with the default revision strings and one with alternative revision strings. Both sessions enbale you to browse through the databases, but submitting or Design -> Modify -> Set revision an object with an illegal revision for that session will yield an error message like: BAD REVISION STRING After that you can just go on and choose a revision appropiate for that session. Then in the other session find the object with the illegal revision string and set the revision back to a legal revision string, but since it is now set to an unkown revision you can here again choose any revision you like.

Example: I accidentally changed a revision of an object from 1.3 to 2.0. It was not meant to be released yet. Now I startup a new Pro/PDM session with the above discussed method for an alphabetical revision string. I lookup the 2.0 version and do an Alt+Shift+R. I get an error message, click OK and then change it to for instance B.0. Then I go back to the original pdm session and lookup the B.0 version. I can then Set Revision it to 1.3 (or even lower revisions if no lower revisions exist).


Running trail files

You can start Pro/PDM with a trail file with the -uiftrail option. e.g. pdm35 -uiftrail startup_trail.txt.
I use this for instance to startup Pro/E with a default browser on.

Running trail files is more difficult than running trail files with Pro/E. When a trail files runs out of sequence in Pro/PDM the client will definitely crash (haven't found an environment variable to prevent this). Furthermore it runs out of sequence much sooner than a Pro/E trail file. Still, its a usefull option once you get to know its ins and outs.


Can't remove empty directory

It sometimes happens that you want to delete a directory but Pro/PDM will not let you claiming the directory is not empty. Looking at the OS-level shows you that the directory is really empty, there are even no hidden files. Perhaps only a _history directory. Removing that won't work.

Most likely Pro/PDM has saved external references in this directory. You can find these references with File -> Search for -> Object and selecting REFERENCE for status and * for Name. Select a database and press search. You will now get a list of all external references in that database. If the "Current folder" column is not displayed in the view you can add it through View -> Show & Sort -> Add. You'll probably see external references in the 'empty' folder you were not able to delete. You'll have to get rid of them.

Now you can decide to delete the external references in the folder you want to delete. But perhaps they are still used in other objects in other folders. You can check this with the Report -> Where Used function. If they are not used it is save to delete them. If they are used you can move them to another location.


Backups

You can make backups from all or specified databases through the Admin - Backup menu.

Make sure you are database Administrator. If not, then a Pro/PDM Administrator should add your name to the Administrator list through Admin - Admin DB - Authorize.

To backup the databases select Admin - Backup - DB Backup. This can take a while if you have a lot of databases (haven't got a clue what PDM is doing at this time). Select the databases you wish to backup. Then Select OK.
PDM now asks you to enter a device name. Here you can specify a tape device, but you can also type a directoryname as your device. Note that the directory you type here should be an empty directory available on the Unix PDM server. All backup files allready in this directory will be deleted. After you press OK, you'll have to enter a tapename. Just describe the sort of backup your doing.

Pro/PDM now creates a number of backup files:

Compressing the backup files
These backup files are pretty large. So you could compress them first to fit them on one CD for instance. A compression down to 20% of it's original size is not unusual.
With the following command you can create a compressed tar archive of all the backup files at once:

% tar cvf - *.hdr *.v* | compress > pdmbackup.tar.Z

When you need to restore these backup files you can use this command:
% uncompress -c /CDROM/pdmbackup.tar.Z | tar xvf -
With the -c option you tell uncompress to write to standard out, which is then piped to the tar command with the -f - option (read form standard in), and extracts the files to the current directory

Restoring (existing) databases
When you need to restore database you can also choose if you want to restore from tape or from a directory.
To restore exisitng databases correctly you'll have to delete the databases which you are going to restore first. A scary thing to do. Your gut feeling would tell you to rename the old database first before restoring the new database, but that would change all your external references to this database in the other databases to the new name. When deleting a database however, the external references to it are left alone.

So best practice would be to backup the existing databases you wish to restore first, then delete them and finally restore the new databases.
Use the above described routine to backup but make sure you don't overwrite the backup files you wish to restore, which is easily done if you specify the same backup dir.

Before deleting, it's best you enter into the restore routine to verify the database names you assume you will be restoring. Do Admin - Restore - Db Restore. Now select Scan Device and type in the full directory where you've placed the backup files to restore. Note that you need to specify a directory which can be found on your Pro/PDM server. Select OK. Now you get a list of databases you can restore. Verify the list with the databases you've backuped earlier and are about to delete. If everything is ok you can Cancel out of here and proceed with the Delete action: Admin - Product DB - Delete.
When that is finished start the restore routine again and now go through the entire process.


Moving a database to a new path

To move an entire Pro/PDM database to a new path or server you can follow these steps.
  1. Copy the database to its new location. Use cp -rp or rcp -rp making sure you copy leaving the date and time stamps and the user attributes as is.
  2. Shutdown the PDM server
  3. Add the new database to the pdmdblist file in the text directory of the loadpoint of Pro/PDM.
  4. Replace the path.dbf file in the _pdbase directory with one from a database allready on the server under the same path.
  5. Edit the _pathinfo file in the root directory of the new server.
  6. Start the PDM server.

HOME | Links | Tips & Tricks | OCUS | Who am I? | Gallery | Search | Miscellaneous | Dutch Pro/E Users Group

Olaf Corten © 1995-2003



Click to receive email
when this page changes
Powered by NetMind