It should be pretty straightforward in theory, but in practice it throws system exception and crashes max 
Don’t know if it will work when used from compiled c# dll
code
tea = Teapot isSelected:true
g = (dotNetClass "Autodesk.Max.GlobalInterface").Instance
n = g.coreinterface14.getselnode 0
tm_parent = g.Matrix3.create()
tm_parent.IdentityMatrix()
tm = g.Matrix3.create()
tm.IdentityMatrix()
tm.SetTranslate (g.point3.create 0 0 50)
tm_xf = g.SetXFormPacket.Create tm tm_parent
g.suspendanimate()
n.TMController.SetValue currenttime.ticks tm_xf true (dotNetClass "Autodesk.Max.GetSetMethod").absolute
g.resumeanimate()