thanks @maje90
Unfortunately, it does now work … AxisX, Axis Y is correct but Axis Z is not… I need all Axes to be correct so it close but not sure if I can achieve all to be the same… hmm
A “Plane” is defined by just an origin, X and Y vectors. Z vector is not needed.
You are seeing “0” because your numbers are so small that the small decimals are not shown, but the number is actually what you want. (E-31 is also really really small…)
As you did, it seems the “Double.Parse” is not needed…
The plane constructor will only construct “valid” planes. For that your plane needs to be “right-handed”, if local x-Axis = (-1) * global X and local y = global Z, the cross-product will automatically yield z-Axis = global Y.
As far as I can see, if you modify a plane that way, it will become null. Which probably makes sense, i don’t know what you would do with a “non-cartesian” frame…
Plane plane = new Plane(new Point3d(),
new Vector3d(-1, 0, 0),
new Vector3d(0, 0, 1));
plane.ZAxis = new Vector3d(0, -1, 0);
A = plane;
Are you sure you need a plane? From the discussion. It seems you need an axis coordinates system. A general axis system doesn’t need to be right handed nor to have unit vector nor to have perpendicular vector.
thanks a lot for your reply,
this was exactly was I was looking for…
so I was following in my program ‘axis coordinates system’ and rhino follows ‘cartesian’
and these two are not exchangeable… .this is why I could not create plane from my system,
I will adjust my system to follow Rhino approach to so we can exchange data… thanks all for help