Aller au contenu

Amélioration


Megeon

Messages recommandés

Hello les gars je suis pas particulièrement bon en lisp du coup je me tourne vers vous

 

Il y a quelque temps j'avais fait lors de mon apprentissage du langage un petit programme

 

(defun c:PZ()
 (command "_-purge" "TO" "" "n"
      "_zoom" "et"
      "_qsave"
      "_close")
 (princ)
)

 

Mais voila il ne fait ça que sur un seul fichier.

Est il possible de le faire sur plusieurs fichier d'un coup ?

 

D'avance merci !

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

AutoLISP s'exécute dans le contexte du document.

Ça veut dire que les fichiers LISP doivent être chargés dans chaque document et qu'une routine LISP lancée dans un document ne peut continuer son exécution dans un autre.

 

Il existe bien certains mécanismes en "Visual LISP" pour accéder à des documents fermés ou ouverts mais qui sont moins abordables pour un débutant, entre autre parce qu'il n'autorisent pas utilisation de (command ...).

 

Regarde plutôt du côté des scripts et de SuperAutoScript.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Salut.

 

Je me souviens d'un truc très récent trouvé ici.

 

Avec une petite modification, ça devrait faire ce que tu veux :

;; **********************************************************************************
;;; Sauve et Quitte tous les dessins ouverts (d'après CAD Studio - www.cadforum.cz)  
;;; *********************************************************************************
(defun C:SaveQuitAll (/ dwg)
 (vlax-for dwg (vla-get-Documents (vlax-get-acad-object))
   (if (= (vla-get-active dwg) :vlax-false)
     (vla-close dwg :vlax-false)
   ) ;_ Fin de if
 ) ;_ Fin de vlax-for
 (command "._qsave")
 (command "._close")
) ;_ Fin de defun

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

Salut.

 

Je me souviens d'un truc très récent trouvé ici.

 

Avec une petite modification, ça devrait faire ce que tu veux :

;; **********************************************************************************
;;; Sauve et Quitte tous les dessins ouverts (d'après CAD Studio - www.cadforum.cz)  
;;; *********************************************************************************
(defun C:SaveQuitAll (/ dwg)
 (vlax-for dwg (vla-get-Documents (vlax-get-acad-object))
   (if (= (vla-get-active dwg) :vlax-false)
     (vla-close dwg :vlax-false)
   ) ;_ Fin de if
 ) ;_ Fin de vlax-for
 (command "._qsave")
 (command "._close")
) ;_ Fin de defun

 

Oui, il n'y a plus qu'à ajouter le zoom et la purge en vlisp, une paille...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Salut (gile).

Oui, il n'y a plus qu'à ajouter le zoom et la purge en vlisp, une paille...

Une paille qui est tellement loin de ma portée que je ne tendrais même pas le bras pour l'atteindre... ;)

 

Ce code est, pour moi, encore de la science fiction... A part les lignes "command"... :huh:

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é