Raph_38 Posté(e) le 25 mars 2010 Posté(e) le 25 mars 2010 Salut la communauté, voilà, j'expose mon petit soucis : je dois réaliser des fichier PLT avec une configuration bien établie : Impression sur une imprimante d'un tireur de plan via un logiciel de transfert par internet. le traceur est référencé dans les imprimantes d'autocad. Toutes mes présentations sont faites pour un traceur que j'ai au bureau, avec un format correspondant au plan. (l'aire de tracé est réglée sur "présentation") Ma question : Existe t-il un lisp pouvant copier la configuration d'une présentation d'un des fichier pour l'appliquer sur l'ensemble des fichiers DWG (sur toutes les présentations présentent dans chaque DWG) que j'aurais préalablement placé dans un répertoire (ou des plans que j'aurais ouvert si ce n'est pas possible) Pour info, j'ai 41 fichiers DWG et 61 PLT à créer j'ai vraiment besoin d'un coup de main de votre part merci de vos réponses PS : J'ai procédé par la fonction "publier" mais cela ne correspond qu'a moitié à ce que je souhaites faire, notamment pour envoyer des series de plans (PLT) à imprimer chez mon tireur de plan. [Edité le 25/3/2010 par neptune38] Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
Raph_38 Posté(e) le 26 mars 2010 Auteur Posté(e) le 26 mars 2010 Bon alors, j'ai comme un bug.Avec la commande publier, je tente de faire des PLT de mes plans mais impossible de faire 1 plt par plan. La commande publier me réalise un gros plt regroupant tous mes plans..... :casstet: Le pire, c'est que hier, j'ai réussi à le faire mais aujourd'hui ... impossible :mad: si un habitué de la fonction publier peut me renseigner sur mon erreur ? merci les gars Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
Patrick_35 Posté(e) le 26 mars 2010 Posté(e) le 26 mars 2010 Salut Un lisp vite fait qui recopie la mise en page actuel vers tous les fichiers d'un répertoire (defun c:cpt(/ dirbox ouvrir_dessin_dbx doc fic lay lst rep) (defun dirbox(txt / cdl rep) (if (setq cdl (vlax-create-object "Shell.Application")) (progn (and (setq rep (vlax-invoke cdl 'browseforfolder 0 txt 512 "")) (setq rep (vlax-get-property (vlax-get-property rep 'self) 'path)) ) (vlax-release-object cdl) ) ) rep ) (defun ouvrir_dessin_dbx(dwg / dbx doc lan rel) (and (setq dwg (findfile dwg)) (progn (vlax-for doc (vla-get-documents (vlax-get-acad-object)) (and (eq (strcase (vla-get-fullname doc)) (strcase dwg)) (setq dbx doc lan T) ) ) (and (not dbx) (setq dbx (vlax-create-object (if (< (setq rel (atoi (getvar "ACADVER"))) 16) "ObjectDBX.AxDbDocument" (strcat "ObjectDBX.AxDbDocument." (itoa rel)) ) ) ) (vla-open dbx dwg) ) ) ) (list dbx lan) ) [surligneur](vl-load-com)[/surligneur] (and (setq rep (dirbox "Choisissez un répertoire pour dupliquer les mises en pages")) (setq lst (vl-directory-files rep "*.dwg" 1)) (progn (and (eq (strcase rep) (strcase (substr (getvar "dwgprefix") 1 (1- (strlen (getvar "dwgprefix")))))) (setq lst (vl-remove (getvar "dwgname") lst)) ) (foreach fic lst (princ (strcat "\n Travail sur " fic))(princ) (setq doc (ouvrir_dessin_dbx (strcat rep "/" fic))) (vlax-for lay (vla-get-layouts (car doc)) (or (eq (vla-get-name lay) "Model") (vla-copyfrom lay (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object)))) ) ) (princ " ...sauvegarde")(princ) (vla-saveas (car doc) (strcat rep "/" fic)) (princ " ...OK") (or (cadr doc) (vlax-release-object (car doc)) ) (princ) ) ) ) (princ) ) @+ [Edité le 26/3/2010 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
Raph_38 Posté(e) le 26 mars 2010 Auteur Posté(e) le 26 mars 2010 Merci patrick, je vais l'essayer immédiatement ;) Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
Raph_38 Posté(e) le 26 mars 2010 Auteur Posté(e) le 26 mars 2010 message d'erreur : Commande: cpt : no function definition: VLAX-CREATE-OBJECT Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
Patrick_35 Posté(e) le 26 mars 2010 Posté(e) le 26 mars 2010 Il faut ajouter le (vl-load-com) au début du lisp, je corrige @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Raph_38 Posté(e) le 26 mars 2010 Auteur Posté(e) le 26 mars 2010 Génial patrick ;) je viens de le tester et apparemment ça fonctionne nickel, je te dirais si j'ai des erreurs. en tout cas, c'est super sympa, ça m'ôtes une sacrée épine du pied Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
Patrick_35 Posté(e) le 26 mars 2010 Posté(e) le 26 mars 2010 Génial patrick ;) je viens de le tester et apparemment ça fonctionne nickel, je te dirais si j'ai des erreurs. en tout cas, c'est super sympa, ça m'ôtes une sacrée épine du pied A charge de revanche :cool: Ca m'as pris 5mn, allez 10mn en tout avec les testsUn bout du lisp pat, un morceau du lisp mpl, on secoue le tout et ça donne cpt ;) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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