julbute Posté(e) le 6 mai 2009 Posté(e) le 6 mai 2009 Bonjour,j'ai une quinzène de plan avec les onglets de présentation(environ 5ou 6 par plan).J'aimerai pouvoir récuperer la liste de tout les noms d'onglet dans un seul fichier.Afin de créer un liste de plan.MerciRoger
lili2006 Posté(e) le 6 mai 2009 Posté(e) le 6 mai 2009 Bonsoir à toutes et tous, Un truc comme ça ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Raph_38 Posté(e) le 7 mai 2009 Posté(e) le 7 mai 2009 Marche pas avec 2009 :( si cette macro pouvait extraire les onglets du ou des plans ouverts, ce serait tip-top ;) Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
Bred Posté(e) le 7 mai 2009 Posté(e) le 7 mai 2009 Salut,vite fait :Tu ouvres le plan, tu lance le code, cela te crés un fichier "ONGLETS.TXT" sous C: avec le nom des onglets.Tu copies ce que contiens ce fichier ou tu veux.puis tu passes à un autre fichier... (le fichier txt sera écrasé à chaque fois)on peux faire beaucoup mieux (traiter plusieurs fichiers ouvert, ceux d'un même répertoire, etc... mais si c'est pour une utilisation ponctuel, cela dois suffire... fais le savoir !) (defun c:lstong (/ F I LST-ONG) (setq lst-ong (layoutlist) f (open "c://ONGLETS.TXT" "w") i -1) (repeat (length lst-ong) (princ (strcat (nth (setq i (1+ i)) lst-ong) "\n") f) ) (close f) ) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Patrick_35 Posté(e) le 7 mai 2009 Posté(e) le 7 mai 2009 Salut Bred a été le plus rapide ;) Je mets quand même le mien car il traite tout les fichiers d'un répertoire (defun c:lstlay(/ dirbox Ouvrir_dessin_dbx fichier file rep lst fic dbx lay tmp) (defun dirbox(/ cdl rep) (if (setq cdl (vlax-create-object "Shell.Application")) (progn (and (setq rep (vlax-invoke cdl 'browseforfolder 0 "Choisissez le répertoire à traiter" 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) ) (vl-load-com) (if (setq rep (dirbox)) (if (setq lst (vl-directory-files rep "*.dwg" 1)) (progn (setq fichier (strcat rep "\\Liste_Présentations.txt") file (open fichier "w") tmp "|" ) (princ (strcat "\nTravail en cours......." tmp))(princ) (foreach fic lst (if (car (setq dbx (ouvrir_dessin_dbx (strcat rep "/" fic)))) (progn (write-line (strcat "Fichier " rep "\\" fic) file) (vlax-for lay (vla-get-layouts (car dbx)) (cond ((eq tmp "|")(setq tmp "/")) ((eq tmp "/")(setq tmp "-")) ((eq tmp "-")(setq tmp "\\")) ((eq tmp "\\")(setq tmp "|")) ) (princ (strcat (chr 8) tmp))(princ) (or (= (vla-get-name lay) "Model") (write-line (strcat "\t" (vla-get-name lay)) file) ) ) (write-line "" file) (or (cadr dbx)(vlax-release-object (car dbx))) ) (write-line (strcat "Ne peux pas lire le fichier " rep "\\" fic) file) ) ) (close file) (princ (strcat (chr 8) "OK\nEcriture du fichier " fichier)) ) (alert "Pas de dessins.") ) ) (princ) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
julbute Posté(e) le 11 mai 2009 Auteur Posté(e) le 11 mai 2009 bonjour,merci de vous pencher sur mon cas...J'ai un retour sur la liste de commande :Commande: lstlayTravail en cours......./; erreur: Erreur Automation. Aucune description n'a été entrée.Commande:Roger
julbute Posté(e) le 11 mai 2009 Auteur Posté(e) le 11 mai 2009 Ok j'ai essayé ta macro lili 2006, c'est exactement ce qu'il me faut, la seul petite modif qui serait bien se serait qu'il y est en face de chaque présentation le nom du dessin.Cela permettrait de filtrer les données et de retrouver d'un seul clic toutes les présentations correspondant à chaque dessin.J'aimerai pouvoir quand même essayer ta routine patrick 35.MerciRoger
julbute Posté(e) le 11 mai 2009 Auteur Posté(e) le 11 mai 2009 Ok j'ai essayé ta macro lili 2006, c'est exactement ce qu'il me faut, la seul petite modif qui serait bien se serait qu'il y est en face de chaque présentation le nom du dessin.Cela permettrait de filtrer les données et de retrouver d'un seul clic toutes les présentations correspondant à chaque dessin.J'aimerai pouvoir quand même essayer ta routine patrick 35.MerciRoger
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