Am I correct with understanding what you complain about:
* Placement of Clone of Box is nonzero
* you expected Placement of Cut to be nonzero, but it is zero
This is by design. There are quite a lot of people complaining it makes it hard (almost impossible) to move parts as a whole, together with their original shapes. This is being addressed in development version v0.17, where Part and Body containers were introduced to do this kind of business.
yes that is exactly what i got, i got a nonzero origin but it becomes a zero after the sweep cut. it is OK if the origin changed, but it should be consistent, for example, i transfer the sweep cut part to another file for assembly, the script for the assembly uses the origin point, i get way off the mark after the assembly. as temporary fix, i tried to make the part before the sweep cut to zero-origin, then make the sweep cut. Now i copied this part to another file for assembly, the script for automatic assembly works fine now. note that the script for assembly works something like this:
if '03' in obj.Name:
v1o=obj.Shape.BoundBox.getPoint(4) #_03 backcurve
x=[ v3o.x+x_dev ] # gardener is base
y=[ v2e.y-v1e.y ]
z=[ v1o.z-temp ]
z=[ v1o.z-temp ]
the function return x,y,z which is the new placement point of the part. it is still crude. i only need two points (4) front-left-down point, and (2) back-right-up point, to get the part where it is then have the script assemble all the parts. it would be nice if the origin point inconsistency would be solved.
i would like to understand this another way, at first when the part is non-zero origin, its coordinate system is global. After the sweep cut into the part, the origin of part becomes zero, so it means its coordinate system becomes local to the part only. i copy this part to another file, where all it properties have been transferred also, so the local coordinate becomes the global coordinate, but the problem, although the origin coordinate of this part is 0,0,0 it is not actually zero but positioned in the original coordinate before the sweep cut, so it means i got 0,0,0 coordinate but actually it is not. it would be fine if i can call the original coordinate points..Is there a way to call the original coordinate other than call getPoint()????
i havent had a time to compile on my own the freecad, though im using linux, but because its too involved, in the future i think i will. if this somewhat improve in 0.17 i am looking forward for it.