Graphics

Encourage your users to adopt improvement practices to improve graphics display performance.

Drawing size

The main factor that affects graphics performance is the number of entities that are visible when the graphic is rendered to the user. Often, the relative or perceived physical or digital drawing size has little correlation to these factors.

An entity is an individual object or element, such as a line segment, that exists in a CAD drawing. In MicroStation, entities are referred to as elements. A polyline, which can be composed of multiple line and arc segments, is also an entity. A polyline is a single entity regardless of how many vertices and segments it contains. Often, CAD drawings contain layers with information about walls, doors, and furniture, that are composed of exploded singular entities rather than polylines.

For example, the chair in Figure 1 looks simple. Visually, it seems to contain only 4 distinct shapes and is represented by 4 polylines. However, in this case, it is composed of 27 individual entities, consisting of disconnected arcs and line segments. The difference between 4 and 27 is not large, but if a furniture layer on a floor plan that contains 500 chairs, then a layer that can be composed of only 2000 entities has 13,500 instead, which increases the load time for that single layer by a factor of nearly 7 times. Normally, any drawing that contains furniture blocks in this state can have the same issue with other components of the drawing, which can have a major overall impact on performance.
Figure 1. Example of Chair: 4 polylines versus 27 entities
Example of Chair: 4 Polylines vs. 27 Entities

Graphic layer configuration

Improve performance on the TRIRIGA® side by limiting what is initially loaded for all users in the system. Limit loading by using Graphic Layer Config records, which are in the Tools menu under Administration, Graphics, Layer Configuration. By default, a record is included that initially turns off all layers with an entity count greater than 1000.

Reduce this count to improve performance. Graphic Layer Config records have no impact on attached layers, so even if you set this value to 1, all of your attached polyline layers still load completely, which is ideal for most use cases, and as a result, graphics across the system loads quickly regardless of their perceived size. Users who require more information at the time of display can use the Layer Manager to turn on the layers they need to view or export.

Simplifying drawings

If the more complex layers that Graphic Layer Config normally turns off are used often, the best way to limit load times is to clean your CAD drawings by joining exploded blocks and other unconnected entities. While this might seem like a large effort, the process can dramatically improve performance. The best way to demonstrate this process is with a real-world example, such as an AutoCAD floor plan.

The AutoCAD architectural reference file in Figure 3 contains excessive geometry, especially on the furniture layer. When published as-is to a graphics section, the drawing renders all the layers in about 50 seconds, where 45+ seconds of that is the furniture layer. To improve the time, start by reducing the number of entities in the furniture blocks.
Figure 2. Example of AutoCAD Floor Plan
Example of AutoCAD Floor Plan

CAD commands

Repeated furniture vs. reusable blocks:

If furniture is repeated in your drawing that is not in blocks or cells, create blocks or cells so you are not editing the same furniture many times. This example assumes that blocks are already created for the furniture.

In this example, the following desk-and-chair workstation is represented by a block and is repeated in each cubicle 350 times. To display this simple workstation takes101 individual entities for this block, or over 35,000 entities on the furniture layer. In AutoCAD, one quick way to simplify this block is to take advantage of the JOIN option of the PEDIT command. After running the PEDIT command, you can select all of the entities, convert them to polylines if applicable, and join them at a threshold.

In less than 10 seconds, this JOIN option reduced the number of entities for this block from 101 to 29. The command also reduced the total number of entities on the furniture layer by over 25,000. Because you use the command line, the command can be automated by using a LISP routine. If you are unfamiliar with writing LISP that can open a set of drawings in a batch, use existing utilities such as StarBatch to do this work for you. Beyond this step, you need your script to call the noted commands on the requisite layers. For more information, see AutoCAD Command Line API Specification.

Manual editing and cleanup

Remove unneeded geometry or redraw some of it by hand. Although this approach might take some time, the desk and chair in their simplest forms can be represented with 2 polylines alone.

The PEDIT JOIN option

To reduce the load time in the graphics section with all layers turned on, use the PEDIT JOIN option and as some manual simplification across the entire floor plan.

For the initial display of a graphic, it is best for the typical use case to load only what you need with Graphic Layer Config records. Usually, users use the graphics section for reporting, interacting, or locating attached entities such as spaces. In these scenarios, extraneous detail often clutters the graphic. For users who want the option to display more complex layers with furniture or architectural detail, the load times across the system can be improved by simplifying your drawings through the built-in features of your CAD application, or through manual editing and cleanup.
Figure 3. Example of desk and chair workstation: 101 Entities
This image is described in the surrounding text.
Figure 4. Example of AutoCAD Command Sequence: 29 Entities
This image is described in the surrounding text.
Figure 5. Example of desk and chair workstation: Manual Editing & Cleanup
This image is described in the surrounding text.