GetMinimumAllowedWidth Method (Document, ElementId)


Returns the minimum width a text element can be created with.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 22.0.0.0 (22.1.0.0)
Since: 2016

Syntax

C#
public static double GetMinimumAllowedWidth(
	Document cdda,
	ElementId typeId
)
Visual Basic
Public Shared Function GetMinimumAllowedWidth ( _
	cdda As Document, _
	typeId As ElementId _
) As Double
Visual C++
public:
static double GetMinimumAllowedWidth(
	Document^ cdda, 
	ElementId^ typeId
)

Parameters

cdda
Type: Autodesk.Revit.DB Document
A document containing the new text element's type
typeId
Type: Autodesk.Revit.DB ElementId
Id of the text type

Return Value

The minimum allowed width in paper space [ft].

Remarks

Note that it is not necessarily a constant; it can be affected by properties of the text type, such as the width factor.

Examples

Copy C#
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;
}
Copy VB.NET
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

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was null

See Also

ArchiLabs Desktop

Put AI to work inside Revit.

Give Desktop your instructions and project files to build Revit families, update model elements, and create views and schedules. Works directly in Revit and AutoCAD.

Explore Desktop →