maxiloxi Posté(e) le 29 janvier 2024 Posté(e) le 29 janvier 2024 Bonjour, Je me suis assez novice dans le programmation et j'ai fait beaucoup de recherche sur le forum. Du coup, j'explique mon problème : Je recherche un lisp qui permet de changer le même texte dans chaque fichier ! Exemple assez simple le numéro 130 en 135. Je me suis pencher sur le lisp de Patrick ( PAT ) mais selon fonctionnement seulement avec les attributs et les blocs, j'ai voulu voir pour un script pour lancer sur SAS. Donc si quelqu'un aura une solution, je suis preneur ! Merci d'avance.
Luna Posté(e) le 29 janvier 2024 Posté(e) le 29 janvier 2024 Coucou, La commande RECHERCHER éventuellement ? Non utilisable sur un script cependant mais d'un point de vue besoin recherché (sans mauvais jeu de mots),chat me paraît être le plus efficace... Autrement tu peux voir un LISP dans le genre (très succinct) : (defun modif_text (old new / jsel i name txt) (setq jsel (ssget "_X" (list '(0 . "TEXT,MTEXT") (cons 1 (strcat "*" old "*"))))) (repeat (setq i (sslength jsel)) (setq name (ssname jsel (setq i (1- i))) txt (cdr (assoc 1 (entget name))) txt (vl-string-subst new old txt) ) (entmod (subst (cons 1 txt) (assoc 1 (entget name)) (entget name))) ) (princ) ) old -> ancienne valeur de texte (par exemple "130") sous format STRING new -> nouvelle valeur de texte (par exemple "135") sous format STRING Exemple d'utilisation : (modif_text "130" "135") Bisous, Luna
Vincent P. Posté(e) le 29 janvier 2024 Posté(e) le 29 janvier 2024 Bonjouuur, Petite question qui peut aider : C'est un texte (texte ou textemult) ou un attribut dans un bloc? Ca peut aider ceux qui te proposeront des solution 🙂 textuellement Vincent P. Lispeur éternel débutant! Autocad Map3D 2023 Covadis-Autopist 18.2
maxiloxi Posté(e) le 30 janvier 2024 Auteur Posté(e) le 30 janvier 2024 Il y a 17 heures, Vincent P. a dit : Bonjouuur, Petite question qui peut aider : C'est un texte (texte ou textemult) ou un attribut dans un bloc? Ca peut aider ceux qui te proposeront des solution 🙂 textuellement Vincent P. Salut, pour répondre à ta question c'est du texte et non un attribut dans un bloc @Luna Comment tu intègre le code ? puis le lancer ?
Luna Posté(e) le 30 janvier 2024 Posté(e) le 30 janvier 2024 Coucou, Je n'ai malheureusement aucune maîtrise des scripts (peut-être que @Eric pourra te conseiller pour cela) mais autrement, tu copies le code que j'ai envoyer et tu le colle dans un bloc note vierge. Tu l'enregistres au format .lsp et pour l'utilisation, soit tu charges ton fichier .lsp dans ton dessin puis tu utilises la fonction (modif_texte "130" "135") (donc tu exécutes toi-même le code dans ton dessin courant) soit tu passes par un script et là, comme je disais, c'est au-delà de mes compétences. Bisous, Luna
Eric Posté(e) le 30 janvier 2024 Posté(e) le 30 janvier 2024 Bonjour, Il suffit juste de charger le lisp et d'exécuter la commande dans le fichier script. Un exemple est donné ici : Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD
maxiloxi Posté(e) le 30 janvier 2024 Auteur Posté(e) le 30 janvier 2024 Merci à vous ! J'ai pu réaliser ce que je voulais
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