I just started Rhinoscript development, and I’m still not used with the 3D management. So I would like some explaination for the RotateObject Rhino3D method.
I have an object, and I would like to do a rotation of it, around the Y axis, in particular, around the orange arete.
To do so, I followed this example :
Option Explicit Call Main() Sub Main() 'Create second glass Dim sObj, aBox, aMin, aMax, aCen sObj = Rhino.GetObject("Select object to rotate 1 degree", 0, True) If Not IsNull(sObj) Then aBox = Rhino.BoundingBox(sObj) If IsArray(aBox) Then aMin = aBox(0) aMax = aBox(6) aCen = Array( _ 0.5 * (aMax(0) + aMin(0)), _ 0.5 * (aMax(1) + aMin(1)), _ 0.5 * (aMax(2) + aMin(2))_ ) yAxis = Array( _ 0.5 * (aMax(0) + aMin(0)), _ 0.5 * (aMax(1) + aMin(1)), _ 0.5 * (aMax(2) + aMin(2))_ ) Rhino.RotateObject sObj, aCen, 10.0, yAxis, True End If End If End Sub
But I don’t understand how it works.
What is aBox(6), does it represent the 6th corner of the box ?
Can you explain me aMin and aMax ?
Can you explain me the aCen variable ? What are the different points of this array, and also, why are they all multiply by 0.5 ?
The syntax of RotateObject is as following
Rhino.RotateObject(strObject, arrPoint, dblAngle, arrAxis, blnCopy)
I would like to define the arrAxis to rotate around my orange axis. How can I declare this arrAxis (yAxis in the script) ?
Thank you in advance for your help.