Run Python

Exécuter des scripts Python dans la session Revit active avec les presets, les entrées et les protections de modification du modèle de BIMO.

Run Python permet d’exécuter un script Python depuis BIMO dans la session Revit active. Utilisez-le pour des contrôles rapides, de petites automatisations et des workflows répétables que vous souhaitez conserver sous forme de preset BIMO.

Avertissement : un script Python peut modifier le modèle Revit. Testez les scripts qui modifient le modèle sur une copie ou un fichier de test sûr.

Avant l’exécution

  • Ouvrez le projet ou la famille Revit sur lequel le script doit agir.

  • Vérifiez que le script est prévu pour le document actif.

  • Si le script modifie le modèle, assurez-vous qu’il ouvre et valide sa propre transaction Revit.

Réglages de la commande

Réglage

Fonction

Execution Engine

Choisit le moteur d’exécution : IronPython ou Dynamo_CPython3.

Script file

Chemin facultatif vers un fichier .py. BIMO ne lit ce fichier que lorsque Script est vide.

Script

Code Python saisi directement dans les réglages. Lorsque ce champ n’est pas vide, BIMO l’exécute à la place de Script file.

IN

Liste de valeurs d’entrée textuelles transmises au script.

Choisir un moteur

Utilisez IronPython lorsque le script doit accéder directement au document Revit actif au moyen de variables BIMO telles que __doc__, __uidoc__ ou __uiapp__.

Utilisez Dynamo_CPython3 pour les scripts écrits dans le style d’un nœud Python Dynamo, avec IN pour les entrées et OUT pour la sortie.

Avertissement : Dynamo_CPython3 ne fournit pas __doc__, __uidoc__, __revit__ ni __uiapp__. Si l’interface Dynamo est déjà ouverte, BIMO peut vous demander de la fermer avant d’exécuter le script.

Valeurs disponibles dans le script

Valeur

Disponible dans

Signification

IN

IronPython, Dynamo_CPython3

Valeurs textuelles saisies dans les réglages de la commande.

OUT

IronPython, Dynamo_CPython3

Résultat à afficher après l’exécution. Pour un affichage prévisible, renvoyez du texte.

__doc__

IronPython

Document Revit actif.

__uidoc__

IronPython

UIDocument Revit actif.

__revit__, __uiapp__

IronPython

Contexte de l’application Revit active.

__selection__

IronPython

Objet de sélection Revit actuel.

Renvoyer un résultat

La méthode recommandée consiste à affecter du texte à OUT.

Avec IronPython, la sortie de print() peut également être affichée lorsque OUT n’est pas défini.

Exemple : afficher le nom du document actif

Moteur : IronPython

Cet exemple lit uniquement des informations et ne modifie pas le modèle.

Exemple : utiliser des valeurs d’entrée

Ajoutez une valeur à IN, par exemple une note ou un préfixe, puis exécutez :

Les valeurs de IN sont des chaînes de texte.

Exemple : modifier le modèle de manière contrôlée

Avertissement : cet exemple ouvre une transaction Revit et peut modifier le modèle actif. Utilisez ce modèle uniquement lorsque vous comprenez les modifications effectuées par le script.

BIMO n’enveloppe pas automatiquement votre script dans une transaction.

Emplacement des scripts

Vous pouvez conserver le code directement dans le réglage Script ou l’enregistrer dans n’importe quel fichier .py et le sélectionner dans Script file.

BIMO ne copie pas les fichiers .py dans une bibliothèque de scripts distincte. Si vous utilisez Script file, conservez le fichier dans un emplacement stable auquel Revit peut accéder.

Presets, variants et raccourcis clavier

Run Python prend en charge les presets BIMO. Chaque preset peut mémoriser ses propres réglages :

  • Execution Engine ;

  • Script ou Script file ;

  • les valeurs IN.

Cela permet de conserver plusieurs workflows Python prêts à être exécutés. Par exemple :

Preset

Contenu

Variant

Check Active View

Script contrôlant la vue active.

Variant #1

Fill Parameters

Script de remplissage de paramètres et valeurs IN requises.

Variant #2

Export Data

Chemin vers un fichier .py exportant des données.

Variant #3

Après l’affectation d’un preset à Variant #1, Variant #2 ou Variant #3, le variant apparaît dans la liste déroulante sous le bouton Run Python. Chaque variant est un élément de commande distinct dans le ruban ; vous pouvez donc lui attribuer un raccourci dans Revit Keyboard Shortcuts.

Workflow recommandé :

  1. Créez un preset distinct pour chaque workflow Python.

  2. Donnez au preset un nom décrivant l’action, par exemple Check Active View ou Export Rooms.

  3. Affectez les presets les plus utilisés à Variant #1..#3.

  4. Attribuez des raccourcis clavier aux variants nécessaires dans Revit.

Avertissement : un raccourci lance immédiatement le variant sélectionné. Si le script modifie le modèle, contrôlez d’abord le preset, le document actif et le script sur une copie du projet.

Pour la configuration des variants, consultez Presets and Variants.

Erreurs et dépannage

Problème

Vérification

Le fichier ne peut pas être lu

Vérifiez le chemin Script file et les droits d’accès au fichier.

Le résultat ne s’affiche pas

Renvoyez du texte dans OUT ou utilisez print() avec IronPython. Une sortie vide n’est pas affichée.

Le script échoue

BIMO affiche les détails de l’erreur et permet de les copier. Corrigez le script puis réessayez.

Dynamo_CPython3 ne s’exécute pas

Fermez l’interface Dynamo si elle est ouverte ou utilisez IronPython pour les scripts nécessitant les variables Revit de BIMO.

Limites connues

  • Script est prioritaire sur Script file.

  • Les valeurs IN sont transmises sous forme de chaînes de texte.

  • BIMO ne crée pas de transaction autour du code Python.

  • Les variables Revit telles que __doc__ et __uidoc__ sont disponibles uniquement dans IronPython.

  • Pour un affichage prévisible du résultat, renvoyez du texte dans OUT.

  • Pour un accès rapide au clavier, utilisez des variants affectés à des presets.

An error has occurred. This app may no longer respond until reloaded. Reload 🗙