Let's say you have a desk and you want to spawn a laptop on top of that. You can use the command 'attachTo.' It works like a charm.
'AttachTo' will freeze an object in its set position, that's why you need to set modify the 'z' coordinate according to your desk height (distance from its center position.)
laptop setposATL [getPosATL desk select 0, getPosATL desk select 1, ((getPosATL desk select 2)+0.83) ];
laptop attachTo [desk];