Macros et scripts de commandes

Toutes les commandes de Rhino peuvent être utilisées dans des scripts de commandes. Les macros de commande peuvent être lancées à partir de la ligne de commandes, de boutons, de raccourcis, d'alias de commandes, de la commande LireFichierCommande ou avec la commande Coller utilisée au cours d'une commande de Rhino.

Écrire des macros de commandes

Écrivez les macros de commande tout comme vous écririez la séquence de commandes dans la ligne de commandes.

Caractères spéciaux

Signification dans la macro

(espace)

Un espace dans un macro agit comme si vous appuyiez sur Entrée.

Lorsque, dans un script, vous écrivez un nom ou une chaîne de texte contenant des espaces, vous devez les mettre entre guillemets afin d'éviter de rompre la séquence de commandes.

Par exemple :

-SélNom "Tableau 01"

-SélNom Tableau 01

*
(astérisque)

Permet de répéter automatiquement la commande sans passer par la touche Entrée.

!
(point d'exclamation)

Annule la commande précédente.

Un point d'exclamation (!) au début d'une macro annule toute commande en cours. En toute autre position, il annule la macro. Si nécessaire, le point d'exclamation peut aussi être utilisé à la fin d'une macro.

-
(trait d'union)

Évite la boîte de dialogue.

Toutes les commandes peuvent être transformées en macro dans la ligne de commande (même les commandes qui présentent une boîte de dialogue). Pour éviter la boîte de dialogue et utiliser les options dans la ligne de commande, précédez le nom de la commande d'un tiret (-). Pour certaines commandes (comme par exemple SurfaceParSectionsDéveloppable) les options ne sont disponibles que dans la ligne de commandes.

_
(trait de soulignement)

Lance des commandes et options en Anglais.

Rhino es traduit en plusieurs langues. Les commandes et les options sont traduites dans chaque langue. Si vous voulez que vos macros fonctionnent dans le monde entier, vous devez les écrire en Anglais en précédent chaque commande et option d'un tiret bas (_).

Par exemple :

Cerle 3Points 0,0,0 1,1,0 0,3,0

Cette macro ne fonctionne que dans la version française de Rhino.

 

_Circle _3Point 0,0,0 1,1,0 0,3,0

Cette macro fonctionne dans toutes les versions de Rhino, quelle que soit la langue de l'interface.

'
(apostrophe)

La commande suivante est une commande encastrable.

La manipulation du plan de construction et de la vue et les accrochages aux objets sont des commandes encastrables. Les commandes de création de géométrie ne sont pas encastrables.

Les accrochages aux objets temporaires et les filtres de sélection sont automatiquement encastrables et n'ont pas besoin d'être précédés d'une apostrophe.

\
(barre oblique inverse)

Si le dernier caractère de la macro d'un bouton de barre d'outils est "\", la macro s'exécute sans la touche Entrée à la fin.

Par exemple :

Créez un bouton de barre d'outils avec la macro "5\". Si vous cliquez sur le bouton, le chiffre 5 est entré dans la ligne de commande sans action supplémentaire. Cette fonction peut être utilisée pour créer une barre d'outils qui fonctionne comme un clavier numérique.

~
(tilde)

Supprime des options de commande pour obtenir des informations claires sur la commande. Les options fonctionnent toujours comme avant.

;

(point-virgule)

Commentaire.

Les lignes commençant par un point-virgule (; ) ne sont pas une partie proprement dite de la macro, elles permettent d'écrire des commentaires dans la macro ou d'essayer des données différentes.

Par exemple :

; Cette macro est un test
Cercle 0,0,0 15
Ligne 0,0,0 pause ;15,0,0
; Ligne 0,0,0 0,15,0
Ligne 0,0,0 -15,0,0

::
(deux-points)

L'imbrication des calques est indiquée par deux points - « :: » entre les noms des calques Dans la commande -Calque, ajoutez un nouveau calque imbriqué sous le Calque 01 en utilisant une macro telle que :

! _-Calque Nouveau "Calque 01:: Nouveau calque" Entrée

#
(dièse)

Active l'enregistrement de l'historique pour la commande suivante.

Par exemple : #RaccordArc

%
(pourcentage)

Désactive l'enregistrement de l'historique pour la commande suivante.

Par exemple : %RaccordArc

!&

(point d'exclamation + et)

Désactive le verrouillage de l'historique dans une session de commande. RH-56397

Par exemple : !&Supprimer et !&Joindre

Exemples

Dessiner un cercle

Cette macro crée un cercle dont le centre se trouve au point 5,5 et dont le rayon est de 10 :

5997! -Cercle 5,5 10

Les espaces entre les entrées correspondent aux moments où vous appuieriez sur Entrée si vous tapiez la commande à la main.

Annuler la sélection en cours et lancer la commande Déplacer

Cette macro lance la commande Déplacer mais vérifie qu'aucun objet n'est sélectionné avant de vous demander de sélectionner les objets à déplacer :

6004! RienSélectionner Déplacer

Créer une courbe passant par des points

Cette macro crée un groupe de trois points à partir d'un fichier de texte, elle sélectionne ensuite tous les points et dessine une polyligne passant par ces derniers :

6006! ToutSélectionner Points Pause Pause Entrée InverserSél CourbeParPt EntréeFin

Comment fonctionne ce script :

! ToutSélectionner

Annule toute commande en cours et sélectionne tous les objets se trouvant dans le modèle.

_Points

Lance la commande Points.

_Pause

_Pause

_Pause

Permet de choisir trois points.

_Enter

Simule le fait d'appuyer sur la touche Entrée qui arrête la création de points.

_Invert

Inverse la sélection. Tous les objets visibles dans la scène ont été sélectionnés au début du script, donc, après avoir utilisé la commande InverserSél, seuls les nouveaux points créés sont sélectionnés.

_CurveThroughPt

Crée une polyligne passant par les objets ponctuels sélectionnés.

_EnterEnd

Termine la commande

Pour éviter l'utilisation d'une boîte de dialogue

! -Reconstruire Pause Points=10 Degré=3 Entrée

Sélectionner une courbe et lancer cette macro. Toutes les options seront définies par cette macro.

Pour essayer ces scripts

  1. Sélectionnez la macro de ce chapitre de l'aide.
  2. Ctrl+ C pour la copier dans le presse-papiers.
  3. Cliquez dans l'invite de commandes de Rhino et appuyez sur Ctrl + V pour coller la macro
Commandes spéciales de scriptage

Pause

Pause dans une macro pour que l'utilisateur puisse introduire une donnée.

Exemple :

6025! Cercle Pause 50

Cette macro demande un point et dessine ensuite un cercle centré en ce point et de rayon 50 unités.

MultiPause

Met en pause un script le temps de plusieurs sélections, comme pour la commande Joindre, Polyligne et CongéBord.

Entrée

Simule le fait d'appuyer sur Entrée dans une macro.

Cette commande ne répète pas la commande précédente comme si vous appuyiez sur Entrée.

EntréeFin

Termine la commande

DésactiverRégénération

Évite la régénération de l'écran et les changements de plan de construction ou de caméra pendant l'exécution de macros.

ActiverRégénération

Réactive l'option de redessiner l'écran après avoir utilisé la commande DésactiverRégénération.

CopierInvitesDésactivé

Désactive la copie des commandes de macro dans la fenêtre de l'historique.

CopierInvitesActivé

Active la copie des commandes de macro dans la fenêtre de l'historique.

Si vous ne savez pas comment écrire une macro, lancez la version de la commande avec un tiret. Sélectionnez et copiez la séquence de commande et collez-la dans votre texte de macro.

Éditeur de macro

La commande ÉditeurMacro ouvre une fenêtre d'édition pour la création et le test de macros.

Panneau Éditeur de macro

Étapes

  1. Tapez des commandes et options dans la fenêtre de l'éditeur de macros.

  2. Cliquez sur le bouton pour tester la macro.

Barre d'outils

Lancer

Exécute toute la macro ou la partie en surbrillance.

Supprimer

Efface la boîte d'édition.

Menu contextuel

Couper

Copie le texte sélectionné dans le presse-papiers et le supprime.

Copier

Copie le texte sélectionné dans le presse-papiers.

Coller

Insère le texte placé dans le presse-papiers à l'emplacement du curseur.

LireFichierCommandes

La commande LireFichierCommandes lit et exécute une macro de commande à partir d'un fichier de texte.

Étapes

  • Dans la boîte de dialogue Ouvrir un fichier de texte, sélectionnez le fichier à lire.
    Le texte se trouvant dans le fichier est copié dans la ligne de commande et les lignes du fichier de commandes sont interprétées comme si elles avaient été tapées dans l'invite.

Notes

Exemple

Créez un fichier de texte comme dans l'exemple suivant qui contient des commandes pour créer toutes vos courbes. Dessinez ensuite les courbes en une seule fois avec LireFichierCommandes.

6058! CourbeInterp
23,5,0
23.2,5,0
23.7,5.2,1
_Enter
_interpcrv
26.1,4.9,1.1
26.8,4.9,1.0
27.1,4.8,0.9
Entrée

etc.

CopierInvitesActivé

La commande CopierInvitesActivé active la copie des commandes de macro dans la fenêtre de l'historique.

Pour désactiver la copie des invites, utilisez la commande CopierInvitesDésactivé.

CopierInvitesDésactivé

La commande CopierInvitesDésactivé désactive la copie des commandes de macro dans la fenêtre de l'historique.

CopierInvitesDésactivé ou _NoEcho doit être le tout premier mot de la macro pour fonctionner correctement. Tout le reste, y compris le point d'exclamation, doit se trouver après, séparé par un espace simple.

Appuyez sur Entrée

La commande Entrée fonctionne comme si on appuyait sur Entrée. Utilisée dans les scripts ou la programmation de boutons de barres d'outils.

Exemple

Ce script définit un plan de construction à partir de trois points :

'PlanC 3Points

Pause Pause Pause Entrée

La commande Entrée ne répète pas la commande précédente comme si vous appuyiez sur Entrée.

EntréeFin

La commande EntréeFin fonctionne comme si on appuyait sur la touche Entrée pour terminer une chaîne de commandes, elle est utilisée dans les macros ou la programmation de boutons de barres d'outils.

EntréeFin est utile lorsqu'une commande possède un grand nombre de niveaux d'options comme PropriétésDocument ou Options et que vous voulez quitter la commande sans avoir à taper autant de fois Entrée que de niveaux utilisés. Par exemple :

6080! -PropriétésDocument Maillage Personnalisée _DistMaxBordSurface .01

nécessiterait au moins deux ou trois Entrée pour terminer la commande. Avec EntréeFin, la commande se termine quand vous voulez.

Exemple

6082! -PropriétésDocument Maillage Personnalisée _DistMaxBordSurface .01 EntréeFin

Fermer

La commande Fermer peut être utilisée dans un script pour fermer un modèle de Rhino.

  • La commande doit contenir le chemin vers le fichier à fermer ; sinon elle ne fait rien. RH-55865

Exemple de script Python :

import Rhino

import scriptcontext as sc

Rhino.RhinoApp.RunScript("Close "+sc.doc.Path+" Enter", False)

Quitter

La commande Quitter ferme la session de Rhino en cours.

Pour accéder aux options de la ligne de commande

  • Tapez un tiret devant le nom de la commande -Quitter.
Options de la ligne de commande

Oui

 

Non

 

Annuler

 

Pause

La commande Pause arrête une macro pour que l'utilisateur puisse réaliser une action.

Exemple

Cette macro demande un point et dessine ensuite un cercle centré en ce point et de rayon 50 unités.

6095! Cercle Pause 50

MultiPause

La commande MultiPause arrête une macro pour que l'utilisateur puisse réaliser une action.

Exemple

Cette macro demande les objets à joindre.

6098! Joindre MultiPause

Lancer

La commande Lancer exécute une autre application à partir de Rhino.

Étapes

  • Tapez le nom et le chemin du fichier à lancer.

DésactiverRégénération

La commande DésactiverRégénération désactive la régénération de l'écran et les changements de plan de construction ou de caméra pendant l'exécution de scripts.

Pour réactiver la régénération de l'écran

ActiverRégénération

La commande ActiverRégénération active la régénération de l'écran et les changements de plan de construction ou de caméra pendant l'exécution de scripts.

Pour désactiver la régénération de l'écran

Scripts

RhinoScript est un module permettant d'exécuter les scripts. Les langages de scriptage permettent les boucles, les noms de variables, la recherche de fichiers, les requêtes et autres.

Les commande à utiliser :

Étapes à suivre

  1. Écrivez une fonction de script.
    Les scripts de Rhino utilisent l'extension de fichier .rvb.
  2. Exécutez la commande ChargerScript pour charger un script dans la mémoire.
  3. Utilisez la commande LancerScript pour exécuter le nom de la fonction.

Si vous faites glisser un fichier .rvb sur la fenêtre de Rhino, le script sera chargé et lancé.

Plus d'aide sur les scripts

  • Dans le menu ? de Rhino, cliquez sur Modules externes puis sur RhinoScript.

Pour de plus amples informations sur l'écriture de scripts dans Rhino, voir : http://wiki.mcneel.com/rhino/basicmacros.

ChargerScript

La commande ChargerScript lit un fichier de script à partir du disque, le charge dans l'interprète de scripts et le lance.

Si vous faites glisser un fichier .rvb sur la fenêtre de Rhino, le script sera chargé et lancé.

Étapes

  • Dans la boîte de dialogue Charger un fichier de script, cliquez sur Ajouter.
  • La commande scriptable, -ChargerScript, est compatible avec les variables d'environnement de Windows dans le chemin du fichier rvb à charger. RH-65034

  • Des références sont également disponibles en ligne pour les programmeurs sur RhinoScript :

    https://developer.rhino3d.com/guides/rhinoscript

LancerScript

La commande LancerScript lance un script déjà chargé.

Si vous faites glisser un fichier .rvb sur la fenêtre de Rhino, le script sera chargé et lancé.

Étapes

  • Dans la boîte de dialogue Exécuter la sous-routine du script, cliquez sur Aide.

ModifierScript

La commande ModifierScript ouvre un éditeur de texte pour modifier les fichiers RhinoScript.

Étapes

  • Dans la boîte de dialogue Modifier le script, cliquez sur Aide.

LancerScriptPython

La commande LancerScriptPython lance un script de Python.

Des références sont également disponibles en ligne pour les programmateurs sur Rhino.Python : http://developer.rhino3d.com/guides/rhinopython/.

-LancerScriptPython

Options

RedémarrerMoteur

Force le moteur Python à redémarrer. Cette option n'est utile que lorsque des scripts agissant sur plusieurs fichiers sont écrits et testés.

ModifierScriptPython

La commande ModifierScriptPython permet de modifier un script Python.

Pour de plus amples informations sur l'écriture de scripts dans Rhino, voir : http://wiki.mcneel.com/developer/python.