I made a simple program to illustrate this. You will need the .x files in the attachment to run this. Its just two real simple axis models I created in Ultimate Unwrap. I'll post the whole thing in the next post. Here is the code:
autocam off
sync on
sync rate 60
//lights,camera
position camera 10, 30, -50
make light 1
set directional light 1, -5, -5, 5
//start dark physics
PHY ENABLE DEBUG
phy start
//axis
load object "axisL.x",1000
color limb 1000,1,rgb(255,0,0)
//uncomment this for the flipped handedness model and comment out the previous line
//load object "axisR.x",1000
//color limb 1000,1,rgb(255,0,0)
PHY MAKE RIGID BODY STATIC MESH 1000
//so the cube doesn't collide with the axis
PHY SET COLLISION STATE 1000,0
//floor
make object box 1, 50, 1, 50
color object 1, rgb ( rnd ( 255 ), rnd ( 255 ), rnd ( 255 ) )
phy make rigid body static box 1
point camera object position x(1000),object position y(1000),object position z(1000)
make object cube 2,5
color object 2,rgb(255,0,0)
position object 2,0,10,0
phy make rigid body dynamic box 2
global key_state
////////////////////////////////////////////////////
do
text 10,10,"press 1 to add a force on the y axis"
text 10,20,str$(scancode())
add_force()
phy update
sync
loop
////////////////////////////////////////////////////
function add_force()
if keystate(2) = 1 and key_state = 0
key_state = 1
PHY ADD RIGID BODY FORCE 2,0.0,5.0,0.0,0.0,0.0,0.0,2
endif
if keystate(2) = 0 and key_state = 1
key_state = 0
endif
endfunction