Aller au contenu

Messages recommandés

Posté(e)

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.

Merci

Roger

Posté(e)

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 !

Posté(e)

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...

Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

bonjour,

merci de vous pencher sur mon cas...

J'ai un retour sur la liste de commande :

Commande: lstlay

Travail en cours......./; erreur: Erreur Automation. Aucune description n'a été

entrée.

Commande:

Roger

Posté(e)

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.

Merci

Roger

Posté(e)

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.

Merci

Roger

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é