Hi there, I have a bit of a tricky question, but hoping someone might be able to help me!
I am working with a grasshopper C# script. I am modifying a ParametricCamp script (available here Computational Design Live Stream #28 - YouTube) for my purposes. The ParametricCamp script works with a particular set of motion sensors and takes the location and orientation data into grasshopper via the C# script. The code takes the position of each sensor data point and then builds a plane using this data point and the x and y orientations of the two sensors. I’ve attached the original script with my notes here.
codinggem2.gh (20.0 KB)
I am also using motion sensor data, but the structure of my data is slightly different. The location of each data point is the structured the same, but the orientation in my data set uses quarternions. So I need to modify the orientation section of the original code. With the help of a friend, we have tried to modify the script, however we are getting a couple of exceptions when trying to run the code. I’ve attached the modified code here:
bodiesinmotion2quart.gh (16.9 KB)
The exceptions are:
On line 90:
Plane pl0 = ToPlane(origin0, q); - Grasshopper is saying that the ToPlane function is for use with a Vector3d, quarternion quat combination, but we’re trying to use it with a Point3d, quarternion quat combination. So I’m getting the error 'cannot convert from ‘Rhino.Geometry.Point3d’ to ‘Rhino.Geometry.Vector3d’
Then on line 115:
return new Plane(origin, vx.Vector, vy.Vector); I’m getting the error 'cannot convert from ‘Rhino.Geometry.Vector3d’ to ‘Rhino.Geometry.Point3d’ (I think because this argument is based on a Vector3d object for the origin, but we’ve previously defined it as a Point 3d object?)
So we seem to be running into some conflicts between Point3d and Vector3d definitions.
Would greatly appreciated if any has suggestions on how we might be able to fix this.
All the Best