Curlygoth Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 Bonjour, Quelle est la variable permettant de changer la taille de la police par défault ? mais si vous savez bien : La hauteur du style de texte ! c'est bien ça ? : (vla-SetTextHeight 0.4) pour une hauteur par défault à 0.4 ? par exemple ? Mon site Web (en cours de construction) : Site DA-CODE de @didier
Luna Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 Coucou, En passant la souris au dessus de cette case j’obtiens : Quote Définit la taille du texte en fonction de la valeur entrée. Si vous entrez une valeur supérieure 0.0, elle est appliquée à ce style automatiquement. Si vous entrez 0.0, la valeur utilisée par défaut est la dernière valeur de hauteur de texte ou la valeur stockée dans le fichier gabarit de dessin. Et dans l'aide d'AutoCAD concernant la fonction (vla-put-textheight) : Quote TextHeight Property (ActiveX) Specifies the height for the dimension or tolerance text. Supported platforms: Windows only Signature VBA: object.TextHeight object Type: Dim3PointAngular, DimAligned, DimAngular, DimArcLength, DimDiametric, Dimension, DimOrdinate, DimRadial, DimRadialLarge,DimRotated, MLeader, MLeaderStyle, Tolerance The objects this property applies to. Property Value Read-only: No Type: Double The height for the dimension text. Remarks The initial value for this property is 0.1800. If the current text style has a fixed text height, this property is ignored. Note: This property overrides the value of the DIMTXT system variable for the given dimension. Je suppose donc que cette fonction ne puisse pas redéfinir cette valeur directement mais uniquement modifier la hauteur d'un objet texte (dimensions, mtext, text) uniquement si cette fameuse variable est nulle... Peut-être que la variable TEXTSIZE y correspond ? Bisous, Luna
La Lozère Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 +1 pour "TEXTSIZE" http://help.autodesk.com/view/ACD/2018/FRA/?guid=GUID-DD548317-95BA-4AEA-B54D-0D917F10D3C1 www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
Curlygoth Posté(e) le 5 mai 2021 Auteur Posté(e) le 5 mai 2021 ok vendu ! merci (vla-SetTextHeight 0.4) et ça pour modifier la valeur. mais effectivement mieux vaut la laissé a 0 dans mon cas XD Mon site Web (en cours de construction) : Site DA-CODE de @didier
Luna Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 @Curlygoth tu te lances dans le LISP ou c'est qu'une illusion ? xD
Curlygoth Posté(e) le 5 mai 2021 Auteur Posté(e) le 5 mai 2021 c'est qu'une illusion 😉 j'arrive à lire le lisp maintennant ! donc la seule chose que j'ai à faire c'est de traduire mais chut.... Mais tu sais je refais pas des choses qui existe ! si je trouve ce que je veux en lisp je prends ! mais c'est trop rare... donc je suis obliger de faire de ce language "Dont-on-ne-prononce-pas-le-nom" 1 Mon site Web (en cours de construction) : Site DA-CODE de @didier
Fraid Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 Salut n’hésite pas à aller voir l'aide, c'est en VLA et VBA https://github.com/Fraiddd
didier Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 Bonjour @Curlygoth Ne te réjouis pas trop vite pour ce qui est de la transcription lisp Ce dont tu parles est une fonction VLA, pas vraiment du lisp, c'est du vba pour lisp je dirais simplement. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Curlygoth Posté(e) le 5 mai 2021 Auteur Posté(e) le 5 mai 2021 @Fraid Oui merci mais j'étais pas sur de la variable à utiliser ! et j'ai bien fait de poster ! merci @Lunamerci @La Lozère @didier Quote c'est du vba pour lisp je dirais simplement. non ??!? alors je comprends plus le débat de "la fin du VBA est proche"... ben du coup si vous savez faire du lisp vous savez faire du VBA XD Mon site Web (en cours de construction) : Site DA-CODE de @didier
Luna Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 C'est des propriétés et méthodes utilisées en VBA, mais qui utilise la structure de langage de l'AutoLISP, donc (function_name arg1 arg2 ... argn). Donc cela permet d'accéder "autrement" à certaines propriétés accessibles en DXF et à d'autres propriétés donc cela permet "d'apprendre" le vocabulaire du VBA, sans pour autant nous apprendre la conjugaison et la grammaire du VBA ^^" Pour la comparaison, c'est comme si tu essayais d'apprendre le dictionnaire comme premier langage, tu connais peut-être plein de mots, mais tu n'as aucune idée de comment les utiliser et construire des phrases avec, du coup tu ne sais pas parler :3 Un peu comme "Je s'appelle Groot" mais en VBA xD Bisous, Luna
(gile) Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 Si je peux me permettre un peu de théorie, l'API* COM** d'AutoCAD est l'API AutoCAD utilisé par le VBA AutoCAD (qui n'accède qu'a celle-ci). Cette API est aussi accessible en LISP (via les fonctions vla- pour Visual LISP Automation), en NET ou en ObjectARX. S'il s'agit vraiment d'une extension qui apporte un plus en LISP, ce n'est pas vraiment le cas en .NET ou ObjectARX mais certaines fonctionnalités comme les "préférences" (ce qu'on paramètre depuis la commande Options) ne sont accessible que via COM. * Interface de Programmation pour Application ** parfois appelée Automation ou ActiveX qui est en fait la couche qui permet d'accéder à cette interface. Il s'agit d'une technologie Windows. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 Bonjour Je savais que (gile) serait plus explicatif que mon raccourci pourri (vba pour lisp), merci beaucoup. @Curlygoth 1 - Rien à voir avec le VBA (dont l'avenir n'est pas du tout assuré) 2 - ton raccourci est encore plus pourri et encore plus faux que le mien (hihi) (si vous savez faire du lisp vous savez faire du VBA) Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Fraid Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 48 minutes ago, Luna said: "Je s'appelle Groot" "Je s'appelle Groot" https://github.com/Fraiddd
Curlygoth Posté(e) le 5 mai 2021 Auteur Posté(e) le 5 mai 2021 Quote 1 - Rien à voir avec le VBA (dont l'avenir n'est pas du tout assuré) ben j'espere que le vba a belle avenir devant lui sinon au revoir a plus de 5 ans de dev vba sur autocad XD OK merci (gile) !!!!! Mon site Web (en cours de construction) : Site DA-CODE de @didier
Curlygoth Posté(e) le 5 mai 2021 Auteur Posté(e) le 5 mai 2021 27 minutes ago, didier said: 2 - ton raccourci est encore plus pourri et encore plus faux que le mien (hihi) (si vous savez faire du lisp vous savez faire du VBA) je suis à fort à ce jeu la XD Mon site Web (en cours de construction) : Site DA-CODE de @didier
(gile) Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 Pour revenir au sujet de départ, la valeur dans la boite de dialogue est la hauteur par défaut du style de texte. En VBA, ça devrait être un truc du genre : ThisDrawing.TextStyles.Item("ARIAL").Height = 0.4 La variable système TEXTSIZE stocke la valeur par défaut pour les styles de texte dont la hauteur est 0.0. En VBA, ça devrait être un truc du genre : ThisDrawing.SetVariable("TEXTSIZE", 0.4) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Curlygoth Posté(e) le 5 mai 2021 Auteur Posté(e) le 5 mai 2021 Oui c'est ce que Luna disait 😉 Mon site Web (en cours de construction) : Site DA-CODE de @didier
Luna Posté(e) le 5 mai 2021 Posté(e) le 5 mai 2021 Pas tout-à-fait ^^" La variable TEXTSIZE correspond bel et bien à ce que tu recherches je suppose (un texte nouvellement créé aura une hauteur par défaut correpondant à TEXTSIZE). Ce que je disais c'est que la propriété TextHeight n'est applicable que pour un objet précis, sans impacter les nouveaux par exemple. En revanche (gile) parle de la propriété "fixe" de chaque style de texte. L'aide AutoCAD défini que cette propriété, si elle vaut 0.0, est égale à la variable TEXTSIZE, mais si cette valeur est non nulle, alors chaque texte créé à partir de ce style de texte précis (Arial, Verdana, etc...) aura la hauteur fixe définie. Auquel cas, la valeur de TEXTSIZE est ignorée. J'avais oublié que les styles sont défini dans la Symbol Table "STYLE", donc chaque style est défini par une liste DXF (ci-dessous l'aide d'AutoCAD) : Quote STYLE (DXF) The following group codes apply to STYLE symbol table entries. STYLE group codes Group code Description 100 Subclass marker (AcDbTextStyleTableRecord) 2 Style name 70 Standard flag values (bit-coded values): 1 = If set, this entry describes a shape 4 = Vertical text 16 = If set, table entry is externally dependent on an xref 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files) 40 Fixed text height; 0 if not fixed 41 Width factor 50 Oblique angle 71 Text generation flags: 2 = Text is backward (mirrored in X) 4 = Text is upside down (mirrored in Y) 42 Last height used 3 Primary font file name 4 Bigfont file name; blank if none 1071 A long value which contains a truetype font’s pitch and family, character set, and italic and bold flags A STYLE table item is also used to record shape file LOAD command requests. In this case the first bit (1) is set in the 70 group flags and only the 3 group (shape file name) is meaningful (all the other groups are output, however). Donc (gile) t'a donné l'accès à cette propriété en VBA, et si on regarde le tableau ci-dessus, on peut également dire que cette propriété est accessible au code 40 concernant le Style souhaité. L'exemple ci-dessous correspond à la version LISP concernant la propriété de hauteur fixe : Commande: (setq arial (tblsearch "STYLE" "Arial")) ((0 . "STYLE") (2 . "arial") (70 . 0) (40 . 0.0) (41 . 0.99) (50 . 0.0) (71 . 0) (42 . 1.0) (3 . "arial.ttf") (4 . "")) Commande: (setq arial (subst (cons 40 0.4) (assoc 40 arial) arial)) ((0 . "STYLE") (2 . "arial") (70 . 0) (40 . 0.4) (41 . 0.99) (50 . 0.0) (71 . 0) (42 . 1.0) (3 . "arial.ttf") (4 . "")) Commande: (entmod arial) ((0 . "STYLE") (2 . "arial") (70 . 0) (40 . 0.4) (41 . 0.99) (50 . 0.0) (71 . 0) (42 . 1.0) (3 . "arial.ttf") (4 . "")) Bref, (gile) t'as donné les 2 solutions VBA, à voir laquelle correspond le mieux à ta demande :3 Bisous, Luna
Curlygoth Posté(e) le 5 mai 2021 Auteur Posté(e) le 5 mai 2021 Quelle modestie @Luna !!! Alors, en effet @(gile) à mieux répondu pour modifier la variable demander lors de mon poste ! et je le remercie pour ça ! Néanmoins ! vu que mes styles de texte (générer ou non) ont une propriété hauteur toujours a 0# Modifier une variable système ça m’évite de vérifier si le style existe ! (Je fais en sortes qu'on est pas besoin de changer de style durant le dessin) En conclusion : C'est tellement plus facile de faire "getvar" pour avoir la valeur d'origine pour la re "setvar" (donner) à la fin de ma(mes) procédure(s)... Que je vais rester sur l'idée que tu m'as donnée ! Fin : pour les curieux voici l'histoire complète (contexte) : tu dis : Quote TextHeight n'est applicable que pour un objet précis Oui je sais.. dit toi qu'avant de poster ce post j'ai mon programme qui fait : L'utilisateur implante le point d'insertion d'un texte issu d'une base de données suivant l'objet sélectionné (donc avec plus ou moins de ligne et plus ou moins de longueur de caractere). le texte est implanter en H=2.5 (forcément quand on connait pas la variable miracle...) donc je modifiais sa taille pour le mettre a une valeur suivant son échelle de dessin presentation (mettons 0.4 pour rester dans l'exemple) mais il restait a gérer la différence d’échelle (et donc la différence entre le point du millieu du texte a 2.5 et le milieu du texte à 0.4 !!!) (ben faut bien que le texte soit la ou l'utilisateur veut le mettre non ?) en fonction du nombre de ligne etc...et avec plus ou mois la rotation du SCU ou du folio contenant le texte ! mais bon j'en avais besoin donc je l'ai fait à la mode : " je m'en fous, j'aime les maths ! Vive la trigo !" et donc aujourd'hui... vu que je pars de ma boite dans 7 semaines et que je suis à jour de mon taf (vive mes outils automatisés) : je me dit que je devrais peut-être améliorer et revoir certains codes notamment les premiers XD Mon site Web (en cours de construction) : Site DA-CODE de @didier
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