pyRevit

Code
Library
Change Wall Level Constraints example
# -*- coding: utf-8 -*-
# Author: Erik Frits
from Autodesk.Revit.DB import *
# ╦ ╦╔═╗╦═╗╦╔═╗╔╗ ╦ ╔═╗╔═╗
# ╚╗╔╝╠═╣╠╦╝║╠═╣╠╩╗║ ║╣ ╚═╗
# ╚╝ ╩ ╩╩╚═╩╩ ╩╚═╝╩═╝╚═╝╚═╝
#====================================================================================================
doc = __revit__.ActiveUIDocument.Document
uidoc = __revit__.ActiveUIDocument
app = __revit__.Application
# ╔╦╗╔═╗╦╔╗╔
# ║║║╠═╣║║║║
# ╩ ╩╩ ╩╩╝╚╝ MAIN
#====================================================================================================
# Get Levels
lvls = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Levels)\
.WhereElementIsNotElementType().ToElements()
# Create Transaction to make changes in the project.
with Transaction(doc,__title__) as t:
t.Start()
# Get Wall
wall = doc.GetElement(ElementId(346574))
# Get Wall Parameters
wall_base = wall.get_Parameter(BuiltInParameter.WALL_BASE_CONSTRAINT)
wall_top = wall.get_Parameter(BuiltInParameter.WALL_HEIGHT_TYPE)
wall_height = wall.get_Parameter(BuiltInParameter.WALL_USER_HEIGHT_PARAM)
# Choose New Levels
new_base_level = lvls[2] # I am taking random level
new_top_level = lvls[3] # I am taking random level
# Set New Associated Levels
wall_base.Set(new_base_level.Id) # Set Base
wall_top.Set(new_top_level.Id) # Set Top
# SET TOP: Unconnected Height
wall_top.Set(ElementId(-1)) # Set Top: None
wall_height.Set(20) # Set Unconnected Height (20 feet)
t.Commit()
# Author: Erik Frits

⌨️ Happy Coding!
Erik Frits