Layer effects changing draw order?
Hi all,
I've been starting to use CC3+ again after a long hiatus and I'm running into an ordering issue that I cannot figure out for the life of me.
So, I'm drawing a city map using Mike Schley's city style, and it seems that this style has every symbol from city walls to bridges to taverns all on the "SYMBOLS" sheet. This is a problem because most of those things need to be ordered a particular way. From what I understand CC3 has zero capacity to change draw order of entities within a sheet, but you can sort of deal with this by placing symbols in the order you want them.
In this particular example I want to place a nice retaining wall, and then have buildings around it. So, I placed the wall first and then placed the buildings above that.
Here is the area with no effects, looks how I want it.
But as soon as effects are turned on, the walls are moved above the buildings, even though they are on the same sheet and drawn below.
I also tried selecting all the wall sections and moving them to a sheet below the buildings sheet, with no effect.
Does anyone have any advice as to what is happening here? Is it a hard-coded setting for this particular symbol that forces it to be drawn above everything else or something? Would appreciate any insight, can't continue until this is figured out.
Comments
CC3+ has a behavior where it draws the symbols once, then applies sheet effects, then draws symbols again, in reverse order. Yes, it's weird. Entering "DELAYDRAWSYM 0" on the command line will eliminate this second drawing pass for the current drawing session. If it's something that you want, you can put that command in the drawing's OnOpenMacro map note to ensure that it gets executed every time.
@jslayton Why is the default the redrawing of symbols - there must be some advantage to it, otherwise it would no longer be a feature?
I am told that it was a performance optimization for symbols against the first generation effects implementation. Nowadays, there are some maps that add effects to the SYMBOLS sheet and turning off that second drawing pass causes problems with the appearance of the map. The reverse drawing order part of the behavior looks like an implementation issue rather than a deliberate feature, but breakings drawings at this point in the product lifecycle would be bad.
Thanks for that explanation. To date, i have had no problem with needing to turn off the second drawing.
Personally, I'd add some more sheets and move stuff to them to get more precise control over draw order. More work, but it appeals to the control freak in me.
I think it was more a matter of surprise that the drawing order of just the symbols suddenly changed because sheet effects are turned on. Surprised me quite a bit the first time I saw it and I don't recall hearing anyone relating a tale where it was expected behavior the first time that they saw it. It's why I put in DELAYDRAWSYM. DELAYDRAWSYM 0 isn't the default because it would surprisingly break some small fraction of the drawings out there.
DELAYDRAWSYM breaks translucent symbols.
To comment on one other thing from your post
@Tyrel Froese wrote
From what I understand CC3 has zero capacity to change draw order of entities within a sheet
You can reorder entities using the ordering buttons, such as Bring infront Of, Bring to Front, Send Behind and Send to Back. All of these reorder entities within the same sheet. This does not fix the actual problem you were experiencing of course, but that has been discussed above, and this may help you arrange other things in the future.
I haven't had to do other than move to front or back in my maps.
Thanks so much @jslayton & @Monsen . A combination of these two solutions sorted out the problem for me. The second drawing pass was confusing, but don't know how I forgot about the send behind/in front buttons 🙃 Gave me flashbacks to ordering hundreds of individual mountains as a teenager 😬
Thanks again!