viande Posté(e) le 12 septembre 2014 Posté(e) le 12 septembre 2014 Bonjour à tous, j'aurai besoin, s'il vous plaît, des lumières de certains pour résoudre un petit problème. Il y a pas mal de sujet sur les hyperliens (très utiles d'ailleurs) mais je n'ai pas trouvé comment associer des hyperliens de manière automatique (ou presque).Je m'explique: sur plusieurs plans de réseaux nous avons des blocs, lignes et textes. Les blocs sont des regards, les lignes sont les liaisons (tuyauteries) et les textes servent à identifier tout ça.J'aimerai lier un fichier pdf par texte (chaque texte est unique). Manuellement, j'utilise la commande hyperlien, mais je dois traiter plusieurs centaines de textes comme ça, je me demande donc s'il est possible d'automatiser en partie en passant par du lisp.J'ai essayé de lisper ça, en utilisant plusieurs commandes dont "attachurl", sauf que c'est le bordel... rien ne s'attache en tenant compte du texte. ex: les textes ont la syntaxe suivante: REO-126 , REO-127 , etc... ou RES-002, RES-003 , etc.. (REO = Réseau Égout Ouest, RES = Réseau Égout Est, etc..) et les fichiers PDF sont nommés exactement pareils (REO-126.pdf ...) J'imagine qu'il faut lisper "prendre texte sélectionné" "créer lien hypertexte" ".\regards\"texte-sélectionné".pdf" avec des fonctions du style getvar ou getname mais je n'y arrive pas.. (mes connaissances en lisp sont limitées ^^)J'ai aussi essayé en passant par une extraction des textes dans une base de données, mais ça me parait bien + compliqué. En espérant que mon explication soit claire.. :) merci! Bonne journée! Fred ***EDIT*** y a t il une différence notable à mettre l'hyperlien sur le texte, ou de modifier le texte en insérant un champ dynamique?
lecrabe Posté(e) le 12 septembre 2014 Posté(e) le 12 septembre 2014 Hello Tes explications sont insuffisantes ! As tu "simplement" des textes simples = "REO-126 , REO-127 , etc... ou RES-002, RES-003" ? (qui sont proches de tes Blocs de Tampon/Regard) ou Des Attributs (sur tes Blocs de Tampon/Regard) dont le contenu = "REO-126 , REO-127 , etc... ou RES-002, RES-003" ou Un melange des DEUX !? Ou se trouvent physiquement (Quel chemin) TOUS tes fichiers PDF dont le Nom = Le contenu du Texte ou Attribut (Quel Attribut d'ailleurs) ? Bye, lecrabe Autodesk Expert Elite Team
viande Posté(e) le 12 septembre 2014 Auteur Posté(e) le 12 septembre 2014 Merci pour ta réponse! Je cherche à lier uniquement des textes (plusieurs centaines). Ils ont la même syntaxe, ça dépend de la zone concernée (REO pour Ouest, RES pour Sud, REN pour Nord, etc.. ainsi que plusieurs réseaux comme par exemple réseau pluvial RPN, RPO, ...)Tout est dans un seul et même plan et les pdf eux, sont placés dans leurs répertoires respectifs.L'arborescence générale se présente donc comme suit: x:\plan de masse\plan general.dwgx:\plan de masse\reseau egouts\*.pdfx:\plan de masse\reseau pluvial\*.pdfetc.. Si j'affiche les propriétés du texte sélectionné, si son index est REN-216, son hyperlien devrait être x:\plan de masse\reseau pluvial\REN-216.pdf chaque texte est unique, donc on ne peux pas trouver deux fois REN-216 dans le plan ou dans les pdf.
Olivier Eckmann Posté(e) le 12 septembre 2014 Posté(e) le 12 septembre 2014 Bonsoir, essaie avec ça (defun C:HYPTXT ( / JEU I oTxt oTxtVal) (if (setq JEU (ssget (list (cons 0 "TEXT")))) (progn (setq I 0) (repeat (sslength JEU) (setq oTxt (ssname JEU I)) (setq I (1+ I)) (setq oTxtVal (cdr (assoc 1 (entget oTxt)))) (if (> (strlen oTxtVal) 2) (cond ((= (substr oTxtVal 1 2) "RP") (seturl oTxt (strcat ".\\reseau pluvial\\" oTxtVal ".pdf")) ) ((= (substr oTxtVal 1 2) "RE") (seturl oTxt (strcat ".\\reseau egouts\\" oTxtVal ".pdf")) ) ) ) ) ) ) ) Olivier 1
viande Posté(e) le 15 septembre 2014 Auteur Posté(e) le 15 septembre 2014 Salut! c'est tip top ça, il y a pile les fonctions que je cherchais :D , donc j'ai récupéré le lisp et j'ai modifié un peu en fonction. (longueur de caractère, etc.. car la finalement j'ai + de fichiers à lier avec des noms plus ou moins longs). Merci beaucoup à tout les deux!! :(rires forts):
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