ABD SS6 - Best Practices - Cached Visible Edges

Why Cache?

the reasons for using cached visible edges include:

Freeze designs

In a conventional MicroStation environment sheet files and their source Drawing Models are continually updated as references are modified. Bentley users have become used to this.

In the modelling workflow continuous updates are usually beneficial and are indicated in the reference dialog. If the dialog is open, the user can choose to update the reference(s) but they are not updated automatically until the next reload, typically at file open.

In the production workflow continuous updates can be a distraction, frozen file sets are often created to provide a stable set for publication/issue.

Caching sheet files can integrate the frozen stage into the active workflow. Once caching is turned on we display notifications of any changes so the status of the active file relative to its sources is always known.

An example of where this can be beneficial is in the case where the various disciplines involved in a project are not in sync, working at differing states of progress through the design stages. One common scenario is where the lead consultant could publish a set of files to the other consultants, while continuing to work on the next design stage. Another is in a BIM environment working to BS 1192 or similar standard, all consultants will publish to a Common Data Environment to share Work in Progress information as well as issued information. Caching can be used to freeze the files shared in these scenarios.

All of these processes could be described as involving “Close to real time” updating. Processes used in other design software are similarly “Close to real time” rather than live. Valid questions to ask relative to existing practices are: How often do WiP models need to be updated? How many updates are minor and simply distractions from the task in hand?

Regardless of the behaviour of the design software, people should still be talking to one another about design change management not just noting a model change!

Productivity/Performance

Caching provides significant performance improvements in most Dynamic View workflows. This is hugely beneficial:

  • Files open faster

  • Zoom and other dynamics are faster

  • Export to dwg is faster

  • Publication to i-model is faster

  • Printing is faster

Why is Caching Faster?

When a Dynamic View (DV) is created the visibility of the Clip Volumes, Forward, Cut, Back and Outside are calculated.

Recalculation of the DV can be triggered:

  • If a screen redraw is required
  • By export to DWG or i-model
  • By printing

This may be time consuming. We notice any delay in an application these days, so even if the recalculation is quick users will perceive delay as a problem. Once DVs are cached all of these triggers can be avoided.

Portability

Cached views look the same in MicroStation and Navigator so files can be referenced or edited, outside AECOsim Building Designer, particularly in production stages adding 2D embellishment or annotation for instance.

Better looking drawings

Cached views actually look better that Dynamic Views, intersections are more accurate as the settings used can be controlled and set to the standard required by your context. On the fly DV calculations are optimised for speed for obvious reasons.

Dynamic View Cached View

How to Cache

Caching is used and the visible edge settings can be controlled in three different contexts:

  • For on-screen display via the Reference File dialog box…
  • For printing via the Print dialog…
  • In the Export/Save As Options…

In the Reference File dialog box…

From the Print dialog...

Export/Save As Options…

New configuration variables in ABD SS6 and MicroStation SS4

(Note these variables were initially available in ABD SS6 in July 2015, then made available to all V8i platform products with the release of MicroStation SS4 in March 2016).

To avoid unnecessary recalculation of Cached Visible Edges (CVE) in daily workflows (which can occur if the Visible Edges Settings vary between display, print or export contexts) we have added new configuration variables that pre-set the default visible edges settings. Controlling the settings in this way avoids delays due to unnecessary recalculation and also brings consistency to visible edge output within a site or project.

  • MS_VISEDGE_DEFAULTS sets defaults for all of the visible edge processes but allows the user to make changes via the interfaces.
  • MS_VISEDGE_OVERRIDES sets and locks values for all of the visible edge processes disabling changes in the interface for the configured settings.

Alternatively if settings need to vary for one or more of the contexts, they can be pre-set and locked individually using these three variables:

  • MS_CVE_VISEDGE_OVERRIDES controls the displayed CVE processing.

  • MS_PLOT_VISEDGE_OVERRIDES controls the plotted visible edge processing.

  • MS_EVE_VISEDGE_OVERRIDES controls Export Visible Edge and reference file merge visible edge processing.

Each variable can specify one or more of the settings listed below by including the keywords and values in a comma separated list. The keywords are all directly related to the (English) items in the visible edge setting dialogs.

Any Argument set by MS_VISEDGE_OVERRIDES overrides and locks all three of the subsidiary variables.

Variable Arguments

This table lists the available arguments for these variables.

Keyword

Values

Notes

Method

Fast, Exact

Exact Recommended

PlotMethod

Fast, Exact

 

CalculateIntersections

True, False

 

RemoveSmoothEdges

True, False

 

ExpandCustomLineStyles

True, False

 

ProcessTextAndDimensions

True, False

 

UseColorFromMaterial

True, False

 

ForceHiddenEdgesOn

True, False

 

DoTransparencyThreshold

True, False

 

TransparencyThresholdValue

0 – 1.0

If DoTransparencyThreshold =true

Accuracy

Low, Medium, High, ToTolerance

ToTolerance Recommended

Tolerance

Distance

 

OcclusionTolerance

Distance

Only available as override.

 

In SS6 we deliver the MS_VISEDGE_OVERRIDES variable with the following recommended settings:

MS_VISEDGE_OVERRIDES =Method=Exact,CalculateIntersections=True,RemoveSmoothEdges=True,Accuracy=ToTolerance,Tolerance=0.1 Millimeters,OcclusionTolerance=0.001 Millimeters

Managing Cached Content

We have had key-ins available that can change cache status and update the content since ABD SS4. In ABD SS6 we also have a toolbox 'Visible Edge Tools', which you can find in the Toolbars dialog (Ctrl-T):

These tools run the existing key-ins:

Cache:

reference visibleedges allmodels cached

Caches all dynamic view references in all models in the file

Synchronize:

reference visibleedges allmodels synchronizecache

Synchronizes all cached dynamic view references in all models in the file

Dynamic:

reference visibleedges allmodels dynamic

Makes all dynamic view references in all models dynamic.

Note this command will update all models within a file. If you have files that contain many models this could be a time consuming process to initiate manually if you only want to update a single cached view. To update a single view use the additional key-ins below.

Reload:

reference reload force all

Reloads all references in all models, this is the same as the Reference dialog > Tools > Reload All, just made easily accessible. (Note, we have found that this can be faster in files with only one model.)

The reference visibleedges key-ins are delivered in Batch Process settings files found in C:\ProgramData\Bentley\AECOsimBuildingDesigner V8i SS6\WorkSpace\System\data. Their use is discussed in the Building Analysis and Design Wiki: Batch Update of Cached Visible Edges (CVE) in AECOsim Building Designer

Additional key-ins

When in the active model the following three key-ins can be used to quickly:

Set all references to cached: Reference visibleedges cached all
Set all references to dynamic: Reference visibleedges dynamic all
Synchronize Cached views: Reference visibleedges cached synchronize all

Best Practices

  • Synchronizing a cache leaves the hidden cached elements hidden. Switching between Cached and Dynamic will lose the data about which cached elements are hidden. So if you Hide Cached elements, only use Synchronize to update cached content.

  • Cache a dynamic view once it take more than a couple of seconds to open a drawing

    • Cache all drawings on projects with double curved geometry

  • Create Batch Processes using the command files mentioned above for caching all models and for Synchronizing caches

Tips

Even when cached large and complex models may still take time to re-display on screen. In that situation if you don’t need the redraw to complete right click to cancel redraw. Note that multiple right-clicks may be needed when references are involved, the redraw needs to be cancelled for each reference.

 

  • Hi Thomas,

    Good observation, only the information about what cached elements are hidden is lost, not actual elements, I have amended the text. Thank you.

  • "Synchronizing a cache leaves the hidden cached elements hidden. Switching between Cached and Dynamic will lose hidden cached elements. So if you Hide Cached elements, only use Synchronize to update cached content."

    LOSE ? hidden elements. Not UNHIDE?

  • I am trying to get a handle on htis as most of my time is spend in the design process.

    If I understand correctly.  The Best point for Cached View would be at milestones.

    So while you are designing from day one you would not cache until you have what might be considered FINAL for Permitting.

    Then you would KEEP a model.

    So as long as any changes or notation did not affect the model then caching would be preferred.

    But if your workflow involves more and changes to the model are made.  then all Caching needs to be turned off in a single stroke to avoid one sheet out of hundreds not getting the update for what might be considered Rev.1

  • Trust you Marc to pull togerther the definitive summary of a topic that's otherwise only understandable as a confusion of fragments. Thanks.

  • The goal to create/update "visible edges cached" without to open every model, is to save time, because in big models, AECOsim takes to much time to refreshing model views.

  • Mmmm... but it's possible to cache/update "visible edges" cached, without Aecosim open every model?

  • Uops! It's with the keyin

    reference visibleedges allmodels cached :-D

  • Hi Marc,

    This article is really very interesting...

    Is it possible to cached a model of a Dynamic view, without to open the model?

    How to do it?

    Thanks!

    Xavier C.A.

    EiPM

  • The reason that the "Exact" method is listed in the "Export to Visible Edges" dialog is because the configuration variable, MS_VISEDGE_DEFAULTS, is delivered with the setting "Method=Exact".   You need to change this variable first to get the Fast method and then it will be grayed-out in the MS_VISEDGE_OVERRIDES variable.  

  • I tried to change the MS_VISEDGE_OVERRIDES =Method=Fast,CalculateIntersections=True,RemoveSmoothEdges=True,Accuracy=ToTolerance,Tolerance=0.1 Millimeters,OcclusionTolerance=0.001 Millimeters

    and it doesn't work to be fast it keeps Exact.