我尝试使用 python 在 Revit 2024 中的墙上创建线荷载。但我收到错误。我在下面附上了我的代码和错误图像,任何人都可以帮助解决这个问题吗?
import clr
import Autodesk.Revit.DB
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import LineLoad
doc = __revit__.ActiveUIDocument.Document
all_eq = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).WhereElementIsNotElementType().ToElements()
locCrvs = [] #Create an empty list to store the curves
lLoad = []
t = Transaction(doc, "Transaction Name")
t.Start()
for w in all_eq:
locCrvs = w.Location.Curve
EleID = w.Id
lLoad.append(LineLoad.Create(doc, EleID, locCrvs, XYZ(0,0,-1), XYZ(0,1,0), None))
t.Commit()
并且出现错误:hostElemId 不允许用于此类负载。
我正在使用 Revit API 文档中的创建方法来创建线荷载
(参考:https://www.revitapidocs.com/2024/6f4e235f-8aed-5f41-6d85-024e556dcb17.htm)
不知道是否是LineLoadType输入的问题?但我不知道应该为 LineLoadType 输入什么。
您分享的错误消息
hostElemId is not permitted for this type of load
表示您尝试配备负载的元件不支持该操作。请首先研究哪些元素可以配备负载以及如何在最终用户界面中手动执行此操作。它将提供更详细的错误消息以及关于最佳工作流程和最佳实践的更好说明和支持,以实现您的目标。在 UI 中手动成功完成任务后,您可以使用 RevitLookup 探索生成的 BIM,了解如何通过 API 以编程方式获得相同的结果。