La Lozère Posté(e) le 3 mai 2016 Posté(e) le 3 mai 2016 Bonjour,Dans un but d'optimiser un peu de temps de travail, je voudrais qu'une zone de mon cartouche se remplisse automatiquement en fonction du nom de mon fichier.Ainsi, voici la zone que je voudrais remplir automatiquement: http://pimg.imagesia.com/fichiers/17l/capture_imagesia-com_17lyk_large.JPGHébergé par Imagesia, le meilleur hébergeur d'images du net ! Sachant que le nom de mon fichier est toujours sous la forme:toto_titi_tutu_tata_tet_fifi_fofo_123456_A1 - 01.dwg Pour chaque zone texte, il faudrait extraire la zone correspondante du nom de fichier.J'ai pensé au champs ou encore avec RTEXT ($(getvar, "dwgname"), mais cela extrait la totalité du nom alors que moi je n'en veux qu'une partie. Question posé ICI, mais sans réponse Une idée?Merci. www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
DenisHen Posté(e) le 3 mai 2016 Posté(e) le 3 mai 2016 Salut, Je pense à un petit lisp qui remplirait les attributs de ce cartouche grâce au nom du fichier... Peut-être aussi en utilisant les variables "champs lisp"... Mais mes deux solutions imposent de lancer au moins une fois un lisp... Mais d'autres auront peut-être la solution... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Goldorak44 Posté(e) le 3 mai 2016 Posté(e) le 3 mai 2016 Salut, tu peux utiliser un champ -> Expression dieselAvec cette formule : $(substr,$(getvar,dwgname),1, 1) A la fin le premier chiffre correspond au caractère de début de la chaîne à conserver et le deuxième chiffre correspond au nombre caractères. Exemple, si tu souhaite conserver "titi" dans ton nom de fichier, l'expression sera :$(substr,$(getvar,dwgname),6, 4) ;) PIRO CharlesDeveloppeur Revit, RV/RA - Formateur RevitPIRO CIE
Patrick_35 Posté(e) le 3 mai 2016 Posté(e) le 3 mai 2016 Salut +1 avec Goldorak44. Tu peux aussi le faire avec le nom des présentations (variable ctab) si tu as plusieurs plans par fichier. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
La Lozère Posté(e) le 3 mai 2016 Auteur Posté(e) le 3 mai 2016 Super, merci Goldora44 j'ai pu faire exactement ce que je voulais. www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
La Lozère Posté(e) le 3 mai 2016 Auteur Posté(e) le 3 mai 2016 C'est une vrai mine d'or ce RTEXT. Reste à en comprendre toutes les subtilités.... www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
La Lozère Posté(e) le 3 mai 2016 Auteur Posté(e) le 3 mai 2016 Bizarre, il y a eu une réponse de Didier dont j'ai été notifié, mais elle ne m'apparaît pas :blink: www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
DenisHen Posté(e) le 3 mai 2016 Posté(e) le 3 mai 2016 Pfff... J'avais fais un petit lisp qui créait des "VariablesLisp" que tu pouvais insérer en tant que champs. L'avantage, c'est que ça fonctionne même s'il y a des longueurs différentes dans le nom du fichier, exemple tatata_ti_tutu_blablabla_EncoreUnAutre_..... Mais comme Goldorak44 est tombé juste... Oui, j'ai un peu de temps devant moi... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
didier Posté(e) le 3 mai 2016 Posté(e) le 3 mai 2016 Coucou En réponse à l'interrogation du message #7oui je voulais proposer une solution lisp mais comme je ne gère que très mal les réacteurs j'ai supprimé mon message.J'ai fait très vite et je ne pensais pas me faire gauler, raté ! pan sur les doigts. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 3 mai 2016 Posté(e) le 3 mai 2016 Bon, comme je l'avais commencé, je l'ai fini et te le poste :;;; **************************************************************************************** ;;; Répartition du nom du fichier dans des variables Lisppour La Lozère de CadXP * ;;; **************************************************************************************** (defun c:LaLozere (/) (setq NomFichier (str2lst (getvar "dwgname") "_")) (setq Phase (nth 0 NomFichier)) (setq Zone (nth 1 NomFichier)) (setq PK (nth 2 NomFichier)) (setq Discipline (nth 3 NomFichier)) (setq TypeOuvrage (nth 4 NomFichier)) (setq Emetteur (nth 5 NomFichier)) (setq TypeDoc (nth 6 NomFichier)) (setq Numero (nth 7 NomFichier)) (setq Indice (substr (nth 8 NomFichier) 1 (vl-string-search " " (nth 8 NomFichier)))) (princ) ) ;_ Fin de defun ;; STR2LST ;; Transforme un chaine avec séparateur en liste de chaines ;; ;; Arguments ;; str : la chaine à transformer en liste ;; sep : le séparateur ;; ;; Exemples ;; (str2lst "a b c" " ") -> ("a" "b" "c") ;; (str2lst "1,2,3" ",") -> ("1" "2" "3") ;; (mapcar 'read (str2lst "1,2,3" ",")) -> (1 2 3) (defun str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (str2lst (substr str (+ (strlen sep) pos 1)) sep) ) ;_ Fin de cons (list str) ) ;_ Fin de if ) ;_ Fin de defun Il suffit de le charger et de taper "LaLozere" et les variables lisp sont créées. Reste plus qu'à les insérer en tant que champs, je te joins le bloc que j'ai utiliser pour mes testes... Denis...toto_titi_tutu_tata_tete_fifi_fofo_123456_A1 - 01.zip Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
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