public static TextNote Create( Document document, ElementId viewId, XYZ position, double width, string text, TextNoteOptions options )
Note that the position's relation to the text's bounding box depends on the requested text alignment (set via the Options argument). It will be the box' top-left corner for a left-aligned text, the top-right corner for a right-aligned text, and middle-top point if the text is to be centered.
| Exception | Condition |
|---|---|
| ArgumentException | The document is a family that cannot contain text notes. -or- The viewId does not represent a valid graphic view element in the given document. -or- The options structure does not contain a valid text type to use for a new text note in the given document. -or- A valid point must not be father then 10 miles (approx. 16 km) from the origin. -or- The given width is not valid. A valid value must be within the range returned by static methods GetMinimumWidthLimit and GetMaximumWidthLimit. |
| ArgumentNullException | A non-optional argument was null |
As a view-specific element the text note will be visible only in the specified view.
The new text note will be created using the give text type, which defines the style. The currently default style can be obtained from the Document.GetDefaultElementTypeId method.
#region Autodesk.Revit.DB.TextElement.GetMinimumAllowedWidth(Autodesk.Revit.DB.Document, Autodesk.Revit.DB.ElementId) public TextNote AddNewTextNote(UIDocument uiDoc) { Document doc = uiDoc.Document; XYZ textLoc = uiDoc.Selection.PickPoint("Pick a point for sample text."); ElementId defaultTextTypeId = doc.GetDefaultElementTypeId(ElementTypeGroup.TextNoteType); double noteWidth = .2; // make sure note width works for the text type double minWidth = TextNote.GetMinimumAllowedWidth(doc, defaultTextTypeId); double maxWidth = TextNote.GetMaximumAllowedWidth(doc, defaultTextTypeId); if (noteWidth < minWidth) { noteWidth = minWidth; } else if (noteWidth > maxWidth) { noteWidth = maxWidth; } TextNoteOptions opts = new TextNoteOptions(defaultTextTypeId); opts.HorizontalAlignment = HorizontalTextAlignment.Left; opts.Rotation = Math.PI / 4; TextNote textNote = TextNote.Create(doc, doc.ActiveView.Id, textLoc, noteWidth, "New sample text", opts); return textNote; } #endregion
#Region "Autodesk.Revit.DB.TextElement.GetMinimumAllowedWidth(Autodesk.Revit.DB.Document, Autodesk.Revit.DB.ElementId)" Public Function AddNewTextNote(uiDoc As UIDocument) As TextNote Dim doc As Document = uiDoc.Document Dim textLoc As XYZ = uiDoc.Selection.PickPoint("Pick a point for sample text.") Dim defaultTextTypeId As ElementId = doc.GetDefaultElementTypeId(ElementTypeGroup.TextNoteType) Dim noteWidth As Double = 0.2 ' make sure note width works for the text type Dim minWidth As Double = TextNote.GetMinimumAllowedWidth(doc, defaultTextTypeId) Dim maxWidth As Double = TextNote.GetMaximumAllowedWidth(doc, defaultTextTypeId) If noteWidth < minWidth Then noteWidth = minWidth ElseIf noteWidth > maxWidth Then noteWidth = maxWidth End If Dim opts As New TextNoteOptions(defaultTextTypeId) opts.HorizontalAlignment = HorizontalTextAlignment.Left opts.Rotation = Math.PI / 4 Dim textNote__1 As TextNote = TextNote.Create(doc, doc.ActiveView.Id, textLoc, noteWidth, "New sample text", opts) Return textNote__1 End Function #End Region