从 Revit 中提取项目属性
Extraction Project Properties from Revit
是否可以使用 Revit Python Shell 从 Revit 文件中提取、导出或复制 项目属性?如果有,难度有多大?
我不能说 Revit Python Shell,但就 Revit API 而言,它非常简单。
从您的文档对象中,有一个 "ProjectInformation" 属性。
所以在 C# 中它看起来像:
Parameter p =
myDoc.ProjectInformation.get_Parameter(BuiltInParameter.PROJECT_NUMBER);
Parameter o =
myDoc.ProjectInformation.GetParameters("MyCustomParameter").FirstOrDefault();
旁注:我最近 运行 研究了大量模型,这些模型的文档中没有 ProjectInformation 属性 (null)。这不好。我相信它可以通过 运行 对模型进行审核来解决 - 但从代码的角度来看,您应该为此做好准备(不像上面那样!:))。
项目属性是指项目信息参数吗?这是在 RPS 中获取 项目信息 参数的快速方法:
parameterName = 'Project Name'
value = '- parameter not found -' # default setting
for parameter in document.ProjectInformation.Parameters:
if parameter.Definition.Name == parameterName:
if parameter.AsString():
value = parameter.AsString()
elif parameter.AsDouble():
value = parameter.AsDouble()
elif parameter.AsInteger():
value = parameter.AsInteger()
else:
value = '- invalid value -'
print value
编辑:获取参数值
是否可以使用 Revit Python Shell 从 Revit 文件中提取、导出或复制 项目属性?如果有,难度有多大?
我不能说 Revit Python Shell,但就 Revit API 而言,它非常简单。
从您的文档对象中,有一个 "ProjectInformation" 属性。
所以在 C# 中它看起来像:
Parameter p =
myDoc.ProjectInformation.get_Parameter(BuiltInParameter.PROJECT_NUMBER);
Parameter o =
myDoc.ProjectInformation.GetParameters("MyCustomParameter").FirstOrDefault();
旁注:我最近 运行 研究了大量模型,这些模型的文档中没有 ProjectInformation 属性 (null)。这不好。我相信它可以通过 运行 对模型进行审核来解决 - 但从代码的角度来看,您应该为此做好准备(不像上面那样!:))。
项目属性是指项目信息参数吗?这是在 RPS 中获取 项目信息 参数的快速方法:
parameterName = 'Project Name'
value = '- parameter not found -' # default setting
for parameter in document.ProjectInformation.Parameters:
if parameter.Definition.Name == parameterName:
if parameter.AsString():
value = parameter.AsString()
elif parameter.AsDouble():
value = parameter.AsDouble()
elif parameter.AsInteger():
value = parameter.AsInteger()
else:
value = '- invalid value -'
print value
编辑:获取参数值