(initcommandversion), un exemple de curieuse fonction AutoLISP

initcommandversion (AutoLISP)

Force l’exécution de la prochaine commande avec la version spécifiée.

Plateformes supportées : Windows, Mac OS et Web

Signature

(initcommandversion [version])

version

  • Type : Integer
  • Cet argument spécifie la version de la commande à utiliser. Si cet argument n’est pas présent, la prochaine utilisation (et uniquement la prochaine utilisation) d’une commande supportée s’initialisera à la version la plus récente.

Valeurs de retour

  • Type : T
  • Retourne toujours T.

Remarques

Cette fonction permet de forcer un comportement spécifique pour une commande supportée, indépendamment de la manière dont elle est exécutée. Cela n’affecte que les commandes qui ont été mises à jour pour supporter une version de commande. Dans de telles commandes, un test pour une version de commande initialisée remplace l’ancien test pour déterminer si la commande est exécutée depuis AutoLISP ou un script. Lorsqu’une commande supportée est exécutée manuellement, la version par défaut est 2 (ou la version la plus récente). Lorsqu’une commande est exécutée depuis une automatisation, la version par défaut est 1.

Exemples

L’initialisation d’une version de commande spécifique peut affecter différemment chaque commande supportée. Par exemple, voici la commande FILLET d’AutoCAD® avec et sans version initialisée :

Commande : FILLET

Paramètres actuels : Mode = TRIM, Rayon = 0.0000

Sélectionnez le premier objet ou [Annuler/Polyligne/Rayon/Rognage/Multiple] : Annuler

Commande : (initcommandversion 1)

Commande : FILLET

Paramètres actuels : Mode = TRIM, Rayon = 0.0000

Sélectionnez le premier objet ou [uNdo/Polyline/Radius/Trim/mUltiple] : Annuler

Un autre exemple typique est la commande COLOR d’AutoCAD®. Exécutée normalement, COLOR affiche la boîte de dialogue Sélectionner une couleur ; mais en exécutant (initcommandversion 1) avant la commande COLOR, elle est forcée de demander la couleur depuis l’invite de commande.

[!note]
Il serait intéressant de savoir si vous avez déjà utilisé cette fonction et pourquoi…