The local coordinates are just the xyz offsets you used in the glue command...
Unless you mean getting global from local, in which case you use trig / the offsets / the source object's global position to do it.
In place of trig, you could use the newvalue commands.
All of this, or write your own glueing system, fairly simple, just set up an array to hold every glued object, with it's variable being it's parent. Then loop through them all, orienting them.
Eg;
+ Code SnippetTYPE glue
obj
source
x#,y#,z#
ENDTYPE
DIM gluedobject() AS glue
FUNCTION glueobject(sourceobj, glueobj, x#, y#, z#)
ARRAY INSERT AT TOP gluedobject()
ID = ARRAY COUNT(gluedobject(0))
gluedobject(ID).source = sourceobj
gluedobject(ID).obj = glueobj
gluedobject(ID).x# = x#
gluedobject(ID).y# = y#
gluedobject(ID).z# = z#
ENDFUNCTION
FUNCTION handleglued()
objects = ARRAY COUNT(gluedobject())
FOR x = 1 TO objects
obj = gluedobject(x).obj
source = gluedobject(x).source
POSITION OBJECT obj, OBJECT POSITION X(source), OBJECT POSITION Y(sourc), OBJECT POSITION Z(source)
ROTATE OBJECT obj, OBJECT ANGLE X(source), OBJECT ANGLE Y(source), OBJECT ANGLE Z(source)
MOVE OBJECT RIGHT obj, gluedobject(x).x#
MOVE OBJECT UP obj, gluedobject(x).y#
MOVE OBJECT obj, gluedobject(x).z#
NEXT x
ENDFUNCTION
Call the type / array declaration before the main loop, call the glueobject function whenever you want (xyz are the xyz offsets), and call the handle function in the main loop. Then to get the global positions, just use the object position command for the glued object, and it'll return it's global position.
Local positions are again just the offsets.