algorithmic modeling for Rhino
is the purpose of this component to move then rotate, or rotate first ?
Orient moves and rotates at the same time. It basically takes geometry from one orthogonal plane to another. Just tested it, seems to work fine.
The first plane you have to specify is the orthogonal frame in which the geometry is currently defined. The second plane is the remapping frame.
Here you can see the arrow to the top left being reoriented, with reference point being the start of the curve, target point being same point moved 10 units in x direction, reference direction y, and target direction 2x.
The result is the bottom arrow, which seems correctly oriented and scaled, but isnt starting at target point.
If I get the transformation data, and reapply it sequentially, that gives the green arrow to the right.
So there is something I dont understand somewhere, or something bugged (like rotation and moving not occuring in correct order)
Yup, there's a bug here. I'll try and find it.
It wasn't a bug in Orient, it was a bug in all the XForm matrix multiplication. Quite serious. Thanks for exposing it.
How complicated is your referenced Brep?
Yes I have. And guess what: I tried to do it by Move + Rotate. Rotate didn't work either.
So as David said it must be a matrix issue. I just posted this just to make sure he wouldn't forget the list management in his fix.
So this is your job? Man I'd love to work on those big boats. Sometimes I'm a little tired of useless yachts for obnoxious millionaires...
Its even better, it's accident investigation :)
I know this has been a while, but the bug was still there when I tried to use the component. I found out the problem has to do with the fact that no plane is specified. I made a new component in which I specified the plane and it works fine for me. It doesn't scale yet since I didn't want it to for my project but feel free to add that functionality!