Marker Head Rotation

 Example objects for this post

Compatibility: introduced in ARCHICAD 22.
In ARCHICAD 22 new rotation logic has been introduced to Detailed, Worksheet and Change Marker heads. This post flies through the library parts’ local coordinate system positioning and the rotation options and angles provided by MARKER_HEAD_ROT_MODE and MARKER_HEAD_ANGLE global variables.

Marker placement

After creating the Marker polygon, the Anchor Point of the Detail, Worksheet or Change Marker is defined by the User. This Anchor Point is the origin of the library parts’ local coordinate system. The direction of this coordinate system can be visualized by the example object of this post.

Rotation options until ARCHICAD 21

Until ARCHICAD 21 the Detail and Worksheet Markers had two rotation options:

  • Rotated Marker The angle of the GDL coordinate system is fixed to the Marker polygon with the given rotation angle. In case of view rotation, symbol rotation, the coordinate system rotates with the Marker polygon. In ARCHICAD 22 this option can be gained by setting Marker Angle: Angle Fixed to Model.
  • Always HorizontalThe angle of the GDL coordinate system is always horizontal, fixed to the screen. It does not rotate with view or symbol rotation. In ARCHICAD 22 this option can be gained by setting Marker Angle: Angle Fixed to Screen and setting the Rotation Angle to 0.

Until ARCHICAD 21 the Change Markers have not had rotation options. ARCHICAD handled the coordinate system similarly to the Always Horizontal option at Detail and Worksheet Markers, except that the coordinate system rotated with the view rotation. From ARCHICAD 22 this rotation method is not available, the Change, Detailed and Worksheet Marker rotation methods are unified as described below.

Rotation options introduced in ARCHICAD 22

From ARCHICAD 22 the Rotation Angle can be set measured from the screen. As at Always Horizontal option in Detail / Worksheet Marker until ARCHICAD 21, the angle of the marker stays fixed to the screen after symbol and view rotations as well (Relative to Orientation angle is fixed).

The set marker rotation mode is given in the MARKER_HEAD_ROT_MODE global variable. The Marker Rotation angle, which belongs to the actual chosen rotation mode, is given in the MARKER_HEAD_ANGLE global variable.

Angle Fixed to Model

If the marker rotation mode is set to Angle Fixed to Model, the value of the MARKER_HEAD_ROT_MODE global variable is 2. When changing the view rotation, the marker head angle rotates with the view: the Absolute angle is fixed. This Absolute angle value is the value of the MARKER_HEAD_ANGLE global variable.

The coordinate system of the marker head provided by ARCHICAD is rotated by the view rotation and the Absolute angle value.

Angle Fixed to Screen

If the marker rotation mode is set to Angle Fixed to Screen, the value of the MARKER_HEAD_ROT_MODE global variable is 1. When changing the view rotation, the marker head angle is fixed to the screen: the Relative angle is fixed. This Relative angle value is the value of the MARKER_HEAD_ANGLE global variable.

Due to compatibility reasons, the marker head’s coordinate system provided by ARCHICAD is always fixed to the screen with a rotation angle value of 0° (see the blue coordinate system on the picture above).

In order to create a marker head, which reacts on the rotation angle (see the red coordinate system on the picture above), the coordinate system should be rotated by the value of the MARKER_HEAD_ANGLE global variable:

if MARKER_HEAD_ROT_MODE = 1 then 	! Fixed to screen Marker Angle
	rot2 MARKER_HEAD_ANGLE
endif