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 theBuiltInParameterenumeration 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.