9.3.4 Block Arrows

When typing block in front of any arrow definition, it will become a block arrow. The label of a block arrow is displayed inside it. In addition to the attributes above, block arrows also have fill and shadow attributes, similar to entities.

All arrowheads explained above for regular arrows are supported, except the double and triple ones. In general, types with empty in them, draws a variant of the arrowhead which is not taller that the body of the block arrow. The ones with line draw the same as the ones without. Three additional types ‘empty_inv’, ‘stripes’ and ‘triangle_stripes’ types are supported, as well. See the example below for a detailed list of all types supported for block arrows.

ex67_cshex67

If the arrow has multiple segments and the type of the inner arrowheads is either of half, line, empty, solid or sharp the block arrow is split into multiple smaller arrows. In this case the arrow label is placed into the leftmost, rightmost or middle one of the smaller arrows, depending on the value of the text.ident attribute.

It is also possible to use different arrow symbols leading to different line types, but only if the middle arrow type is such that the arrow is split into multiple contours. If not, the whole arrow is drawn with the line type of the first segment.

ex38_csh ex38

Block arrows do not accept the arrow.skiptype attribute and are not impacted by setting the aline.*, atext.* or the arrow attribute of their source entity. However, they can be slanted using the angle attribute.