Свойства проекта добычи из Revit

Можно ли каким-то образом извлечь, экспортировать или скопировать свойства проекта из файла Revit с помощью Revit Python Shell? И если да, то насколько это сложно?

2 ответа

Решение

Под свойствами проекта вы подразумеваете параметры информации о проекте? Это быстрый способ получить параметр Информация о проекте в 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 API это довольно просто.

Из вашего объекта Document есть свойство "ProjectInformation".

Так в C# это выглядит так:

Parameter p =
myDoc.ProjectInformation.get_Parameter(BuiltInParameter.PROJECT_NUMBER);

Parameter o = 
myDoc.ProjectInformation.GetParameters("MyCustomParameter").FirstOrDefault();

Примечание: я недавно столкнулся с потоком моделей, у которых не было свойства ProjectInformation (null) в их Document. Это не хорошо. Я считаю, что это можно исправить, запустив Audit для модели, но с точки зрения кода вы должны быть готовы к этому (не так, как описано выше!:)).

Другие вопросы по тегам