I’ve started to dive into forging things with lots of moving parts and there’s something I’ve noticed.
-When using scripts to offset objects and then another to return them to their original state, they don’t return to the same exact position.
-When selecting a grouped object, they only have the magnetic properties of one of the objects in the group.
-When a group/weld of objects is moved, they sometimes move independently.
Is there some kind of relationship between time, offset, and magnetization that are yielding in a small offset error with objects? Does anyone else have this problem?
I can help with the first two items on your list.
For offsetting an object the best way to return it to its original position is instead of using the move offset script in the opposite direction, use the return to original position script. That way, say you have a button that toggles the object to move or come back you wont have it act wonky, it will just return to where it first was.
As for the grouping, only the Parent Item will have the magnets to ease for placement. To change the parent item just look at the objects properties and change it to the item you want to use the magnets for.
There does seem to be some small calculation error when groups of objects are moved, or more specifically, rotated. I created a large hollow cylinder with a core running through the center to act as an axis of rotation. After grouping the entire set of pieces and welding them (with the axis of rotation acting as the parent), scripting it to rotate slowly causes the entire structure to slowly drift off into space. It’s pretty clear that they didn’t do much testing on most of the scripting.
If they DID do any testing, they’d have noticed that despawning doesn’t work, multiple condition scripting doesn’t work, and rotating objects drift out of their correct path rather quickly.
It also seems to me that they’re handling the whole welding thing incorrectly, as the way they seem to be doing it allows for massive amounts of error over time. They need to bump up their floating point precision by a few bytes or something, because forge is going to lose its fun factor really quickly if they don’t make scripting work as expected.