Filter dimension by length and add text

You could try this Python script to see if it works :slight_smile: Please note this has been written for the metric system, so if you’re in the US it will be a little different.

import clr 
clr.AddReference("RevitServices") 
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument

dimensions = UnwrapElement(IN[0])
text = IN[1]
value = IN[2]

TransactionManager.Instance.EnsureInTransaction(doc)

results = []

for dim in dimensions:
    numOfSegs = dim.NumberOfSegments
    if numOfSegs > 0:
        for num in range(numOfSegs):
            seg = dim.Segments.Item[num]
            if seg.Value * 304.8 > value:
               dim.Segments[num].Above = str(text)
            results.append(dim)
else:
    if dim.Value * 304.8 > value: 
        dim.Above = str(text)
        results.append(dim)

TransactionManager.Instance.TransactionTaskDone()

OUT = results

It will set the chosen text above the dimension - but only if the dimension, or dimension segment, is greater than your chosen value :slight_smile:

2 Likes