J'ai une question. Est-il possible d'extraire, d'exporter ou de copier en quelque sorte Propriétés du projet à partir du fichier Revit à l'aide de Revit Python Shell? Et si oui, comme c'est difficile?Propriétés du projet supplémentaires de Revit
Répondre
Par Propriétés du projet Voulez-vous dire Paramètres d'information de projet? Ceci est un moyen rapide pour récupérer un paramètre Information sur le projet dans 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
Edit: Pour récupérer les valeurs paramètre
Je ne peux pas parler à Revit Python Shell, mais en termes d'API Revit, c'est assez simple.
De votre objet Document, il existe une propriété "ProjectInformation".
Donc, en C#, il ressemble à:
Parameter p =
myDoc.ProjectInformation.get_Parameter(BuiltInParameter.PROJECT_NUMBER);
Parameter o =
myDoc.ProjectInformation.GetParameters("MyCustomParameter").FirstOrDefault();
Side note: J'ai récemment couru dans une série de modèles qui ont pas de propriété ProjectInformation (null) sur leur document. Ce n'est pas bon. Je crois qu'il peut être corrigé en exécutant un audit sur le modèle - mais d'un point de vue du code, vous devriez être préparé pour cela (pas comme ci-dessus :)).
wow! Connaissez-vous l'historique de ces fichiers? Voulez-vous essayer d'exécuter doc.Delete sur l'élément ProjectInfo? il peut être possible de l'effacer à tout moment, et ainsi causer de la souffrance et de l'angoisse pour les autres pauvres âmes ... –
Jeremy, je ne sais pas comment ils ont eu ce chemin. Quelques clients nous les ont envoyés parce qu'ils échouaient dans certaines de nos applications, où nous n'avons pas vérifié null sur la propriété ProjectInformation. Nous avons dû mettre un patch pour notre logiciel. – Matt
Oui, merci, ça a marché. Mais ce code ne renvoie pas leurs valeurs. Comment puis-je les voir? – Zed
Merci, c'est exactement ce dont j'ai besoin! – Zed