# Controlling Display Order

**URL:** <https://discourse.mcneel.com/t/controlling-display-order/22273>\
**Category:** Rhino for Windows\
**Created:** [July 1, 2015, 11:10pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273 "2015-07-01T23:10:02Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![MattE](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/matte/32/664526_2.png) [@MattE](https://discourse.mcneel.com/u/MattE)\
**Post date:** [July 1, 2015, 11:10pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/1 "2015-07-01T23:10:02Z")

</div>

Is there a recommended method for controlling Display Order for 2D drawings? I’ve got a drawing with loads of solid fill hatches and trying to control what-shows-in-front-of-what is a bit of a lottery, especially when throwing the attendant line work into the mix. Ideally I’d like to dictate something like “Item X is in front of Item Y”.

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [July 1, 2015, 11:16pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/2 "2015-07-01T23:16:59Z")

</div>

Hi Matt -

BringForward  
BringToFront  
SendBackward  
SendToBack  
ClearDrawOrder

-Pascal

---

<div class="post-metadata">

**Author:** ![MattE](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/matte/32/664526_2.png) [@MattE](https://discourse.mcneel.com/u/MattE)\
**Post date:** [July 2, 2015, 1:11am UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/3 "2015-07-02T01:11:42Z")

</div>

Hi Pascal. Yes, they’re what I’m using. Problem is, after I’ve used them a few times in a drawing, it’s easy to loose track of ‘BringForward’ or ‘SendBackward’ - of what? When you’ve got a whole load of stuff stacked on top of each other, there’s no way of telling what order things are lying in. I’m resorting to trimming away underlying geometry to get around this, but that’s very destructive and makes for a lot of reconstruction work if overlapping parts subsequently have to be moved.

P.S. - Good to see you back in action! 👍

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [July 2, 2015, 3:22pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/4 "2015-07-02T15:22:10Z")

</div>

Hi Matt- maybe wee need “BringInFrontOf” and “SendBehind” that would prompt for a subsequent selection and put your object either in front of the front-most or behind the back-most object in the second selection. Just making stuff up, but it seems like it should be possible.

Yeah, sort of back in action- thanks- not quite firing on all cylinders, but getting there…

-Pascal

---

<div class="post-metadata">

**Author:** ![MattE](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/matte/32/664526_2.png) [@MattE](https://discourse.mcneel.com/u/MattE)\
**Post date:** [July 2, 2015, 5:57pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/5 "2015-07-02T17:57:22Z")

</div>

That would be good. Part of the problem with the current set up is that it’s very easy to loose track of which Display Order commands you’ve called and which items you’ve applied them to. After the event, there’s nothing to say “this thing’s in front of this one”. I suppose that should be plainly evident just by looking at the screen, but the truth is the order gets easily broken. What happens for example if you select one (hatch) and apply BringToFront, then select another and do the same? The result isn’t always predictable.

Would it be possible to add some sort of DisplayOrder functionality to layers, say by adding a column to the Layers palette that allowed you to assign a number (pecking order) to dictate the display order? An on/off at the top of the column could disable the whole thing when not needed. Then it would be easy to select objects by layer and bring them to the top of the pile.

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [July 2, 2015, 6:02pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/6 "2015-07-02T18:02:16Z")

</div>

Hi Matt-

> [@MattE](#):
>
> What happens for example if you select one (hatch) and apply BringToFront, then select another and do the same? The result isn’t always predictable.

I’d expect the second hatch to be in front of everything and the first one to be behind it and in front of everything else… does it not work that way?

-pascal

---

<div class="post-metadata">

**Author:** ![MattE](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/matte/32/664526_2.png) [@MattE](https://discourse.mcneel.com/u/MattE)\
**Post date:** [July 2, 2015, 9:10pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/7 "2015-07-02T21:10:27Z")

</div>

Err…no. Not all the time anyway. Try it a few times with a combination of line work and solid hatches. You’ll see what I mean. There comes a point where you can’t bring the line work forward of the hatch(es), no matter what you do. If you’ve got Groups consisting of a mix of lines and hatches over other Groups of a similar composition, it gets a bit wayward too.

PictureFrames seem to ignore DisplayOrder too?

---

<div class="post-metadata">

**Author:** ![jessegould](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/jessegould/32/169474_2.png) [@jessegould](https://discourse.mcneel.com/u/jessegould)\
**Post date:** [July 7, 2015, 10:45pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/8 "2015-07-07T22:45:33Z")

</div>

Could we add the ability for layer order? Similar to how it works in Adobe packages…?

Would make draw order so much simpler!

---

<div class="post-metadata">

**Author:** ![kleerkoat](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kleerkoat/32/262111_2.png) [@kleerkoat](https://discourse.mcneel.com/u/kleerkoat)\
**Post date:** [July 16, 2016, 4:58am UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/9 "2016-07-16T04:58:35Z")

</div>

sorry to revive and old topic, but it seemed fitting…

has there been any progress on this? it would be nice to have more control over the display order.

thank you.

---

<div class="post-metadata">

**Author:** ![MattE](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/matte/32/664526_2.png) [@MattE](https://discourse.mcneel.com/u/MattE)\
**Post date:** [July 16, 2016, 4:38pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/10 "2016-07-16T16:38:48Z")

</div>

Not that I’ve seen in the current service release (V5). I find the easiest way to work around this when things go awry is to clear the Display Order settings for the objects in question and start over again.

---

<div class="post-metadata">

**Author:** ![kleerkoat](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kleerkoat/32/262111_2.png) [@kleerkoat](https://discourse.mcneel.com/u/kleerkoat)\
**Post date:** [July 16, 2016, 6:24pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/11 "2016-07-16T18:24:23Z")

</div>

thank you for the reply.

ugggg, that’s going to drive me nuts doing a layout using hatches on hundreds of components to mask out back ground objects while needing about 50 on the bery top. 😉

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [July 16, 2016, 6:27pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/12 "2016-07-16T18:27:11Z")

</div>

Hi Ryan - try selecting your 50 that need to be on top, ClearDrawOrder and then BringToFront. Anything good happen?

-Pascal

---

<div class="post-metadata">

**Author:** ![kleerkoat](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/kleerkoat/32/262111_2.png) [@kleerkoat](https://discourse.mcneel.com/u/kleerkoat)\
**Post date:** [July 17, 2016, 5:51am UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/13 "2016-07-17T05:51:40Z")

</div>

thanks Pascal, I’m getting started back up on it tonight. i’m sure i’ll end getting it sorted out. gotten through all the years dealing with it. just came across the thread and thought with the time lapse from the last reply and me diggin it back up maybe something got cooked up.

guess a wish would be for display order to follow the layer tree.

---

<div class="post-metadata">

**Author:** ![Daniel\_Corder](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/daniel_corder/32/54682_2.png) [@Daniel\_Corder](https://discourse.mcneel.com/u/Daniel_Corder)\
**Post date:** [February 25, 2017, 5:40pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/14 "2017-02-25T17:40:01Z")

</div>

![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/3/5/358d29621ccb641d67a26d9be8bc6f69df69c123.png)I HAVE THE SAME PROBLEM BUT IN THE 3D VIEW, I DONT KNOW HOW TO SOLVE IT

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [February 27, 2017, 5:26pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/15 "2017-02-27T17:26:20Z")

</div>

Hi Daniel - can you post an example file? The simplest file that shows the problem would be best - thanks.

-Pascal

---

<div class="post-metadata">

**Author:** ![nie1](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nie1/32/110848_2.png) [@nie1](https://discourse.mcneel.com/u/nie1)\
**Post date:** [August 10, 2018, 7:54pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/16 "2018-08-10T19:54:44Z")

</div>

It’s already v6 now, 3 years from the first post in the thread…  
And the draw order is still not functioning - it’s impossible to control the draw order between blocks and other elements.  
Please solve it. It is such an essential feature!

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [August 10, 2018, 7:59pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/17 "2018-08-10T19:59:16Z")

</div>

Hello - you could be the first one in the thread to actually supply an example file - you won’t get a medal, but that would be the best first step in troubleshooting.

thanks,

-Pascal

---

<div class="post-metadata">

**Author:** ![nie1](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nie1/32/110848_2.png) [@nie1](https://discourse.mcneel.com/u/nie1)\
**Post date:** [August 12, 2018, 11:45am UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/18 "2018-08-12T11:45:32Z")

</div>

Ok, so I was able to recreate one very basic issue in a matter of seconds.  
I think you don’t even need any example file (anyway it’s in the attachment)

Precisely: Try to use BringToFront command on the block (hatch A) so that this block is displayed in the front of another hatch(B). Impossible.

[1808121330-draw\_order\_problem.3dm](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/b/a/ba98d3ad22949fe2a9182dcddd926705d9094402.3dm) (36.6 KB)

---

<div class="post-metadata">

**Author:** ![nie1](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nie1/32/110848_2.png) [@nie1](https://discourse.mcneel.com/u/nie1)\
**Post date:** [August 12, 2018, 6:24pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/19 "2018-08-12T18:24:40Z")

</div>

Another one, this time no blocks involved.  
A simple task - make this:

 ![1808121950-draw_order_problem-2](https://global.discourse-cdn.com/mcneel/original/3X/1/7/17d6adee85fe2e7b54cfbd534a4df26e80066302.jpeg)  
using two commands only: BringToFront and SendToBack,  
within this file:  
[1808121950-draw\_order\_problem-2.3dm](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/2/3/23d46f955516667c639edce242258a39cf61b6af.3dm) (44.2 KB)

Impossible.

Or am I doing something fundamentally wrong?

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [August 13, 2018, 5:15pm UTC](https://discourse.mcneel.com/t/controlling-display-order/22273/20 "2018-08-13T17:15:42Z")

</div>

Hello - here, the dot hatch does not display at all. If I switch the hatches to ‘+’ I can manipulate them as needed, so far…

-Pascal

[Next page](https://discourse.mcneel.com/t/controlling-display-order/22273.md?page=2)
