【问题标题】:Extraction Project Properties from Revit从 Revit 中提取项目属性
【发布时间】:2023-03-17 14:39:01
【问题描述】:

是否可以使用 Revit Python Shell 从 Revit 文件中提取、导出或复制 项目属性?如果是,难度有多大?

【问题讨论】:

    标签: revit-api revit revitpythonshell


    【解决方案1】:

    项目属性是指项目信息参数吗?这是在 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
    

    编辑:获取参数值

    【讨论】:

    • 是的,谢谢,它成功了。但是这段代码不返回它们的值。我怎么能看到它们?
    • 谢谢,这正是我需要的!
    【解决方案2】:

    我无法使用 Revit Python Shell,但就 Revit API 而言,它非常简单。

    在您的 Document 对象中,有一个“ProjectInformation”属性。

    所以在 C# 中它看起来像:

    Parameter p =
    myDoc.ProjectInformation.get_Parameter(BuiltInParameter.PROJECT_NUMBER);
    
    Parameter o = 
    myDoc.ProjectInformation.GetParameters("MyCustomParameter").FirstOrDefault();
    

    旁注:我最近遇到了一系列模型,它们的 Document 上没有 ProjectInformation 属性(null)。这不好。我相信可以通过对模型运行审计来修复它 - 但从代码的角度来看,你应该为此做好准备(不像上面那样!:))。

    【讨论】:

    • 哇!你知道这些文件的历史吗?您想尝试在 ProjectInfo 元素上执行 doc.Delete 吗?随时可以删除,给其他可怜的人带来痛苦和痛苦……
    • 杰里米,我不知道他们是怎么做到的。一些客户将它们发送给我们,因为他们在我们的某些应用程序中失败了,我们没有在 ProjectInformation 属性上检查 null。我们必须为我们的软件发布补丁。
    猜你喜欢
    • 2020-09-15
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 2014-06-02
    • 2014-12-11
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    相关资源
    最近更新 更多