Here is some code showing how to write the URL parameter of a WallType
with the RevitPythonShell. This was created as an answer to the RevitPythonShell group forum. This method should work for other families as well!
# find a WallType to work with...
collector = FilteredElementCollector(doc).OfClass(WallType)
wt = [wt for wt in collector
if Element.Name.__get__(wt).startswith('_dpv AW1')][0]
print Element.Name.__get__(wt)
parameter = wt.get_Parameter(BuiltInParameter.ALL_MODEL_URL)
transaction = Transaction(doc, 'setting URL')
try:
transaction.Start()
parameter.Set('http://systems.arch.ethz.ch')
transaction.Commit()
except:
transaction.Rollback()
The tricky part is the line with wt.get_Parameter(BuiltInParameter.ALL_MODEL_URL)
. I found the ALL_MODEL_URL
parameter name using the RevitLookup tool - which can be launched directly from RPS if you have it installed (just type lookup(wt)
). The basic steps are:
- retrieve the parameter (
Element.get_Parameter
- you can use theBuiltInParameter
enumeration for standard parameters...) - set the value of the parameter (
Parameter.Set
) - since this changes the BIM model, you need to wrap it all in a
Transaction
.