stephan35 Posté(e) le 27 avril 2007 Posté(e) le 27 avril 2007 Bonjour ! Je souhaiterai être aidé sur les réacteurs,j'ai besoin de déclenché une série de test après l'éxecution de la commande _saveas, genre : -si le répertoire de sauvegarde respecte une certaine arborescence, activer certains éléments du menu etc. 1 - est-ce la bonne méthode2 - avoir un exemple3 - peut-on tout tester ou les limites des réacteurs Un grand merci !!!!
(gile) Posté(e) le 27 avril 2007 Posté(e) le 27 avril 2007 Salut, Je ne suis pas super fortiche avec les réacteurs, mais voilà en gros comment le fais : Définir un réacteur dans une variable globale: (setq *CheckBeforeSaveReactor* (vlr-command-reactor nil '((:vlr-commandWillStart . CheckBeforeSave)) ) ) Définir la (ou les) fonctions associées : (defun CheckBeforeSave (rea cde) (if (= (car cde) "SAVEAS") (alert "Faire les vérifications") ) ) Pour "faire le ménage" : (vlr-remove *CheckBeforeSaveReactor*) (setq *CheckBeforeSaveReactor* nil) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
stephan35 Posté(e) le 27 avril 2007 Auteur Posté(e) le 27 avril 2007 Salut Gile ! Merci pour la petite intro .... que je m'empresse de tester .... les asterix sont obligatoires ????? *check...* ??? Merci ! a+
(gile) Posté(e) le 27 avril 2007 Posté(e) le 27 avril 2007 es asterix sont obligatoires ????? *check...* ??? Rien d'obligatoire, c'est une convention pour reconnaître les variables globales (non déclarées en local dans une routine).Pour ce type de variables, je n'hésite pas non plus à mettre des noms longs pour éviter la probabilité de conflit avec d'autre qui pourraient exister dans le dessin courant. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 27 avril 2007 Posté(e) le 27 avril 2007 SalutJe ne sais pas où tu souhaites faire tes tests (au début, en fin de sauvegarde ?)Mais voici un exemple que tu pourras adapter ps : j'utilise vlr-dwg-reactor plutot que vlr-command-reactor, afin de n'intervenir que sur la sauvegarde/ouverture/fermeture d'un dessin (en dwg, pas en dxf) et pas à chaque commande @+ (defun debut_de_la_sauvegarde(rea data) (princ "\nLa Sauvegarde débute.") (princ) ) (defun fin_de_la_sauvegarde(rea data) (princ "\nLa Sauvegarde est terminé.") (princ) ) (defun c:start_save() (if reacteurs_sauvegarde (princ "\nLes réacteurs de sauvegarde sont déjà actifs.") (progn (setq reacteurs_sauvegarde (vlr-dwg-reactor nil (list (cons :vlr-beginSave (function debut_de_la_sauvegarde)) (cons :vlr-saveComplete (function fin_de_la_sauvegarde)) ) ) ) (princ "\nLes réacteurs de sauvegarde sont activés.") ) ) (princ) ) (defun c:end_save() (if reacteurs_sauvegarde (progn (vlr-remove reacteurs_sauvegarde) (setq reacteurs_sauvegarde nil) (princ "\nLes réacteurs de sauvegarde sont désactivés.") ) (princ "\nLes réacteurs de sauvegarde sont déjà désactivés.") ) (princ) ) *check...* Tiens, cela me rappelle un certain marais ;) [Edité le 27/4/2007 par Patrick_35] Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
stephan35 Posté(e) le 27 avril 2007 Auteur Posté(e) le 27 avril 2007 Ah ! Serait-ce normal de ne pas pouvoir jouer avec menu pendant un évenement réacteur ???_menuload plante !! ??? :casstet: (defun CheckEndSave (rea cde) (if (= (car cde) "SAVEAS") (progn ; Regarde si la structure correspond à la norme SETBT (load(strcat $drive "STARTUP_chargement_parametres_debut.LSP")) (if (/= $affaire $controle) (progn .... ) (progn (if (= nil (menugroup "MENU_FAV"))(command "_menuload" (strcat $drive "menu\\MENU_FAV.MNU"))) (setcfg (strcat "AppData/BHZ/Config/Startup/" (getvar "DWGPREFIX")) "1") (load(strcat $drive "STARTUP_chargement_parametres_debut.LSP")) (load(strcat $drive "STARTUP_ACTIVATION.LSP")) ) ) ) ) ) Merci !
(gile) Posté(e) le 27 avril 2007 Posté(e) le 27 avril 2007 Il me semble qu'on ne peut pas utiliser la fonction (command ...) avec les réacteurs. Essaye : (vla-load (vla-get-MenuGroups (vlax-get-acad-object)) (strcat $drive "menu\\MENU_FAV")) mais je crois qu'il faut que ce soit un .CUI [Edité le 27/4/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant