Hmm, @DeepSOIC; are we talking about the same thing here?
In my world a Part = file (an undividable thing like a cylinder head).
Inside this part there are Bodies, a lot of them.
Inside the Bodiea are solids, which can originate from an extruded sketch, thickness of a surface, surface cut of a primitive(block) and so on.
The top Body = PartBody witch contains all other bodies.
One can not move the Part inside it self since it's a file.
Ofcourse one can move Bodies inside the Part, but there's no use in that since one do move its content via points, lines, curves, planes and surfaces.
Points, lines, curves, planes and surfaces are the basis for all solids and they are common for all solids as well, as far as it's possible anyway.
If anyone thinks "what about assembly then?" I say an assembly is a separate file pulling other Parts into it and arrange them, i.e. you move Parts inside an assembly. I think all this has been confused by most people since Jürgen stopped visiting this fora. Man, I which he could get back and explain all this, he is so much better than I am at expaining this.
As it stands now it's a total mess regarding the FreeCAD document versus FreeCAD Part versus FreeCAD Assembly.
In my world one either load a FreeCAD Part or a FreeCAD Assembly. The general FreeCAD document must go, at least as an abbrevasion.
@dbecad; you're on the right track there. But this is just the first of many, many steps in this direction. In the end one can rule an extremly complex model with just a few key "features". This is how we all do it in the professional world.
But we take it one step at a time. I'm very happy that DeepSOIC took his time and fixed so the datum point now works, really appreciate that!