Autocad permet via Lisp d'ajouter des commandes personnalisées: les fonctions étant définies par (defun LeNomDeFonction (/) ... il faut ajouter un C: devant le nom de fonction:
(defun C:HelloAutocad (/)
(princ "\n Hello user ! ")
)
Ces fonctions peuvent être enregistrées
- dans un fichier acad.lsp que Autocad charge à chaque démarrage
=> les nouvelles commandes sont ainsi tout le temps disponibles
- dans un fichier texte MyLispOuAutreNomPourri.lsp chargé par l'utilisateur
Une fois le fichier *.lsp chargé la commande est reconnue :
(quelle merveille l'informatique ! se faire dire bonjour par une machine ...)
La deuxième solution évite de surcharger l'environnement de commande inutilisée.
Pour charger les fichiers uniquement si l'on se sert d'une commande il suffit de créer une autre commande qui est un appel conditionnel après test de l'existence en mémoire de la commande de base. Cette commande peut être intégrée à acad.lsp ou utilisée avec un bouton de commande :
^C^C(if(not Voile_Courbe)(load(strcat(getenv"RepMeth")"/e-methodes/Lsp/Voi_Cour"))) Voile_Courbe
Test si la commande Voile_Courbe existe, sinon va chercher le fichier idoine dans répertoire pointé par l'intermédiaire de la variable RepMeth
Puis exécute la commande, maintenant qu'on est sûr de sa présence.
Le fichier e-methodes.cui inclut dans e-methodes.zip permet de créer les boutons correspondant aux outils sous condition de respecter l'arborescence des répertoires.