Hi Charles - yeah, It is confusing and not always very intuitive - the problem is, the orientation plane uses the current Cplane as a reference - in this case, if you flip the front CPlane so that Y is down, it does what you expect. I agree this could/should be better, I’ll see what we can do. My guess is a fix would entail more user input, more like OrientOnSrf, to establish a base plane since the object to be oriented is not necessarily oriented ‘correctly’ to begin with - it can be anywhere.
ArrayCrv does ‘the right thing’ here… so it should be perfectly possible.