Aller au contenu

Couleur ??? Pffff je suis chiant


Messages recommandés

Posté(e)

Salut,

 

Encore un pb dont je ne trouve aucun renseignement, pourtant c'est certainement tout con, mais je voudrais la couleur de la dernière ligne que j'ai crée pour la mettre en rouge.

 

Voilà, merci

Le DOC

Posté(e)

(command "chprop" "_L"( ou l'entité en question) "co" "1")

 

Enfin bref, je te conseille CHPROP si tu a la possibilité de faire à la ligne de commande et non en manipulation de codes DXF.

 

A quoi te sert de connaitre la couleur de la dernière ligne si elle passe systématiquement en rouge ?

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

En fait il voulait certainement connaitre le code dxf associé à la couleur d'une entité.

Hors celui-ci n'est pas toujours présent dans une entité.

Lorsqu'une entité a la couleur 'ducalque' le code dxf dans son entité est absent parceque inhérent à la propriété 'ducalque' .

Le code DXF d'une couleur forcée sur une entité est 62

par exemple pour une entité forcée en rouge (62 . 1) est à ajouter ou à remplacer dans l'entité.

Maintenant par une tblsearch il est possible de connaitre la couleur d'un calque et auquel cas l'extraction du code DXF : 8 permet d'obtenir le calque et donc sa couleur par défaut.

 

A+ ...

Formateur

ATC Autocad - Mechanical - Inventor - Electrical

Posté(e)

Bonjour,

ceci decrait répondre à ton besoin

@+

 

(setq obj (entget (entlast))) ; récupération des valeurs du dernier objet

 

(setq coul (cdr (assoc 62 obj))) ; récupération de la couleur de l'objet, c'est juste pour l'exemple

 

(setq coul2 1) ; définition de la couleur (rouge=1 , jaune=2, etc...)

 

(setq obj (subst (cons 62 coul2) (assoc 62 obj) obj)) ; changement de couleur dans la liste, toujours pour l'exemple, on peut faire plus court, pas besoin de passer par coul2

 

(entmod obj) ; mise à jour de la liste dans la base

 

(entupd (cdr (assoc -1 obj))) ; mise à jour à l'écran

 

(princ)

 

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Ton exemple marche si tu veux remplacer une couleur forcée par une autre couleur forcée. Auquel cas le code 62 est effectivement présent dans l'entité.

Si cette entité a la couleur par défaut du calque, normalement (peut-être pas sur toutes les versions d'autocad) le code 62 n'apparaît pas, et donc, tu ne peux pas connaitre la couleur par défaut de cette entité.

Je reviens à la case départ il te faut donc par un tblsearch aller chercher les propriétés du calque sur lequel l'entité a été posée afin de rechercher sa couleur !!!

Formateur

ATC Autocad - Mechanical - Inventor - Electrical

Posté(e)

Bonjour

Je n'avais pas pensé à la couleur ducalque, donc tu fais par exemple

 

(setq obj (entget (entlast)))

(setq coul2 1)

(if (not (cdr (assoc 62 obj)))

(setq obj (append obj (list (cons 62 coul2))))

(setq obj (subst (cons 62 coul2) (assoc 62 obj) obj))

)

(entmod obj)

(entupd (cdr (assoc -1 obj)))

(princ)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité