Hello a tous!
J'ai 1 lisp (je ne sais plus qui l'a fait...) qui ne fonctionne plus sous autocad 2020. Il sert a fermer tous les fichiers ouverts en enregistrant ou pas.
Et je ne vois pas trop pourquoi...
Si jamais quelqu'un qui s'y connait passe dans le coin, ce serait sympa de m'aider 🙂
;-----------------------------------------------------------------
; TOUT QUITTER SANS ENREGISTRER
;-----------------------------------------------------------------
(vl-load-com)
(defun C:QuitAlln ( / dwg)
(vlax-for dwg (vla-get-Documents (vlax-get-acad-object))
(if (= (vla-get-active dwg) :vlax-false)(vla-close dwg :vlax-false))
)
(command "._close" "_y")
)
;-----------------------------------------------------------------
; TOUT QUITTER ET ENREGISTRER
;-----------------------------------------------------------------
(defun C:QuitAlly ( / cur dwg)
(vl-load-com)
(vlax-for dwg (vla-get-documents (vlax-get-acad-object))
(if (equal (vla-get-activedocument (vlax-get-acad-object)) dwg)
(setq cur dwg)
(progn
(vl-catch-all-apply 'vla-saveas (list dwg (vla-get-fullname dwg)))
(vla-close dwg :vlax-false)
)
)
)
(vl-catch-all-apply 'vla-saveas (list cur (vla-get-fullname cur)))
(vl-cmdf "_.close")
(princ)
)
Résolu ! Accéder à la solution.
Résolu par fruity101079. Accéder à la solution.
Bonjour @fruity101079
Ce qui serait intéressant de savoir s'il y a un message d'erreur ou pas
Merci de nous le faire passer le cas échéant.
J'ai testé (seulement la première fonction) sur 2021 et ça fonctionne sans souci.
Je n'ai pas accès à 2020 sinon j'aurais testé mais je ne vois pas en quoi la version d'AutoCAD peut se révéler importante.
Merci de compléter la question pour qu'on puisse chercher une piste de recherche
Amicalement
Didier Aveline
Je dois avouer que je ne comprend pas...
J'ai voulu refaire le test pour copier/coller le message d'erreur, mais voilà que ça refonctionne à nouveau!
Si jamais ca le refait dans l’après-midi, je remettrai a jour mon message.
Voilà le message que j'obtiens:
quitalln ; erreur: Erreur Automation Le dessin est en cours.
Pour les 2 commandes. Et ca ne le fait pas quand j'ouvre un dessin comme ca juste pour tester... Bizarre.
Bonjour
Petite remarque : Il est recommandé de convertir les appels (command) en (command-s).
exemple :
(command "_qsave") par (command-s "_qsave")
(command "_line" "10,10" "15,15" "") par (command-s "_line" "10,10" "15,15" "")
Bonjour
J'ai testé ce que vous suggérez, mais ca ne fonctionne pas.
Ou du moins, c'est aléatoire...
Si j'ouvre plusieurs dessins juste pour tester, ca va.
Mais je travaille vraiment et que j'utilise un des boutons après plusieurs heures, ca ne marche plus.
Bizarre.
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.