@patmaba
Try something like...
Try something like...
Type TNeoDym_Magnet Field Px, Body Field mesh% End Type Function CreateNeoDym( pX, pY, pZ, pPivot=0 ) Local l.TNeoDym_Magnet = New TNeoDym_Magnet If pPivot > 0 Then l\mesh = CreateSphere(8,pPivot) Else l\mesh = CreateSphere(8) EndIf l\Body=pxBodyCreateCube(.1,.1,.1,10) pxBodySetPosition(l\Body,pX, pY, pZ) l\Px=pxCreateMagnet(1, 50, 100) pxMagnetSetMaxRadius( l\Px, 200) pxMagnetSetMinRadius( l\Px, 205) pxMagnetSetPosition(l\Px,pX, pY, pZ) PositionEntity l\mesh, pX, pY, pZ Return Handle( l ) End Function Function UpdateNeoDym( ) For l.TNeoDym_Magnet = Each TNeoDym_Magnet pxBodySetEntity l\mesh,l\Body pxMagnetSetPosition l\pX, pxBodyGetPositionX( l\Body),pxBodyGetPositionY( l\Body),pxBodyGetPositionZ( l\Body) pxMagnetActivate(l\Px, 1, 1) Next End Function