Get and Set parameter of wall using python

Hi I am trying to get parameter and set parameter of base offset of wall. So I manage to the value of base offset of wall but facing difficulty in setting the parameter value.

The code goes as below. Please let me know how do I set values to base offset ?

import clr

import sys
sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib')

import System
from System.Collections.Generic import *

clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager 
from RevitServices.Transactions import TransactionManager 

clr.AddReference("RevitAPI")
clr.AddReference("RevitAPIUI")

import Autodesk 
from Autodesk.Revit.DB import *
from Autodesk.Revit.UI import *

doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication 
app = uiapp.Application 
uidoc = uiapp.ActiveUIDocument

def tolist(obj1):
	if hasattr(obj1,"__iter__"): return obj1
	else: return [obj1]

#Preparing input from dynamo to revit
ele = UnwrapElement(IN[0])

#Do some action in a Transaction

TransactionManager.Instance.EnsureInTransaction(doc)
 
params = ele.LookupParameter("Base Offset")
bsofst = params.AsDouble()*304.8


TransactionManager.Instance.TransactionTaskDone()

OUT = bsofst
1 Like

Hi,

This works?

import clr

#Import the Revit API
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

#Import DocumentManager and TransactionManager
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

#Reference the active Document and application
doc = DocumentManager.Instance.CurrentDBDocument

elem = UnwrapElement(IN[0])

#elem_param = elem.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS)
elem_param = elem.LookupParameter("Base Offset")

TransactionManager.Instance.EnsureInTransaction(doc)
if elem_param.Set(5):
	OUT = 'Success'
else:
	OUT = 'Failed to Set Parameter'
TransactionManager.Instance.TransactionTaskDone()

From here…Looking to set Parameter value with Python. Am I using the correct command? - #4 by MartinSpence

Hope that helps,

Mark

3 Likes

Thanks @Mark.Ackerley I appreciate that. It works

1 Like