Jump to content

Renommer fichier / texte présentation


Recommended Posts

-Autocad MAP 3D 2018-

 

Bonjour,

 

Dans le cadre d'une utilisation d'autocad avec 1 fichier = 1 Plan où chaque fichier reçoit la numérotation de la position dans le dossier et au sein du fichier, onglet présentation, un texte indique aussi la numérotation de la position dans le dossier, existe-t-il un logiciel ou un Lisp pour traiter tout ou partie de la question ?

 

Dans l'attente d'un retour, je reste disponible pour compléter si besoin,

 

Merci la communauté et belle journée,

Link to post
Share on other sites

Hello

 

Franchement je n'ai pas tout compris !?

 

Si tu veux re-organiser / trier / renommer / deplacer / etc, tes Presentations,

je te conseille l excellente routine "TabSort" de Lee-Mac !

http://www.lee-mac.com/tabsort.html

 

Voir aussi la routine "RenumberLayouts" :

http://www.lee-mac.com/renumberlayouts.html

 

MERCI au Grand Maitre Lee-Mac !!

 

La Sante, Bye, lecrabe "fatigue"

Autodesk Expert Elite Team

Link to post
Share on other sites

Hello

 

Franchement je n'ai pas tout compris !?

 

Si tu veux re-organiser / trier / renommer / deplacer / etc, tes Presentations,

je te conseille l excellente routine "TabSort" de Lee-Mac !

http://www.lee-mac.com/tabsort.html

 

Voir aussi la routine "RenumberLayouts" :

http://www.lee-mac.com/renumberlayouts.html

 

MERCI au Grand Maitre Lee-Mac !!

 

La Sante, Bye, lecrabe "fatigue"

 

Wow, puissant ! Merci pour les tips.

 

En l’occurrence, ce n'était pas le souci.

Mon problème se situe en amont et en aval.

Je souhaiterai renommer mes DWG rapidement par un programme, on touche à l'interface windows.

Ensuite, je cherche à renommer de manière macro, en ayant ouvert tous mes DWG (ils ont tous une seule présentation), chaque texte indiquant le numéro de page.

 

Si toujours pas clair, je peux faire des imprimes écran.

Link to post
Share on other sites

Bonjour,

 

Il faut pouvoir récupérer le texte en question.

Si il n'a pas de particularité, cela va être difficile.

C'est une des raisons pour utiliser des attributs en page de garde

si il a toujours la même position peut etre...

...plus je sais où je suis, moins je sais où je vais....

Extrait d'une double interview simultanée d'une particule élémentaire.

Link to post
Share on other sites

Bonjour,

 

Il faut pouvoir récupérer le texte en question.

Si il n'a pas de particularité, cela va être difficile.

C'est une des raisons pour utiliser des attributs en page de garde

si il a toujours la même position peut etre...

 

Merci pour ton retour.

 

Oui, l'emplacement est toujours le même.

Que changerait l'attribut ?

Link to post
Share on other sites
Oui, l'emplacement est toujours le même.

 

donne nous ces coordonnées, et nous pourrons te faire un ptit lisp.

 

Que changerait l'attribut ?

 

La, comme ça, difficile de t'expliquer tout les avantages.

il te manque donc une formation...

mais déjà, les fonctions pour lire les attributs existent,

pas pour ton texte.

...plus je sais où je suis, moins je sais où je vais....

Extrait d'une double interview simultanée d'une particule élémentaire.

Link to post
Share on other sites

Bonjour,

 

Malgré le silence, je partage ma p'tite chose.

 

;;Ressources
(vl-load-com)
;;;c:renameDwgByTxt
;;;Renomme les dwg d'un dossier par un texte présent dans l'espace papier.
;;;Ouvrir un des dwg (il ne seras pas traité), taper renameDwgByTxt et choisir le texte (doit avoir la même position dans chaque dessin)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:RenameDwgByTxt (/ getvlatext axdoc lf dir pos posobj txt cpt cmd)
;;Fonctions internes
   ;;;getvlatext
   ;;;Retourne le VLA-OBJECT d'un texte sélectionné
   (defun getvlatext ( / obj ename vlaobj)
       (while (/= "TEXT" obj);tant qu'un texte n'est pas sélectionné
           (princ "\nSélectionnez le texte de référence.")
           (setq ename (ssname (ssget "_:S+.") 0);"_:S+." permet de sélectionner un seul objet
                 obj (cdr (assoc 0 (entget ename)))
                 vlaobj (vlax-ename->vla-object ename)
           )
       );while
   );defun getvlatext
;;Variables Autocad
   (setq cmd (getvar 'cmdecho))
   (setvar 'cmdecho 0)
;;Principal
   (and (setq cpt 0;Compteur
              dir (getvar 'dwgprefix);Chemin du dossier du dessin ouvert
              lf (vl-directory-files dir "*.dwg" 1);Liste des dwg dans le dossier
        )
        (setq  pos (vlax-get 'textalignmentpoint  (getvlatext)));Position du texte de référence
        (foreach f lf;Pour chaque dwg
           (if (and (/= f (getvar 'dwgname))(setq axdoc (getaxdbdoc (strcat dir f))));Si ce n'est pas le dessin en cours, on entre dans le fichier
            (progn
               (vlax-for obj (vla-get-paperspace axdoc);Pour chaque objet présent dans l'espace papier
                     (and  (= (vla-get-objectname obj) "AcDbText");Si c'est un texte
                           (setq posobj (vlax-get 'textalignmentpoint  obj));position du texte
                           (= (fix(*(car pos)100)) (fix(*(car posobj)100)));si position des textes egal
                           (= (fix(*(cadr pos)100)) (fix(*(cadr posobj)100)))
                           (setq txt (vla-get-textstring obj));String du texte
                           (not (wcmatch txt "*.dwg"));Si le texte ne se termine pas par .dwg
                           (setq txt (strcat txt ".dwg"));Rajout de .dwg
                     );and
               );vlax
               (vlax-release-object axdoc);Réalisation par Fraiddd :)
               (command "_.delay" 200);Une petite pose s'impose
               (if (and txt (vl-file-rename (strcat dir f) (strcat dir txt)));Si l
                   (setq cpt (1+ cpt) txt nil)
               );if
               (command "_.delay" 200);une 2ème moins sur
            );progn
           );if
        );foreach
   );and
;;Sortie
   (setvar 'cmdecho cmd)
   (if (= cpt 0)
       (princ "\nEchec, aucun fichier renommé.");Try again
       (princ (strcat "\nOpération réussie, " (itoa cpt) " fichiers renommés."))
   );if    
   (princ);Sortie propre
);defun
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Accèder à un dessin fermé
(defun getaxdbdoc (filename / axdbdoc release)
 (setq axdbdoc
    (vlax-create-object
      (if (< (setq release (atoi (getvar "ACADVER"))) 16)
        "ObjectDBX.AxDbDocument"
        (strcat "ObjectDBX.AxDbDocument." (itoa release))
      )
    )
 )
 (if (vl-catch-all-apply 'vla-open (list axdbdoc filename))
   (not (vlax-release-object axdbdoc))
   axdbdoc
 )
)
 

 

Il ne faut pas ouvrir tous les fichiers,

mais un seul dans lequel il faut choisir le texte en question.

le fichier ouvert n'est pas traité.

J'ai fait un effort de commentaires pour ceux qui se lancent.

Je trouve que nous sommes de moins en moins nombreux à Lisper.

A tantôt

...plus je sais où je suis, moins je sais où je vais....

Extrait d'une double interview simultanée d'une particule élémentaire.

Link to post
Share on other sites

Hello Fraid

 

1) Merci pour tes contributions !

 

2) Pourquoi es tu obligé de "délayer" 2 fois ?

 

La Santé, Bye, lecrabe "fatigué"

Autodesk Expert Elite Team

Link to post
Share on other sites
Pourquoi es tu obligé de "délayer" 2 fois ?

 

quand j'ai testé j'ai eu un effet d’emballement.(les derniers fichiers n’étaient pas renommés)

mon pc qui me sert à programmer est un fer à repasser...

j' en ai mis 2 pour être sur.

je pense qu'il peut sauter.

Peut être que cela fonctionne sans du tout de pause avec Windows 10

suis encore sur 7

 

cela va te faire 3002 routines!!!!!

...plus je sais où je suis, moins je sais où je vais....

Extrait d'une double interview simultanée d'une particule élémentaire.

Link to post
Share on other sites

Bonjour,

 

J'ai modifié mon code, pour que cela fonctionne si la page de garde est en métre.(0.297/0.210)

J'avais fait mes testes au mm.(297/210)

...plus je sais où je suis, moins je sais où je vais....

Extrait d'une double interview simultanée d'une particule élémentaire.

Link to post
Share on other sites
  • 3 weeks later...
On 03/03/2021 at 19:33, Fraid said:

 

donne nous ces coordonnées, et nous pourrons te faire un ptit lisp.

 

 

La, comme ça, difficile de t'expliquer tout les avantages.

il te manque donc une formation...

mais déjà, les fonctions pour lire les attributs existent,

pas pour ton texte.

Effectivement.

Pourrais-tu me rediriger vers une que tu connais ?

Ou tout du moins, une page reprenant la question des attributs, avant et inconvénients ?

 

Pour revenir sur ton LSIP, merci, je vais tester et te dire.

 

Effectivement, il faudrait un jour que je me mette au LISPage ou tout du moins au codage.

aurais-tu peut-être un site pour des explications pas à pas ?

Ou sinon, j'irais sur youtube.

 

Merci

Link to post
Share on other sites
  • 3 weeks later...
  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...