Why the draw order of 2D curves affects the 3D objects?

Hi, I would like to point out about this kinda issue, and to know if it makes any sense, if it is a logical thing or a even a bug.

This video explains it all.

Personally I find this annoying,
I’ve made a decent 2D floor plan, and heavily organized the visibility using SendToback and BringtoFront commands, Then I tried to make the 3D elements out of the drawings, ( which situated above the 2D drawings ), and then as you can see in the video, all the lines that pushed to be at the top ended up shown through the 3D objects, more like a X-ray viewports.

This happens on Rhino 6, and Rhino 5
Is it normal to be happening? and why does it have to affect the 3D objects anyway?

Thank you.

Hello - but that is kind of the point though, of BringToFront. Using SendToBack/SendBackward may be more useful - of course it may look wrong viewed from the other side.

What should happen - 3d position should always win? For me that would break the whole idea…


I see a case for limiting the draw order to objects within the same plane. So if objects are coplanar, one might need to define the order of drawing without overriding the depth perception of other objects.


Hi Rajaa - would that work in general or would there need to be a restriction like World XY - I can imagine multiple planes getting messy…

But in any case one of the most useful things, for me, is specifically to bring curves in front of surfaces…


idk, but what Rajaa suggested, sounds really helpful, for my case at least.
It might be as an option in the settings to constrain the draw order for the specified plane or for the whole space.

Reading in the Help, it implies that the draw order resolves co-planar objects at any plane:
“Draw order defines how coincidental or overlapping objects are displayed”

Hm - that is not really what it does though, right? Maybe it could or should but what I see is it is global and with reference only to the view plane - that is, a solid hatch that is behind another relative to the camera, and behind a surface will always obscure the other hatch and the surface. I mean, it does not care about co-planarity at all. I could definitely see how it could be made more flexible - but (just in my own day to day) I use the current implementation a lot.

I’ll try to cook up a feature request - I am not sure right now what that should be, exactly - @anon80626330 - What should the rules be, according to you?


The draw order commands just slam geometry either to the very front of everything or to the very back. If we try to change this behavior, we will mess up user’s existing models. Please keep this in mind when you make a suggestion in our bug/feature tracking system.

sorry for my english, but if you are asking me about what do I expect,
Well, I expect the 3D objects should always win ( as you said before ) and be at the top, as simple as that.

if you believe the results we are having atm is logical, I can’t figure out what kind of cases that requires this logic? I’m really far away from that.

Shouldn’t draw order affect only visuallization?
Do you mean the 3d objects are also moved?
I thought draw order is something just for the camera. Like say the a cone is drawn from the object to the camera and when you change draw order, objects are moved towards the peak of the cone. But if you rotate that cone since everything is not affecting the 3d space location of the object, the objects you pushed back should still be back. Or am I missing something. For me changing the object in 3d space by changing draw order makes no sense.

This is only for visualization and is typically needed for controlling things like print output.

1 Like

something i have long wanted, is to geht the drawing order generalized, so that also non 2d objects such as surfaces and objects can be displayed according to ones needs.

it would be very useful for modeling but also display purposes.

@encephalon, I think this will be bad.
Instead for 3D I would like to see Alpha added to object colors, independent from ghosted display

Wait, but you can make single object as x-ray, visible above/through all other objects