Add option in Grid to toggle X, Y, Z axes visibility independently

It would be very useful to extend the current Grid command with additional controls for axis visibility.

At the moment, we only have a checkbox to show or hide the axes globally. A more flexible approach would be to allow independent toggling of each axis:

There is an option to show/hide the Z axis in Display Options (per display mode)

A bit hidden, but that’s fine. However, I think that in the Grid command, like in the first screenshot, there should be the option to toggle the axes individually.

By enabling the Z axis, I noticed it’s pointing in the opposite direction (downwards). Isn’t that strange? @Japhy


I’m noticing this: it’s quite confusing. The small icon on the left shows the Z axis pointing in the opposite direction compared to the world Z axis line. I extruded a cube and it actually extrudes downward, while I was expecting it to go upward.

The direction of the Z axis is determined by the direction of the X and Y axes using the “right hand rule”. Right-hand rule - Wikipedia Define the direction of X and Y axes in the Cplane and the direction of the associated Cplane coordinate system Z axis is determined. The axes in your video are consistent with the right hand rule. (The direction of Z in the world coordinate system has no effect on the direction of Z in a Cplane coordinate system.)

Ok, the rule makes sense now, but I find it quite confusing that the Z axis, are opposite to the rotation icon. Don’t you think it’s unclear? I expect to move in the correct direction by looking at the icon that points to Z, but instead it goes the opposite way.
If I extrude the cube along Z with a positive value, as shown in the video, it goes down. I would expect it to go up based on the icon.




The icon at the bottom right, like the Top view and the other views, makes me perceive that Z is oriented correctly. However, the Z axis of the CPlane is reversed (is it looking from bottom to top?). That doesn’t seem right to me.
Because otherwise, for more than 10 years, looking at the Top view and the other views, it always felt like I was orienting myself correctly just by looking at the icon at the bottom. But now, after enabling the Z axis, I see that the positive direction of the Cartesian axes is pointing somewhere else. :rofl: :sweat_smile:

There is a serious issue with the axes. I just ran a check in Rhinoceros 8 and Rhinoceros 9: when extruding a cube in Rhino 9 with a positive value, it goes downward (as if the Z axis were inverted), and it doesn’t match the axis icon in the bottom-left corner.

Look: if I open Rhino 8 and extrude the cube with a positive value, it goes upward and matches the Z axis shown in the bottom-left icon, exactly as expected.
Rhinoceros 8 behaves as it theoretically should, and I believe this is how it should work for everyone.

Here I’m activating the Z axis, and it matches the axis icon; in fact, the extrusion behaves accordingly.
rhino 8

rhino8 vs rhino9

The coordinate system you drew is a left hand system, not right hand system. (Compare it to the axes in the lower left corner. Y is in the opposite direction.)

You are mixing the World coordinate system and the Cplane coordinate systems. They are independent.

Extrusion directons are based on the Cplane coordiantes, not the World coordinates.

Do you have AutoCplane enabled? If so then the Cplane coordinates can change with object selection.

I brought the same object into Rhino 8 (the bottom-left icon matches the Z axis of the world), but in Rhino 9 it doesn’t—how do you explain that?
Rhino 9 has the Z axis wrong—honestly, I couldn’t demonstrate it better than in this video.


No, if AutoCPlane had been active, I would have noticed.


I take an old Rhino 8 file to be sure: the Cartesian axes match the icon, and when I extrude, it behaves exactly as expected—the cube goes up with a positive value.


I ran an additional test: I imported that old Rhino 8 file into Rhino 9, and there’s clearly something wrong.

Not seeing anything unusual here in a quick test. Can you post your Rhino 8 file and steps to repeat? Thanks!

I’ll send you the Rhino file via message.
I’ve attached the custom settings I work with—maybe you can figure out why.

@Japhy Ok, thanks for taking a look at my Rhino settings, I’ve corrected the CPlane.

Anyway, my suggestion to include options for displaying the axes in the CPlane still stands. When activating the Grid command, having checkboxes to toggle each axis individually would be useful—like in this case, where I noticed that the Z axis was flipped.

@Japhy There is something really strange… in the perspective view everything is fine, but in the parallel view it isn’t. How is it possible that the CPlane changes? Isn’t that strange?



Asse Z - capovolto.3dm (65.6 KB)

In Options you can select Standard Cplanes or Universal Cplanes. With Universal Cplanes when the Cplane in one viewport is changed the Cplanes in the other viwports are also changed. With Standard Cplanes the Cplane in each viewport is independent. Changing the Cplane in one viewport does not affect the Cplanes in the other viewports. This choice is not new in V9.

In Rhinoceros 8, the X, Y, Z plane in the perspective view matches the X, Y, Z plane in the isometric view.


rhino 9 @wim You changed it, but this is a Rhino 9 issue — I don’t have this problem in version 8.
Starting from the perspective view (the axes are correct), I switched to the isometric view (the planes are flipped). In the isometric view I corrected the CPlane, then I went back to the perspective view and the planes were flipped there!!!

Basically, when the planes are correct in the perspective view, they appear flipped in the parallel view, and vice versa… take a look at the video.

@davidcockey
I started Rhinoceros 9 on my home PC. Now, with the same settings as my work PC, the CPlane axes between the perspective and isometric views are consistent. To be precise, I tried extruding a cube and in both cases it went upwards, as I would expect. I also enabled the visibility of the Z axis, and both viewports are correct.

Based on your description and a suggestion from another user, the first thing I’ll do tomorrow morning is reset the PC where I’m experiencing this issue. Regardless of that, based on what you’re saying and what I’m seeing, the problem might actually be this (until now I assumed that the CPlane icons in the area marked as 1 and those in area 2 had the same importance or hierarchical order), and that’s probably the mistake.

I’m “playing” with the different CPlane commands, and indeed the ones on the left, marked as 1 in the screenshot, behave differently, while the CPlanes I marked as 2 are another type of World CPlane that affects all views. However, this last part doesn’t seem to be correct: if you look from minute 4 onwards, when I activate the World CPlanes as you described, both the perspective and the parallel viewport should update at the same time, right? That doesn’t happen. To update both viewports, I first have to select the window to make it active and then activate the CPlaneWorld command.

@davidcockey What seems odd to me is that, as you can see in the previous video where I modify the CPlane (not the World CPlane) in aisometric viewport, when I switch to the perspective viewport it shouldn’t change… right? Yet it does (I’m referring to the PC I use at work).


At 0:40 mark.

I start Rhinoceros 9 (office PC) with the settings before doing the reset.

From second 20 onward, I make the usual switch to show that the Z axis between perspective and isometric views is inverted.

At minute 1:09, I take the isometric viewport and move it to the left so that both views are visible (isometric and perspective).
At minute 1:30, I create a cube: as you can see, I start from the active isometric view with the Z axis pointing downward, so when I set a positive height value, the cube goes down.

At minute 2, when I switch to the active perspective viewport and create the cube, the height value goes upward along the Z axis, which is correct.
From minute 2:40, I start testing the CPlane command.

At minute 2:55, when I use “Set CPlane Z”, the camera automatically moves to a top view after executing the command. Is this supposed to be normal? It doesn’t make sense that it changes my camera view. I’m modifying the CPlane Z, not asking to change my point of view (I would expect this behavior from “Set CPlane to View”).
Even if this is considered normal, it still feels illogical. Also, if I’m in the active perspective view and use “Set CPlane by Z axis”, why does the change also affect the isometric view? Or vice versa? Shouldn’t it only affect the active viewport? The same thing happens again at minute 3:24.

Every time, I’m forced to open the viewport dropdown menu, go to “Set View”, and restore the isometric view. But who decided that when I set the axes (in this case the Z axis), I should see the camera aligned parallel to it? I’m modifying the axes from the isometric view, not the camera. Yet the camera changes anyway. There’s no clear logic behind this behavior.
Don’t tell me this is normal, because I don’t buy it.

Moving on.
At minute 3:58, in the active isometric viewport, I use “Set CPlane World Top”, and the camera resets itself. What’s the point of that? I’m telling it to modify the Z axis, and it moves the camera instead.
Then I have to go back to the dropdown menu, use “Set View”, and restore the isometric view again. It’s absurd.
Also, using that command in the isometric view flips the Z axis in the perspective view. That doesn’t make sense either.

From minute 4:35 onward, I test the other “CPlane World” commands (pressing F1 doesn’t provide any clear explanation of how these commands are supposed to work).
At minute 5:38, the point of view changes again (this always happens in the isometric view). After several tests, this is the difference I noticed:
– isometric viewport: using “Set CPlane World Top, Bottom, Left, etc.” changes both the view and the CPlane
– perspective viewport: using the same commands keeps the camera fixed and only changes the CPlane, which is the behavior I would expect

At minute 6:30, I go back to the isometric viewport and use the “normal” CPlane commands: I set the axes as I want, but the point of view still changes. It makes no sense.
So once again, I have to go back to the dropdown menu and restore the correct isometric view.

———
At minute 8, I perform a full reset.

From minute 8 onward, you can see how I’ve always customized Rhino: I split the viewports into two main groups.
On the left, I keep all orthographic views because I work with asymmetric objects and need quick view switching.
On the right, I place isometric and perspective views, so I can switch quickly without using the dropdown menu every time.

At minute 16, you can see that the Cartesian axes in both isometric and perspective views are correct and consistent with the gizmo in the lower-left corner.
From minute 30 onward, the recording continues, but I’m not at the workstation because I was called away.

I did the reset. I tested the CPlane World commands again and recorded another video with perspective on the right and isometric on the left. Now CPlane World works correctly, and the issue is gone.

Conclusion: it’s not that I suddenly forgot how to use this after years. The answers I received before were often superficial or presumptuous. I’ve always used CPlanes correctly. The issue was in Rhino, most likely a bug related to viewports and camera behavior with CPlane.

As usual, I ended up fixing it myself by experimenting. The only truly useful suggestion I got was: do a reset.

I had also opened a thread on the Italian forum to ask for help. This morning I received a suggestion while I was writing this reply. I tried following the user’s advice, and guess what—I discovered a new bug :joy: Now I feel like crying. I’m going to grab a coffee.


The command doesn’t work. At this point I’d really like to hear someone else, because after years of using Rhino, having people keep explaining the CPlane to me without seeing that something is clearly wrong is getting frustrating. Have a good weekend.

On each system in both Rhino 8 and Rhino 9 WIP:
Run the command Options
Go to Modeling Aids
Go to Snaps
There are two Cplane options.
One option is Universal Cplanes. If this option is selected then when one Cplane is changed the Cplanes in the primary view will change. The Cplanes in the primary views will remain orthogonal to each other./
The other options is Standard Cplanes. If this option is selected then changing one Cplane does not change the other Cplanes.
Different settings of this option then the Cplanes causes fundamentally different behavior of Cplanes. ’


@Japhy When “Universal Construction Planes” is active, the isometric view—unlike the perspective view—also changes my camera and point of view: it switches to an orthographic view.

I think we’ve finally reached the root of the problem. I’m forced to go into the viewport dropdown and reset the isometric view every time. Now it’s clear where the issue comes from.

However, this behavior is wrong. If it’s designed this way, it doesn’t make sense: as shown in the video, I have to reset the isometric view every time because it gets forced into a “Parallel” view (you can see it directly from the viewport name).

I should be changing the CPlane, not the focus of my view or the camera. If this logic were correct, then it should behave the same way in the perspective view as well. Instead, the perspective viewport keeps the camera fixed and only changes the CPlane.

So yes, this is exactly the issue I’m experiencing. Thanks. @davidcockey


Another factor that others might not notice during testing is that I have both viewports open at the same time—both isometric and perspective. So if someone is using Rhino with the default four views and tries to understand the issue by manually switching the perspective viewport to isometric, but doesn’t have both viewports visible simultaneously like I do, they won’t be able to reproduce the problem.

Modeling aids | Rhino 3-D modeling

The behavior of the construction planes in the viewports is linked. They all share the same origin and are positioned normal to each other. Moving, rotating, or otherwise changing the construction plane in one viewport, changes the construction planes in the other viewports, so the 90-degree/right angle/normal orientation of the construction planes is maintained.

If a construction plane is defined in some view, the Front view for example, and Universal mode is enabled, then the construction plane that was defined will be the Front plane of the new universal plane.