Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
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
name 3DxProENGINEER
startup dll
exec_file C:\Program Files\3Dconnexion\3Dconnexion 3DxSoftware\3DxProENGINEER64\creo2\x86e_win64\obj\3dxcreo.dll
text_dir $TEMP\3DxProENGINEER
end
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
ah looks like the six axes for the camera?
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.
That's pretty cool. And welcome to the forum!
Hi ptc-5434923 , did You finish your project?
Do You want to tell Us something about Your solutions?
I'm trying now to set simple gamepad as a 3D manipulator but i don't know how to comunicate Creo directly.
In my workplace i've got 3D connection manipulator and I've checked that 3D connection put protk.dat file with link to dll file into PTC Creo folder, but dll is not readable or me.
Do You know how to comunicate Creo directly to rotate, zoom etc?
at this moment I've got rotation made by simple maped mouse movement and scroll button but this is not proper solution (i cant use mouse when i'm rotating)