Aller au contenu

[Résolu] Générer Hyperliens


viande

Messages recommandés

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?

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

x:\plan de masse\reseau egouts\*.pdf

x:\plan de masse\reseau pluvial\*.pdf

etc..

 

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.

Lien vers le commentaire
Partager sur d’autres sites

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

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

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):

Lien vers le commentaire
Partager sur d’autres sites

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é