I am registering two meshes with respect to two lists of points using the python function, OrientObject(object_id, reference, target, flags=0); however I’ve noticed that reordering both lists the same way (such that points still correctly correspond in either list) results in a dramatic change in the alignment. I want to find an optimal ordering, however I am unable to do this without knowing how the objects are actually being registered. Does anyone have any information regarding how this function carries out registering the points?

Can this help you:

http://developer.rhino3d.com/api/RhinoScriptSyntax/win/#object-OrientObject

If two 3-D points are specified, then this method will function similar to Rhino’s **_Orient** command.

If more than two 3-D points are specified, then the function will orient similar to Rhino’s **_Orient3Pt** command.

Start **_CommandHelp** and look at the two commands

Hi Eddi,

Unfortunately this does not help me. I am using more than two 3-D points; however **_CommandHelp** only provides the basic steps for using **_Orient3Pt**, e.g. picking matching point pairings. This does not help me understand why picking the same points in a different order results in a different alignment.

Hi @George3,

The `OrientObject`

method, provided by rhinoscriptsyntax, is a plane to plane transformation.

The the `reference`

points define the source plane and the `target`

points define the target plane. The help file details how these points effect the plane that is used.

Note, the planes (e.g. points) can be arbitrary and having no association with the objects being transformed.

Does this help?

– Dale

@dale, the type of transformation (plane to plane) being used has indeed helped with my dilemma.

Regards,

George