zara Posté(e) le 18 juillet 2017 Posté(e) le 18 juillet 2017 Bonjour, Je travail sur ZwCAD.J'ai trouvé un lisp sur cadxp (bryce) qui fonctionne très bien pour le changement de style de texte.Il me passe tout en ARIAL.PoliceNom: ARIAL -->okStyle: Normal -->okLangage: 1(introuvable) -->pas ok :angry: Du coup autocad ne me reconnais pas la police. Il y a t-il un moyen de forcer le langage en Occidental? Merci par avance.Zara (defun c:font ( / st acdoc) (vl-load-com) (setq acdoc (vla-get-activedocument (vlax-get-acad-object)) st (vla-get-TextStyles acdoc) ) (vlax-for s st (vla-put-FontFile s "Arial") (vla-put-Height s 0.0) (vla-put-Width s 1) ) (vla-regen acdoc 0) )
x_all Posté(e) le 18 juillet 2017 Posté(e) le 18 juillet 2017 C'est effectivement peut etre un pb de langue, mais Width, c'est la largeur... Il faudrait arriver à savoir comment ils appellent cette propriété sur SWcad...Si qq1 de la maison traine sur le forum... quelques trucs sur autocad
ZWCAD-France Posté(e) le 18 juillet 2017 Posté(e) le 18 juillet 2017 Bonjour, De mon coté après ouverture dans AutoCAD, ça s'affiche quand même, malgré le '1(introuvable)' Après une rapide recherche sur GG, il y avait eu un post à ce sujet voici un bail : voir iciCette commande provoque un problème sur la reconnaissance de la police TTF ou SHX Idem sur l'adresse où il cherche la police : https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/adding-truetype-font-with-lisp/td-p/2430883 et un code de Gile qui y fait allusion : http://cadxp.com/topic/26386-tblsearch-dans-les-style/ Du coup, il semble que si on remplace arial par arial.ttf, il n'y a plus de message. Je pose quand même la question au support de ZWSOFT s'ils ont une solution plus élégante... Cordialement ZW France est le distributeur de ZWCAD, ZW3D et ARCHLine en France, Belgique francophone, Suisse francophone, et Afrique francophone. www.zwfrance.fr
zara Posté(e) le 18 juillet 2017 Auteur Posté(e) le 18 juillet 2017 Merci pour vos réponses. ;) Quand je laisse ARIAL dans le lisp. ZWCAD http://nsa38.casimages.com/img/2017/07/18/17071804461075120.png AUTOCAD http://nsa38.casimages.com/img/2017/07/18/170718044610482331.png En remplacant par ARIAL.TTF ou (C:/windows/fonts/arial.ttf) http://nsa38.casimages.com/img/2017/07/18/170718044610167193.png Autocad ne reconnait pas le arial normal... Merci pour la demande à zwsoft. Cordialement Zara
DenisHen Posté(e) le 18 juillet 2017 Posté(e) le 18 juillet 2017 Salut. AutoCAD a bien repéré qu'il s'agit d'une police TTF, puisqu'il a gelé l'effet "Vertical"... Curieux comportement... Et si tu clique sur Arial.TTF dans la liste déroulante ? Il te propose un autre Arial ? 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)
zara Posté(e) le 18 juillet 2017 Auteur Posté(e) le 18 juillet 2017 http://nsa37.casimages.com/img/2017/07/18/170718050659997994.jpg A croire qu'il crée une nouvelle référence...
ZWCAD-France Posté(e) le 19 juillet 2017 Posté(e) le 19 juillet 2017 Bonjour, voici un bout de code de la part de ZWSOFT : (defun c:font ( / st acdoc tf bold italic cs paf) (vl-load-com) (setq acdoc (vla-get-activedocument (vlax-get-acad-object)) st (vla-get-TextStyles acdoc) ) (vlax-for s st (vla-getfont s 'tf 'bold 'italic 'cs 'paf) (vla-setfont s "Arial" bold italic cs paf) (vla-put-Height s 0.0) (vla-put-Width s 1) ) (vla-regen acdoc 0) ) Il fonctionne bien et ne crée par d'effet secondaire. Par contre, un petit bémol sans gravité : Si on le teste une première fois, pas de soucis, on voit tout de suite le résultat. Par contre, si on le refait une seconde fois, on ne voit pas le changement à l'écran, même après un Regen. Si qqun a une idée pour améliorer le code ... Cela étant, ce n'est pas grave, car les changements sont bien effectif, et si on sauve pour rouvrir le fichier, il est nickel ... A+ ZW France est le distributeur de ZWCAD, ZW3D et ARCHLine en France, Belgique francophone, Suisse francophone, et Afrique francophone. www.zwfrance.fr
VDH-Bruno Posté(e) le 19 juillet 2017 Posté(e) le 19 juillet 2017 Bonjour, Oui fonctionne très bien ... Par contre, si on le refait une seconde fois, on ne voit pas le changement à l'écran, même après un Regen. Si qqun a une idée pour améliorer le code ... Pour le retour je n'ai pas réussi à reproduire ce que vous décrivez, première fois comme seconde fois ect.. Ca semble fonctionner pour moi, (testé sous ZWCAD+ 2015Pro) CdtVDH-Bruno Apprendre => Prendre => Rendre
zara Posté(e) le 20 juillet 2017 Auteur Posté(e) le 20 juillet 2017 Bonjour,Merci beaucoup ca fonctionne trés bien.En effet quand je rechange la police en appliquant un nouveau style et relance le lisp visuellement pas de changement mais en fermant et réouvrant le fichier c'est ok. Je souhaité le combiner à ce lisp venant de CADXP (Gile) pour formater la police pour quelle prenne le style du texte sans passer par l'éditeur.Mais je souhaiterai que ça n'affecte que la police et pas la justification.Pensez vous cela possible? (defun c:c_txt (/ ss n txt e_lst str start end lst) (while (not (setq ss (ssget '((0 . "MTEXT")))))) (repeat (setq n (sslength ss)) (setq txt (ssname ss (setq n (1- n))) e_lst (entget txt) str (apply 'strcat (mapcar 'cdr (append (vl-remove-if-not '(lambda (x) (= (car x) 3)) e_lst) (list (assoc 1 e_lst)) ) ) ) ) (while (setq start (vl-string-search "{\\" str)) (setq str (vl-string-subst "" "{" (vl-string-subst "" "}" str start) start ) ) ) (setq start 0) (while (setq start (vl-string-search "\\" str start)) (cond ((= "\\P" (substr str (1+ start) 2)) (setq start (1+ start) end (1+ start) ) ) ((= "\\L" (substr str (1+ start) 2)) (setq end (+ (vl-string-search "L" str start) 2)) ) ((= "\\l" (substr str (1+ start) 2)) (setq end (+ (vl-string-search "l" str start) 2)) ) (T (setq end (+ (vl-string-search ";" str start) 2))) ) (setq str (vl-string-subst "" (substr str (1+ start) (- end start 1)) str ) ) ) (setq lst nil) (if (< 250 (strlen str)) (progn (while (< 249 (strlen str)) (setq lst (cons (cons 3 (substr str 1 250)) lst) str (substr str 251) ) ) (setq lst (reverse (cons (cons 1 str) lst))) ) (setq lst (cons (cons 1 str) lst)) ) (setq e_lst (append (vl-remove-if '(lambda (x) (or (= (car x) 3) (= (car x) 1))) e_lst ) lst ) ) (entmod e_lst) ) (princ) ) Merci encore Cordialement Zara
x_all Posté(e) le 20 juillet 2017 Posté(e) le 20 juillet 2017 à voir si ça marche avec ZW, mais il y a aussi stripmtexthttps://cadabyss.wordpress.com/2010/01/04/stripmtext-v5-0/ quelques trucs sur autocad
zara Posté(e) le 20 juillet 2017 Auteur Posté(e) le 20 juillet 2017 Merci pour la piste.Mais déja testé. Ne fonctionne pas sous ZWCAD."erreur argument nil" quelque chose comme ca. Dommage.
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