Le Coin des AutoCADiens |
Le chargement automatique des applications |
Avec AutoCAD 2000 |
Avec AutoCAD 2000 c'est devenu très facile de charger automatiquement une application
quelconque en lisp ou VBA avec des fichiers ayant une extension lsp, fas, arx, vlx, dvb ou dbx). Dans le menu déroulant Outils, choisissez l'option Charger une application ... pour ouvrir la boîte de dialogue Charger/Décharger les applications. Dans cette boîte de dialogue, cliquez sur le bouton Contenu dans la zone Au démarrage. ![]() La boîte de dialogue Applications lancées au démarrage s'ouvre alors. Cliquez sur le bouton Ajouter... qui ouvrira la boîte de dialogue Ajouter fichier aux applications lancées au démarrage. Naviguez alors pour choisir le fichier désiré. |
Les fichies Acad.lsp et dérivés |
AutoCAD 2000 : AutoCAD charge automatiquement certains fichiers AutoLISP : Deux fichiers, acad2000.lsp et acad2000doc.lsp qui sont spécifiques à AutoCAD 2000. Quoique qu'ils puissent être utilisés par tout le monde, AutoCAD recommande que vous réserviez ces fichiers pour une utilisation par Autodesk.
Ces fichiers sont :
Un cinquième fichier est également chargé automatiquement, s'il existe : menu_en_cours.mnl qui est un fichier de même nom que le fichier de menu du dessin en cours, avec l'extension .mnl. Malgré l'extension, ce fichier est un fichier de routines autolisp ou généralement l'on met les routines spécifiques au menu. Par exemple, le menu standard d'AutoCAD, acad.mnu, nécessite le chargement du fichier acad.mnl qui définit diverses fonctions AutoLISP utilisées par le menu. Vous pouvez placer une fonction S::STARTUP dans acad.lsp, acaddoc.lsp et également dans le fichier .mnl. Cependant, sachez qu'en plaçant différentes fonctions S::STARTUP dans plusieurs fichiers, seule la dernière fonction S::STARTUP chargée sera prise en compte. Voir le paragraphe s::startup pour éviter ce problème. Vous devez créer vous-même acad.lsp, acaddoc.lsp et éventuellement le fichier .mnl. Cependant, une fois que vous avez créé une routine AutoLISP et l'avez enregistrée sous l'un ou l'autre nom, vous pouvez ajouter des routines supplémentaires au même fichier. Notez que certaines applications créent elles-même ces fichiers, et il est donc possible que vous les ayez déjà. AutoCAD 2000 sait qu'il faut charger ces fichiers automatiquement, pour autant qu'ils existent. L'ordre de chargement de ces fichiers d'initialisation est :
Le paragraphe ci-dessus concernant AutoCAD 2000 est applicable aux versions précédentes d'AutoCAD, en tenant compte des remarques suivantes :
|
La fonction s::startup |
Les fichiers LISP peuvent être chargés au lancement d'AutoCAD en utilisant load dans acad.lsp ou acaddoc.lsp. Quelques lisps qui exigent de fonctionner avec un menu adapté doivent être chargé à partir du fichier menu.mnl correspondant. Le fichier menu.mnl, s'il est différent, devrait charger ou contenir les routines de acad.mnl. Les fichiers lisp qui appellent des commandes au démarrage doivent être
définis dans la fonction |
Exemple de fichier d'autochargement |
;;; ACAD.LSP ou Acaddoc.lsp (C) R.ROSEC FASOFT 22/04/2000 ;;; Chargement automatique des commandes BiRaRR et du menu correspondant ;;; Pour version 13, 14 et 2000 ;;; ;;; Pour R14 et 2000 supprimer la ligne "command menuload" ;;; après la 1ère installation ;;; ;; Pour les versions R13 et R14, utilisez defun au lieu de defun-q (defun-q S::BIRARR() ; ligne 9 (princ (load "ra" "\nFichier ra.lsp non chargé")) (princ (load "tbox" "\nFichier tbox.lsp non chargé")) (princ (load "birarr" "\nFichier BiRaRR.LSP non chargé")) ;; chargement automatique de fichier lisp ; ligne 13 (autoload "perp.lsp" '("perp")) ;; chargement automatique de fichier arx - Versions 13 & 14 (autoarxload "porte.arx" '("porte")) ;; chargement automatique de fichier .vlx - Version 2000 (autoload "calc2.vlx" '("calc2")) ; ligne 18 (autoload "poutrl.vlx" '("poutrl")) (autoload "pef.vlx" '("pef")) (autoload "ecrou.vlx" '("ecrou")) ;; Chargement d'un menu partiel ; ligne 22 ;; Pour les version AutoCAD 14 et 2000, supprimez les 5 lignes suivantes (setq *filedia* (getvar "filedia")) (setvar "filedia" 0) (command "_menuload" "birarr") ; ligne 26 (menucmd "P7=+BiRaRR.pop1") (setvar "filedia" *filedia*) ;; chargement d'une routine VBA ; ligne 29 (defun oblong() (setq *filedia* (getvar "filedia")) (setvar "filedia" 0) (if (command "-vbarun" "boutonniere") (princ) (if (= "1" (getvar "USERS1")) (princ) (progn ;; modifiez le chemin en conséquence (command "_vbaload" "c:\\acad2000\\vba\\oblong.dvb") (setvar "USERS1" "1") (command "-vbarun" "boutonniere") ) ) ) (setvar "filedia" *filedia*) (princ) ) ; fin defun oblong ) ; fin defun s::birarr ;; (setq S::STARTUP ; ligne 50 (if (and S::STARTUP (listp S::STARTUP)) (append S::STARTUP (cdr S::BIRARR)) S::BIRARR ) ) |
Quelques explications du code
|