Aller au contenu

Comment exécuter un lisp à la fermeture d'AutoCAD ?


DenisHen

Messages recommandés

Bonjour à la communauté.
Je pense que le titre parle de lui-même.
Je cherche à exécuter un petit Lisp lorsque l'on ferme (quitte) AutoCAD.

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

Il faut passer par un réacteur d'événements, mise à part chat je ne vois pas bien comment....Est-ce à la fermeture d'AutoCAD ou bien du dessin ? Car je vois difficilement comment vérifier qu'il s'agit de la fermeture d'AutoCAD à moins de checker pour chaque fermeture de dessin le nombre de dessins restant ouverts...

Bisous, Luna

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Comme dit @Luna, il va falloir que tu utilises un réacteur (vaste programme)...

Ce serait à la fermeture de chaque document dans lequel le LISP est exécuté (LISP s'exécute toujours dans le contexte du document) avec la fonction vlr-dwg-reactor et l'évènement :vlr-beginClose.

Un exemple simple:

;; charger les fonction COM/ActiveX
(vl-load-com)

;; définir un réacteur pour l'évènement :vlr-beginClose
(vlr-dwg-reactor nil '((:vlr-beginClose . alerteFermeture)))

;; fonction callback à exécuter lors de l'évènement :vlr-beginClose
(defun alerteFermeture (rea lst)
  (alert (strcat (getvar 'dwgname) " va fermer"))
)

Attention, manipuler les réacteurs n'est pas une chose simple qui demande beaucoup de rigueur.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à vous et merci pour votre aide.
Je m'explique, car je m'aperçois que je n'en ai pas dis beaucoup.
J'ai trouvé le moyen de copier une arborescence d'un lecteur (ex:réseau) vers un autre (ex:local), merci Lee Mac.
J'ai des collègues qui ont des PC portables et parfois, ils travaillent chez eux (télétravail, déplacement...).
Tous mes programmes (et beaucoup d'autres aussi) se trouvent sur le réseau, auquel ils n'ont pas accès ailleurs qu'au bureau.
Donc, j'aimerais faire cette copie lors de la fermeture d'AutoCAD quand ils sont sur le réseau (c'est facile, (findfile sur un fichier réseau qui existe).
A moins de trouver une autre solution (backup, synchronisation...), le fait d'automatiser le bidule à la fermeture d'AutoCAD leur évitera d'y penser (je les connais, ils n'y penseront presque jamais).
Je vais exploiter le code de @(gile) et voir ce que je peut en faire.
Encore merci à vous...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité