Home > Howto, Technology, WINE > Pro/Desktop 8 and Wine

Pro/Desktop 8 and Wine

I’ve recently come across PTCs Pro Desktop 3D CAD software when reinstalling a laptop for a friend.
As I understand it, Pro/Desktop is the younger brother to Pro/ENGINEER, “a parametric, integrated 3D CAD1/CAM2/CAE3 solution” produced and distributed by PTC4.

And after playing with it, to try and make a vivarium, I decided I needed it to run on linux.

Needed:

  • PTC Pro/Desktop 8.0 Installed and Working (on Windows).
  • A Windows box to steal some .dll files off (XP SP2).
  • A Working copy of Linux with Wine.
    (I used Gentoo Linux (2.6.27-r45 and Wine 1.1.06
  • Access to a root terminal (which you should open).

Before we start, we’re going to create a new wine “bottle” -essentially a new wine directory just for Pro/D. Its a habbit I’ve been in for a while, as it means you can have an isolated enviroment for each app, making testing much easier.  -I think I have to thank cxoffice for giving me the idea origionally.

We’re going to install Pro/D to ~/.wine-proDesktop (this is a hidden file7 in your home directory8 )

wineprefixcreate –prefix ~/.wine-proDesktop

Normally, if you want to run a program in WINE, you just need to run `wine ${Program_Name}`. Because we are not using the standard WINE directory (~/.wine), we need to specify the correct dir to WINE or any of the associated programs (eg. winecfg or winefile). -this can be done in two ways.

If you just want to set the wine prefix for just one run then you can specify it on the command line, leave a space and then run winecfg:

WINEPREFIX="/home/${USERNAME}/.wine-proDesktop/" winecfg

Otherwise, we can set it for the entire session, so we only have to specify it once:

export WINEPREFIX="/home/${USERNAME}/.wine-proDesktop"

and then just:

winecfg
wine

or anything else, as they will all see WINEPREFIX as we set it.

If you want to see what it is set to, then you can  run:

echo ${WINEPREFIX}

to have it printed out, or just

export

to see a list of what there is.

.

The next step involves getting your windows box and copying three files from “C:WindowsSystem32” and putting them in “~/.wine-proDesktop/drive_c/windows/system32/” on your linux box.

  • mfc32.dll
  • msvcirt.dll
  • MSVCIRTD.dll

You’ll also want to copy Pro/Desktop accross from the working windows installation. Copy “C:Program FilesPTC” from the windows installation to “~/.wine-proDesktop/drive_c/Program Files/PTC9. In my installation I have “Program Files/PTC/ProDESKTOP 8.0/Program/ProD.exe” as a path to the actual executable, and I’m assuming its the same on yours.
We now need to tell WINE to use the .dll files we copied from windows, rather than its built in versions. Run `winecfg` making sure to specify the WINEPREFIX as we spoke about above.

The first thing we are going to do is set wine to pretend to be Windows XP for Pro/D. On the [Applications] tab click “Default Settings” then select  “Windows Version: Windows XP” at the bottom of the window.

Click on the [Libraries] tab. In the “New override for library” box type in the dll names (mfc32.dll, msvcirt.dll, msvcirtd.dll) one at a time, hitting [Add] between them. They should be listed in the window.

Its also worth clicking on the [Graphics] tab and enable “Emulate a virtual desktop”. I set mine slightly smaller than my actual resolution. I found that enabling the virtual desktop resolved a lot of graphics lag. Hit OK to close winecfg.

Lastly, we need to install the Microsoft Visual Baisc runtime, which seems easiest done with the help of winetricks.

At the terminal, change directory to our WINEPREFIX, download winetricks and then get it to install the visual basic 6 runtimes.

cd ~/.wine-proDesktop
wget http://www.kegel.com/wine/winetricks
WINEPREFIX="/home/${USERNAME}/.wine-proDesktop" sh winetricks vb6run gecko

And bam, thats it!

WINEPREFIX="/home/${USERNAME}/.wine-proDesktop" wine "C:Program FilesPTCProDESKTOP 8.0ProgramProD.exe"

and it runs, and works. If extremely slowly.


Update:

It seems that using winetricks to install DirectX9 seems to solve a lot of the graphics lag problems, however be warned, ProDesktop now crashes when I try and open some files that DID work before DX9.

WINEPREFIX="/home/${USERNAME}/.wine-proDesktop" sh winetricks directx9

Update2:

After making sure to restart the wineserver (`wineserver -k`) I am now not having any problems with previously created files.
I can, without any problems, open an assembly consisting of 7 different pieces, created on a windows box.  -ace 😀


Error Messages:

The command has been aborted. It was not possible to create the graphics window. A common cause is that your display settings are incorrect. The application requires 65536 colors or greater. See the Settings page fo the Display icon in the Control Panel.

I seem to be able to toggle this error on and off quite easily.
Go into the Tools menu and select Options -> Performance.  Make sure “Disable graphics hardware acceleration” is NOT selected.

 


  1. Computer Aided Design
  2. Computer Aided Manufacturing
  3. Computer Aided Engineering (& Analasys)
  4. Parametric Technology Corporation
  5. try `uname -a`)
  6. `wine –version`
  7. Hidden files and folders names start with a full stop (.ThisIsHidden)
  8. Rather than having to type /home/username/.wine-proDesktop you can use `~/` to point to your home folder
  9. Remember, if you’re using the Linux command line “./Program Files/” makes no sense as a directory path (or name). You have to escape the white space, so you’d type “./Program Files/”.

 

Categories: Howto, Technology, WINE Tags: , , ,
  1. Tom
    January 16th, 2009 at 19:55 | #1

    Have you tried blender 3d? Probably just as good.

  2. Toker
    January 17th, 2009 at 00:45 | #2

    Open Source? Cross Platform?
    Well, it sounds very good, especially as I can’t seem to find Maya under a free Education licence any more.
    Its probably worth pointing out that Pro/D is more of a Technical Drawing program, rather than a 3D animation, but thanks for the pointer 😀

  1. No trackbacks yet.