I have a 3D contoller that I want to use with Pro/E. However, it doesn't have any drivers that will automatically interface with it.
How would I go about getting this controller to work with Pro/E?
I've already written a small program that will pass motion variables to Pro Engineer, but I don't know where to plug those variables in/ how to integrate my program with Pro/E.
Could I use the VB API to do this?
I don't know any specifics but maybe this will point you in the right direction. My 3D mouse interfaces through a protk.dat file (pro toolkit). This specifies the dll and location for Pro/E.
What is the pro toolkit? So are you saying that Pro E useed a specific dll file for this task?
The protk.dat file tells Pro/E Creo where the dll for the device/program is located and what the program is called. The dll is from the manufacturer of the 3D mouse. What kind of 3D mouse do you have?
Here's the trick, its not a 3D mouse; its a Leap Motion. I can probably figure out how to compile the code I wrote for the controller into a dll. I just don't know how to get proE to find the dll. An additional problem is that a dll from a 3d mouse manufacturer probably has specific values that it passes to proE in a specific manner. I figure I could just use those same values, but I don't know what they are.
Leap motion, now that would be a cool trick! Then you can be a jedi knight engineer/designer. A protk file is how you tell proe to find the dll. Here's part of what the contents of mine looks like:
# Pro/Engineer registry file
exec_file C:\Program Files\3Dconnexion\3Dconnexion 3DxSoftware\3DxProENGINEER64\creo2\x86e_win64\obj\3dxcreo.dll
From there, you're on your own. Trail files might have some useful clues as to the values to pass along. If I manipulate an object and look at my trail file, I see something like this, which are the commands being sent:
>3 Pgl3dMove ProeWin2 0.000000 0.000000 0.000000 0.000000 0.000000 -0.000400 1f 0 0
>3 Pgl3dMove ProeWin2 0.000000 0.000000 0.000000 -0.002800 0.000000 -0.009200 1f 0 0
>3 Pgl3dMove ProeWin2 0.000000 0.000000 0.000120 -0.012800 0.000000 -0.030400 1f 0 0
>3 Pgl3dMove ProeWin2 0.000000 0.000000 0.000280 -0.028400 -0.001200 -0.055600 1f 0 0
>3 Pgl3dMove ProeWin2 -0.000800 -0.000800 0.000320 -0.028000 -0.000800 -0.052000 1f 0 0
>3 Pgl3dMove ProeWin2 -0.001200 -0.002000 0.000240 -0.010400 0.000000 -0.020400 1f 0 0
>3 Pgl3dMove ProeWin2 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1f 0 0
I took one apart a while ago and it looked more like a bunch of infrared emitter/receiver pairs and a shroud with a hole in it between them, but similar idea.