-
Notifications
You must be signed in to change notification settings - Fork 12
/
TextLowerAll.py
46 lines (38 loc) · 1.34 KB
/
TextLowerAll.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# TextLowerAll
#dwane@dsdraughting.com
#2014
#
#import libraries and reference the RevitAPI and RevitAPIUI
import clr
import math
clr.AddReference('RevitAPI')
clr.AddReference('RevitAPIUI')
# to access all the Name-spaces in the RevitAPI & UI, we import them all using *
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Architecture import *
from Autodesk.Revit.DB.Analysis import *
#set the active Revit application and document
uidoc = __revit__.ActiveUIDocument
doc = __revit__.ActiveUIDocument.Document
selection = __revit__.ActiveUIDocument.Selection.Elements
#define a transaction variable and describe the transaction
t = Transaction(doc, 'convert all text to lower case')
#start a transaction in the Revit database
t.Start()
#perform some action here...
#select all the text elements using a collector
txtInstancesFilter = ElementClassFilter(clr.GetClrType(TextElement))
collector = FilteredElementCollector(doc)
textsId = collector.WherePasses(txtInstancesFilter).ToElementIds()
selection.Clear()
#add there id's to a selection set
for id in textsId:
selection.Add(doc.GetElement(id))
print str(id)
#convert selection to upper / lower case
for el in uidoc.Selection.Elements:
el.Text=el.Text.lower()
#commit the transaction to the Revit database
t.Commit()
#close the script window
__window__.Close()