autospeed Posté(e) le 26 août 2011 Posté(e) le 26 août 2011 Bonjour , Je ne sais pas pourquoi ce lisp qui sert à éffacer les présentations et qui fonctionne correctement sous Autocad 2010 ne fonctionne plus sur Autocad 2012. Les présentations ne s'éffacent plus ! (defun c:delp(/ dbx dirbox lay lst fic rep) (defun dirbox(msg / cdl rep) (if (setq cdl (vlax-create-object "Shell.Application")) (progn (and (setq rep (vlax-invoke cdl 'browseforfolder 0 msg 512 "")) (setq rep (vlax-get-property (vlax-get-property rep 'self) 'path)) ) (vlax-release-object cdl) ) ) rep ) (vl-load-com) (and (setq rep (dirbox "Selectionnez un répertoire")) (setq lst (vl-directory-files rep "*.dwg" 1)) (foreach fic lst (setq dbx (vla-open (vla-get-documents (vlax-get-acad-object)) (strcat rep "/" fic))) (princ (strcat "\n Travail sur " fic))(princ) (vlax-for lay (vla-get-layouts dbx) (vl-catch-all-apply 'vla-delete (list lay)) ) (princ " ...Sauvegarde")(princ) (vla-close dbx :vlax-true) (princ " ...OK")(princ) ) ) (princ) ) Auteur du logiciel AutospeedAuteur de la théorie du site www.kheops.bizAuteur de nombreux livres
(gile) Posté(e) le 26 août 2011 Posté(e) le 26 août 2011 Salut, S'il te plait, pour que le code soit plus lisible, utilise les bbcodes : [code] ici le code [/code] donne : ici le code Accessible via l'icône [#] : http://img94.imageshack.us/img94/8380/bbcode.png Sinon, en lisant vite le code, essaye en plaçant le (vl-load-com) avant la routine dirbox. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
autospeed Posté(e) le 26 août 2011 Auteur Posté(e) le 26 août 2011 J'ai eu ce message en réponse :-) Commande: DELP; erreur: no function definition: DIRBOXCommande: Auteur du logiciel AutospeedAuteur de la théorie du site www.kheops.bizAuteur de nombreux livres
autospeed Posté(e) le 30 août 2011 Auteur Posté(e) le 30 août 2011 est ce que si je met ; Effacer les présentations (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (or (eq (vla-get-name lay) "Model") (vla-delete lay) ) ) a la place de (vlax-for lay (vla-get-layouts dbx) (vl-catch-all-apply 'vla-delete (list lay)) ) par contre le lisp effacer les présentations marche tres bien en copié collé dans la ligne de commande. dans le lisp au dessus , ça pourrait marcher ? [Edité le 30/8/2011 par autospeed] [Edité le 30/8/2011 par autospeed] Auteur du logiciel AutospeedAuteur de la théorie du site www.kheops.bizAuteur de nombreux livres
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