-
Fil d'actualité
-
7
Améliorer routine cotation
Je ne serais à la retraite que dans 12 ans, il me reste encore quelques neurones, mais ils se font de plus en plus rares 😉 -
8
Bonne Année et Vive la Retraite...
Bonne année à vous tous, ici, ça a pas mal commencé... -
8
Bonne Année et Vive la Retraite...
Merci Bien @LElemurien je vais essayer d'en profiter un max... -
8
Bonne Année et Vive la Retraite...
Bonne et heureuse année à tous! Et @rebcao je vous souhaites une excellente retraite profitez en bien! -
0
MTEXT - couleur arrière plan DUCALQUE
Bonjour et bonne année à tous ! Cela fait un moment que je déplore l'absence de la couleur logique "Ducalque" dans la couleur du masque d'arrière plan d'un Texte Multiligne... Je voulais juste des textes NOIRS sur un fond JAUNE, ou BLEU, etc. (de la couleur du calque) (et sans passer par des blocs avec attributs). Et puis je découvre par hasard sur internet, que cette couleur n'est pas disponible depuis l'interface , mais en programmation, oui : code DXF 63 valeur 256 (DuCalque). Youpi, ça fonctionne ! J'en profite pour ajouter à mon code le texte en noir, la valeur de décalage et ... un encadrement. Dans un premier temps, je ne trouve pas de code DXF lié à cet encadrement. Puis je comprends que l'encadrement est lié au code 90, mais aucune source dans l'aide (l'aide ne propose que les valeurs 0, 1 et 2 : pas de masque, masque couleur choisie, masque couleur d'arrière plan). DXF MTEXT Je fouille un peu le net, et je crois comprendre qu'il faut ajouter la valeur 16 au code DXF 90 pour avoir un cadre. Mais je ne suis pas sûr d'avoir toutes les bonnes infos. Auriez-vous des sources pour ce code 90 ? Mon programme fonctionne!!! ... mais pas complètement. Sur certains textes, la couleur de fond se met en gris plutôt que DuCalque. En faisant des tests, je remarque que ces Textes fautifs sont encadrés et n'ont pas de masque. Quand je leur ajoute un masque ou que j'enlève le cadre, le programme fonctionne ! Quand je copie les propriétés de ce texte fautif sur un texte normal, le programme fonctionne. Quand je vais dans la boîte de dialogue masque d'arrière plan, même si le masque n'est pas coché, je m'aperçois que la couleur est définie sur 200,200,200 (c'est justement le gris que j'obtiens à la place de la couleur DuCalque). En parcourant les valeurs DXF (avec DXF list Data), je vois que c'est textes ont un code DXF 421 de 13158600. Les autres textes n'ont pas ce code 421. Je suppose que le secret est là. Faut-il que je supprime tous les DXF de 420 à 439 pour m'assurer que mon programme fonctionne ? Question subsidiaire : il existe un code DXF 441 qui gérerait la transparence cette couleur de fond, mais l'aide indique "not implemented". Est-ce que ça veut dire qu'on y aura jamais accès ? Merci d'avance pour vos futures réactions. ;background bylayer (defun c:bg () (setq sel (ssget '((0 . "MTEXT")))) ; Sélectionner uniquement les MText (if sel (progn (repeat (sslength sel) (setq ent (ssname sel 0)) ; Obtenir l'entité (setq data (entget ent)) ; Récupérer les données DXF ;; Modifier ou ajouter le code DXF 62 pour définir la couleur du texte sur noir (setq data (subst '(62 . 7) ; Définir la couleur du texte sur noir (assoc 62 data) ; Remplacer le code 62 existant (append data (if (not (assoc 62 data)) '((62 . 7)) ; Ajouter le code 62 s'il n'existe pas nil)))) ;; Modifier ou ajouter le code DXF 90 pour activer l'arrière-plan (setq data (subst '(90 . 17) ; Activer l'arrière-plan ; valeur 1 pour activer l'arrière plan + valeur 16 pour activer l'encadrement (assoc 90 data) ; Remplacer le code 90 existant (append data (if (not (assoc 90 data)) '((90 . 17)) ; Ajouter le code 90 s'il n'existe pas nil)))) ;; Modifier ou ajouter le code DXF 45 pour le facteur de décalage de bordure (setq data (subst '(45 . 1.2) ; Définir le facteur de décalage de bordure à 1.2 (assoc 45 data) ; Remplacer le code 45 existant (append data (if (not (assoc 45 data)) '((45 . 1.2)) ; Ajouter le code 45 s'il n'existe pas nil)))) ;; Modifier ou ajouter le code DXF 63 pour la couleur d'arrière-plan (setq data (subst '(63 . 256) ; Définir une couleur explicite (par exemple, 7 pour blanc/noir) (assoc 63 data) ; Remplacer le code 63 existant (append data (if (not (assoc 63 data)) '((63 . 256)) ; Ajouter le code 63 s'il n'existe pas nil)))) (entmod data) ; Appliquer les modifications DXF à l'entité (ssdel ent sel)) ; Supprimer l'objet de la sélection pour éviter une boucle infinie (princ "\nMasque activé avec couleur d'arrière-plan sur 256, texte noir, facteur de bordure 1.2, et encadrement activé pour tous les MText sélectionnés.") ) (princ "\nAucun MText sélectionné.") ) (princ))
-
-
Principales Contributions
-
Contributeurs populaires
-
Qui est en ligne (Afficher la liste complète)
- Il n’y a aucun utilisateur enregistré actuellement en ligne
-
Statistiques des membres