# AnnotationBase class

Namespace: [Rhino.Geometry](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
[Serializable]
public class AnnotationBase : GeometryBase
```

Provides a common base class to all annotation geometry.

This class refers to the geometric element that is independent from the document.

**Derived types:** [Dimension](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.dimension.md), [Leader](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.leader.md), [TextEntity](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.textentity.md)

## Constructors

- [AnnotationBase](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/ctor.md): (2 overloads) Protected constructor for internal use.

## Properties

- [AlternateDimensionLengthDisplay](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/alternatedimensionlengthdisplay.md): Alternate length display units and format
- [AnnotationType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/annotationtype.md): Type of annotation
- [DecimalSeparator](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/decimalseparator.md): Set or get the decimal separator c
- [DimensionLengthDisplay](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/dimensionlengthdisplay.md): Length display units and format
- [DimensionScale](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/dimensionscale.md): Gets or sets the dimension scale
- [DimensionStyle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/dimensionstyle.md): If there are no overrides then the parent style is returned otherwise the dimension style saved with the annotation is returned.
- [DimensionStyleId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/dimensionstyleid.md): Id of this annotation's parent dimstyle If this annotation has overrides to dimstyle properties, those overrides will be represented in the DimensionStyle returned by DimensionStyle(ParentStyle)
- [DrawForward](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/drawforward.md): Gets or sets whether the text is oriented towards the reader when viewed from behind
- [DrawTextFrame](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/drawtextframe.md): (obsolete) Gets or sets whether to draw a frame around a text mask
- [FirstCharFont](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/firstcharfont.md): Returns the font used by the first run of text in an annotation
- [Font](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/font.md): The base Font for the text of the annotation. The text string is rich text and therefore a different font that the base font can be associated with sub strings of the text
- [FontIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/fontindex.md): (obsolete) Obsolete; use Font property instead
- [FormatWidth](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/formatwidth.md): Text format width (Wrapping rectangle)
- [HasPropertyOverrides](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/haspropertyoverrides.md)
- [LineSpaceScale](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/linespacescale.md): Scale applied to line spacing
- [MaskColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/maskcolor.md): Color to use for drawing a text mask when it is enabled. If the mask is enabled and MaskColor is System.Drawing.Color.Transparent, then the viewport's color will be used for the MaskColor
- [MaskColorSource](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/maskcolorsource.md): Gets or sets whether the mask background color is from the background or from a color
- [MaskEnabled](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/maskenabled.md): Determines whether or not to draw a Text Mask
- [MaskFrame](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/maskframe.md): Gets or sets whether to draw a frame around a text mask
- [MaskOffset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/maskoffset.md): Offset for the border around text of the rectangle used to draw the mask. This value multiplied by TextHeight is the offset on each side of the tight rectangle around the text characters to the mask rectangle. The default value is 0.1.
- [MaskUsesViewportColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/maskusesviewportcolor.md): If true, the viewport's color is used for the mask color. If false, the color defined by MaskColor is used
- [ParentDimensionStyle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/parentdimensionstyle.md): The parent dimension style associated with this annotation
- [PlainText](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/plaintext.md): Text stripped of RTF formatting information
- [PlainTextWithFields](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/plaintextwithfields.md): Text stripped of RTF formatting information and with field expressions intact
- [Plane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/plane.md): Plane that this annotation lies on
- [RichText](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/richtext.md): Text including additional RTF formatting information
- [Text](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/text.md): (obsolete) Text including additional RTF formatting information
- [TextFormula](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/textformula.md): (obsolete) See RichText
- [TextHasRtfFormatting](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/texthasrtfformatting.md): Gets a value indicating whether the annotation's text is formatted as RTF (Rich Text Format). Returns true if the text begins with an RTF header; otherwise, false.
- [TextHeight](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/textheight.md): AnnotationBase.TextHeight Gets the parent dimstyle for the annotation and gets or sets the text height in the dimstyle
- [TextIsWrapped](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/textiswrapped.md): Is text wrapping on
- [TextModelWidth](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/textmodelwidth.md): Width of text in the model
- [TextRotationDegrees](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/textrotationdegrees.md): Rotation of text in degrees
- [TextRotationRadians](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/textrotationradians.md): Rotation of text in radians
- [UseKerning](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/usekerning.md): Use kerning data in font to set distances between glyphs

## Methods

- [ClearPropertyOverrides](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/clearpropertyoverrides.md): Clears all overridden properties for this annotation
- [FirstCharProperties](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/firstcharproperties.md): (static) Extracts the font properties (bold, italic, underline, and facename) from the first character run of an RTF string.
- [FormatRtfString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/formatrtfstring.md): (static) Modifies the formatting of an RTF (Rich Text Format) string by setting or clearing bold, italic, underline, and font face properties on the first character run.
- [GetBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/getboundingbox.md): Aligned bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
- [GetDimensionScale](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/getdimensionscale.md): (static) Get view dependent dimension scale
- [GetDimensionStyle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/getdimensionstyle.md): Return the proper dimension style from which to get properties for this annotation object If this object has style overrides, those will be included in the returned dimension style and the style will be updated to include the current state of the parent style for non-overridden fields
- [GetPlainTextWithRunMap](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/getplaintextwithrunmap.md): Return plain text string for this annotation with field expressions unevaluated.
- [IsAllBold](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/isallbold.md): Returns true if all of the text in the annotation is Bold, otherwise returns false
- [IsAllItalic](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/isallitalic.md): Returns true if all of the text in the annotation is Italic, otherwise returns false
- [IsAllUnderlined](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/isallunderlined.md): Returns true if all of the text in the annotation is Underlined, otherwise returns false
- [IsPropertyOverridden](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/ispropertyoverridden.md): Returns true if a property is overridden
- [PlainTextToRtf](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/plaintexttortf.md): (static)
- [RunReplace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/runreplace.md): Replace text within a formatted string
- [SetBold](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/setbold.md)
- [SetFacename](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/setfacename.md)
- [SetItalic](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/setitalic.md)
- [SetOverrideDimStyle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/setoverridedimstyle.md): Set a style including overrides for this annotation object. The DimensionStyle OverrideStyle must have the override fields marked as overridden and must have it's Id set to nil. Use DimensionStyle.SetFieldOverride(Field field) and related functions to manage override settings. To override a field, the field value must be set and the field must be marked as an override. The DimensionStyle passed in here must not be in the dimstyle table
- [SetRichText](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/setrichtext.md): Sets the annotation's text as rich text (RTF), optionally using a specified dimension style for formatting overrides.
- [SetUnderline](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/setunderline.md)
- [WrapText](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.annotationbase/wraptext.md): Wrap text

## Inherited Members

- From [GeometryBase](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase.md): [HasBrepForm](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/hasbrepform.md), [IsDeformable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/isdeformable.md), [IsDocumentControlled](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/isdocumentcontrolled.md), [IsShallowDuplicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/isshallowduplicate.md), [ObjectType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/objecttype.md), [UserStringCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/userstringcount.md), [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/componentindex.md), [DataCRC](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/datacrc.md), [DeleteAllUserStrings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/deletealluserstrings.md), [DeleteUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/deleteuserstring.md), [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/dispose.md), [Duplicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/duplicate.md), [DuplicateShallow](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/duplicateshallow.md), [GetBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/getboundingbox.md), [GetUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/getuserstring.md), [GetUserStrings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/getuserstrings.md), [MakeDeformable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/makedeformable.md), [MemoryEstimate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/memoryestimate.md), [NonConstOperation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/nonconstoperation.md), [OnSwitchToNonConst](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/onswitchtononconst.md), [Rotate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/rotate.md), [Scale](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/scale.md), [SetUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/setuserstring.md), [Transform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/transform.md), [Translate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/translate.md)
- From [CommonObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject.md): [Disposed](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/disposed.md), [HasUserData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/hasuserdata.md), [IsValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/isvalid.md), [UserData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/userdata.md), [UserDictionary](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/userdictionary.md), [ConstructConstObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/constructconstobject.md), [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/dispose.md), [EnsurePrivateCopy](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/ensureprivatecopy.md), [GetObjectData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/getobjectdata.md), [IsValidWithLog](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/isvalidwithlog.md), [ToJSON](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/tojson.md)
