x_all Posté(e) le 26 février 2018 Posté(e) le 26 février 2018 Bonjour Pour les habitués ce lisp est super pratique même si on s'en sert pas tous les jours, il remet les options de texte forcé dans l'éditeur à des valeur par défautC'est hyper pratique quand on veux remettre tous les textes en couleur ducalque par exemple car la couleur dans l'éditeur est prioritaire sans ça.Pour ceux qui connaissent pas c'est ici que ça se passe https://cadabyss.wor...tripmtext-v5-0/ ça fait quelques dessins ou un module d'export à la noix balance tout en bloc, y compris les textes. Si le texte transformé en bloc contient des option forcée StripMtext ne rentre pas dans les blocs pour faire son petit ménage...(et parfois c'est imbriqué dans d'autre bloc ect..) Comment faire un petit lisp pour tester si dans un bloc il y a un texte (ou un bloc avec un texte) et de le traiter avec SMT (ça sent la récurrence et j'ai vraiment du mal) merci Un exemple de fichier énervanthttps://www.dropbox....xte-CF.dwg?dl=0 quelques trucs sur autocad
bonuscad Posté(e) le 26 février 2018 Posté(e) le 26 février 2018 Une idée en passant. Appliquer la commande FILTRER avec comme définition:Objet = BlocNom du bloc = A19-BLK* Une fois cette sélection faite, utiliser la commande BURST (des ExpressTools), comme cela tu sera débarrassé de tes blocs (que tu pourra purger car inutiles) et tu récupérera ainsi que des MTEXT que tu pourra traité avec SMT. Bon ça peu chambouler pas mal de paramètres des textes qui seront peut être pénible à remettre en place. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
(gile) Posté(e) le 26 février 2018 Posté(e) le 26 février 2018 Salut, Tu peux essayer ce petit truc vite fait : (defun c:StripMTextColorInBlocks (/ regex) (vl-load-com) (or *acad* (setq *acad* (vlax-get-acad-object))) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*))) (or *blocks* (setq *blocks* (vla-get-Blocks *acdoc*))) (setq regex (vlax-create-object "VBScript.RegExp")) (vlax-put regex 'Pattern "\\\\[Cc][0-9]?[.]?[0-9]+;") (vlax-for blk *blocks* (if (and (= (vla-get-IsLayout blk) :vlax-false) (= (vla-get-IsXRef blk) :vlax-false) ) (vlax-for obj blk (if (= (vla-get-ObjectName obj) "AcDbMText") (vla-put-textstring obj (vlax-invoke regex 'Replace (vla-get-textstring obj) "") ) ) ) ) ) (vlax-release-object regex) (vla-Regen *acdoc* acAllViewports) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
x_all Posté(e) le 26 février 2018 Auteur Posté(e) le 26 février 2018 J'avais déjà tenté le burst, mais la semaine dernière, je n'ai pas eu le temps de creuser, ça m'avait changé les polices et taille de texte, bref généré un sacré boxon... (Gile) ton lisp marche comme sur des roulettes.... comme c'est la seule propriété qui me dérange ça fera grandement l'affaire merci beaucoup.... encore une fois... quelques trucs sur autocad
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