python revit Part.Utils如何获取附加结果
我设法使用此脚本分割元素,但我还想在我的OUT中收集分割的元素部分,不知怎的,我无法正确执行: 我跳过了标准导入,因为我认为我的混淆在于参数和语法与API方法之间 我试图使用一个预先存在的代码python revit Part.Utils如何获取附加结果,python,revit-api,Python,Revit Api,我设法使用此脚本分割元素,但我还想在我的OUT中收集分割的元素部分,不知怎的,我无法正确执行: 我跳过了标准导入,因为我认为我的混淆在于参数和语法与API方法之间 我试图使用一个预先存在的代码 #proposed by Julien Benoit @jbenoit44 #http://aecuandme.wordpress.com/ 我试图实现的是从输入列表中获取元素,并确定这些元素是否符合创建零件的条件,然后从所有返回true的元素中创建零件 之后我想收集的部分只作为ID列表的结果 此外,
#proposed by Julien Benoit @jbenoit44
#http://aecuandme.wordpress.com/
我试图实现的是从输入列表中获取元素,并确定这些元素是否符合创建零件的条件,然后从所有返回true的元素中创建零件
之后我想收集的部分只作为ID列表的结果
此外,我期待着扩展它,这样我也可以给出一个曲线或直线的列表,它可以用来划分零件列表
# Make Parts
#feed IN[0] with elements
elts = []
Ids = []
Parts=[]
for i in IN[0]:
elts.append(UnwrapElement(i))
for e in elts:
Ids.append(e.Id)
IDS = List[ElementId](Ids)
# Start transaction of Making Parts
TransactionManager.Instance.EnsureInTransaction(doc)
if PartUtils.AreElementsValidForCreateParts(doc, IDS):
a=PartUtils.CreateParts(doc, IDS)
b=PartUtils.GetAssociatedParts(doc,IDS,True,True)
Parts=[]
for i in b:
Parts.append(doc.GetElement(i).ToDSType(True))
List.append(Parts)
doc.Regenerate()
# End Transaction
TransactionManager.Instance.TransactionTaskDone()
OUT = Parts
我相信这与这部分有关:
b=PartUtils.GetAssociatedParts(doc,IDS,True,True)
Parts=[]
for i in b:
Parts.append(doc.GetElement(i).ToDSType(True))
List.append(Parts)
doc.Regenerate()
我相信我刚才在Revit API讨论论坛的帖子中回答了一个非常类似的问题: 您可以在调用CreateParts之前订阅,然后取消订阅 这将告诉您在调用期间添加到数据库中的所有元素ID
这在上的讨论中得到了演示。谢谢Jeremy将尝试在python中对此进行调整