Rasters always print on top?

Background: We very recently upgraded to v8i, skipping XM and coming directly from v8.5 (2004).

I cannot figure out how to get rasters to print underneath the linework.  Right now every raster prints atop all linework no matter what I've tried, covering up the linework upon plotting. I've looked into all option screens, property and preference screens and found no setting for something like "print rasters first, then print linework".  I've selected the linework in microstation and done EDIT-BRING TO FRONT, but the raster still obliterates it upon printing.

Our workflow here is to print to PDF, then plot the PDF when needed.  Oddly, when I open the PDF files, the linework appears briefly, then it is covered by the raster images as they load in.  So the linework IS indeed plotting, but the plot order is wrong and I cannot figure out why.

I realize this could possibly be a print driver issue, and that's out of my league.  Hopeful someone can suggest an option/config/preference change to help me here.  Why am I having this trouble with v8i?  Thanks.  Al B.

Parents
  • No, it is a 2D file.

    A coworker said the plotting order used to be handled by "Update Sequence" in v8.5, but the v8i "update sequence" looks a lot different and only has one entry, the CAD file itself. It does not show the raster image on the sequence list.  My test file has no references and one raster, the photogrammetric aerial.

    Also, another thing I just found (unrelated to printing), the aerial (rgb format) will not clip boundary.  I cannot clip it with a fence or with an closed element no matter what I do.  I unclipped it, and now I cannot reclip.  Odd.

  • Our aerial images are huge, 200 MB or so each, so it'd be tough to transmit.  And I seem to have found the fix for this.

    If I go into raster manager and click on (select) the aerial image, then right click and do a SEND TO BACK, then nothing changes with the file or printout.  The aerial prints atop the linework and obliterates it.

    However, if I select all the linework in the file, then deselect the aerial raster image (by clicking on the image border with the Shift key held down to remove it from the selection set) and then I do an EDIT - BRING TO FRONT command, the aerial is now in its proper place underneath the linework.

    So at this point I guess I'm just curious why right-clicking the raster in Raster Manager and trying to do a SEND TO BACK on it doesn't seem to work, and yet selecting all the linework and doing a BRING TO FRONT does.  Having to manually bring all linework to the front in all our aerials in every V8.5 file will be a bit of a pain in the neck, but at least I have a solution that works now.

    If you do wish to investigate Phil, I'd be happy to send you a file, but likely minus the aerial so I'm not sure how that would help.  Appreciate your assistance.

  • In theory, the display priority of Raster Manager attachments should not be complicated in your case -- assuming a 2D model with a raster directly attached (no references).  You should definitely not have to jump through the hoops you describe with the bring-to-front and bring-to-back commands.

    The big difference with Raster Manager attachments between MicroStation 8.5 and 8.9/8.11 is that rasters are now treated more like elements than references.  You already noticed that rasters no longer appear in the reference update sequence list.  Raster elements now can be placed on specific levels, and thus inherit the same level priority (and model priority) that are applied to all other elements in the design.

    The Raster Manager dialog contains three "planes" for raster attachments, indicated by rule lines.  Raster elements can be placed on the background plane, the design plane, or the foreground plane.  Rasters in the background plane should display below all vector elements, rasters in the design plane should display intermingled with vector elements based on display priority or Z depths, and rasters in the foreground plane should display atop all vector elements.

    When you open in MicroStation V8i a design file containing a raster attachment that was authored by MicroStation 8.5, I'm not sure what plane the raster is placed in.  I assume that Raster Manager looks at the reference update sequence.  If the raster is listed first in the update sequence, then the Raster Element should be placed in the background plane.  Otherwise, it should placed in the either the design plane or the foreground plane.  I don't know what the precise behavior is -- you may find a more informed opinion in the base MicroStation V8i forum.

    If the raster element is in the design plane, and shares the same model / level / element display priority as all the vector elements, then the actual display order may be unpredictable.  For performance reasons involving the Direct 3D architecture, overlapping elements with the same display priority are not always drawn in the same order they were placed.  Bentley recommends that all overlapping elements in the MicroStation 8.9 and later be given unique display priorities or Z depths to eliminate this ambiguity.  In the case of raster data, the solution should be as simple as moving the raster element to the background plane.

    I can't explain the clipping issue.  If it reappears or you see it in more design files, I'd recommend contacting Bentley support.  A data case (including the raster data) would be necessary to analyze that problem.

          
    .

  • Andrew Edge:
    The Raster Manager dialog contains three "planes" for raster attachments, indicated by rule lines.  Raster elements can be placed on the background plane, the design plane, or the foreground plane.  Rasters in the background plane should display below all vector elements, rasters in the design plane should display intermingled with vector elements based on display priority or Z depths, and rasters in the foreground plane should display atop all vector elements.

    Thanks for the explanation.  I did not realize there were now these three planes.  I did wonder what the "rule lines" are in the Raster Manager.  I did check, and yes, all my raster ARE indeed on the "background" plane.  Unfortunately, I am still having this issue with rasters printing atop my linework and obliterating all my design elements upon printing.

    Let me ask this question...   I have a design file with two rasters (a RGB aerial and a small TIF for my PE seal with signature), a reference (existing ground features) and all my proposed linework.   Everything plots in the proper order except for the RGB aerial printing atop the Reference File.  My proposed linework prints atop the aerial just fine.  So...  how does Microstation now decide what plots first - raster or reference - since they've been kind of separated versus previous versions (i.e. no rasters in update sequence now)?

  • Something unexpected is obviously going on, but without inspection of the data it's impossible to guess what it might be.  With the raster attachment on the background plane, the 'bring to front' and 'bring to back' commands should have no effect on the raster at all.
     
    I could believe that transparency in the raster might be playing a role, but I'd be more concerned about that if the raster were in the design plane.  I doubt the format of the raster, RGB vs. TIFF, makes any difference at all.  From your description, I suspect the raster element was not converted from the pre-XM format correctly.
     
    I'm sure Bentley Support would be happy to receive a DVD from you via postal mail.  You can file a service ticket to make those arrangements, or another arrangement that is more convenient for you.  The investigation of this problem is likely to be forwarded to either the raster team or the graphics display team, so it would be more effective to manage that discussion through a dedicated support analyst rather than in this printing-specific forum.
     

          
    .

  • Thanks Andrew.  Sorry, I just greatly modified my posting since I had a brainstorm after my intial attempt today.

    I suddenly realized that I have been ignoring the new way rasters and references are handled, and I was not assigning them to a layer.  The post about setting the MS_RASTER_DEFAULT_LAYER post made me think about it.

     Thus, for a more logical workflow I will now place all references on a layer entitled REFERENCE and all rasters will go on an IMAGE layer (just like I used to do in AutoCAD years ago).  Do you think this will help me in any way with proper printing sequence and could this be the answer to my issues?  So far in limited attempts it still does not appear to have fixed anything.  The Reference File is still printing below the RGB Aerial Raster.

    I guess what I'm hoping to hear is that there's a way I can set up a sequence where I can say "print the IMAGE layer first, then print the REFERENCE atop that, then print all the rest of the layers in the current model atop those two.

Reply
  • Thanks Andrew.  Sorry, I just greatly modified my posting since I had a brainstorm after my intial attempt today.

    I suddenly realized that I have been ignoring the new way rasters and references are handled, and I was not assigning them to a layer.  The post about setting the MS_RASTER_DEFAULT_LAYER post made me think about it.

     Thus, for a more logical workflow I will now place all references on a layer entitled REFERENCE and all rasters will go on an IMAGE layer (just like I used to do in AutoCAD years ago).  Do you think this will help me in any way with proper printing sequence and could this be the answer to my issues?  So far in limited attempts it still does not appear to have fixed anything.  The Reference File is still printing below the RGB Aerial Raster.

    I guess what I'm hoping to hear is that there's a way I can set up a sequence where I can say "print the IMAGE layer first, then print the REFERENCE atop that, then print all the rest of the layers in the current model atop those two.

Children
  • The presence of the reference complicates things a bit.  The effective display order depends on the dimensions of the master model and the references, and the reference update sequence.

    If the master model and all the references are 2D, then it's simple. The elements in the master model and the references are all mixed together and sorted in increasing priority order.  The priority of each element is the sum of the model priority, the level priority, and the element priority.

    Rasters on the background plane are supposed to be internally assigned an extremely large negative display priority, so that they get sorted below everything else.  Rasters on the foreground plane are just the opposite, with an extremely large positive priority so that they display on top, regardless of the display priorities you assign to your models and levels.  Rasters on the design plane aren't shifted in this manner -- the should get the same priority as any other element in that model and on that level.

    If the master model and all the references are 3D, then it's also simple.  Everything is mixed together and sorted by Z depth.  The raster planes work the same as as in 2D, only using huge positive and negative Z depths instead of display priorities.

    Attaching a 3D reference to a 2D master, or vice versa, makes things difficult.  Elements cannot be sorted across such 2D/3D boundaries.  So the display priorities are sorted within each model (or across models with identical dimensions that are displayed in series), and the models are displayed in the order determined by the reference update sequence.

    I do not believe assigning design references to a level affects display priority at all.  I would instead think that the priorities of the levels defined in the reference would control the elements inside the reference.  However, the reference itself can be assigned a display priority which would bias the level priorities inside the reference.  Thus, the relative priorities inside the reference would be honored, but the entire reference could be prioritized as a single unit if so desired.

    So, say your raster is attached to the master model in the design plane, and the master model is 2D.  The level the raster is placed on has a display priority of -100.  The line work in the master model is placed on a level with display priority of +100.  All of the elements and levels inside the the ground features reference have priority of 0.  For simplicity, say that model and element priorities are not used.  The reference update sequence says the master model should display last.  If the reference is 2D, everything is sorted together and the reference update sequence is ignored -- the rasters should display on bottom (-100), then the ground features (0), then the master line work (+100).  However, if the reference is 3D, then the master line work and ground features cannot intermingle.  The reference update sequence is used, meaning the ground features are drawn first, then the master model with the rasters below the line work.  That produces the result you describe, and would be my first explanation except that you indicated you weren't using 3D data.

    It gets more complicated with trees of multiple nested 2D or 3D references attached to the master model.

    As I said, if everything is 2D or everything is 3D, then this should be simple (as long as you are not assigning overlapping elements the same display priority or Z depth and relying on the unpredictable file order).  If the raster planes or level priorites aren't working as advertised, then it's likely a raster conversion or sorting problem that I'm not familiar with.

          
    .

  • Thanks again for the explanation Andrew.  Priority settings solved this problem for me.  I merely changed the reference priority to "+1" from "0" and it now plots atop the aerial as it should.