Aller au contenu

[ Résolu ]Modification de couleur de cotations


TOPO-94

Messages recommandés

Hello

Voir ci-dessous une base de depart ... Routine "DIMCOLOR" ...

Coloriage de cote en fonction d une Valeur precise !

((equal l 1.5 1e-6) 1) : si valeur = 1.5 alors Code couleur = 1 rouge

((equal l 2.0 1e-6) 2) : si valeur = 2.0  alors Code couleur = 2 jaune

etc

1) Tu pourras ajouter TES valeurs avant la ligne (256)

2) "_X"  sur la ligne ssget fait que cela selectionne TOUTES les Cotations ! Donc tu le supprimes  "_X"  si tu veux une selection "normale" ...

ATTENTION : c non teste ! ... SVP tu nous diras si cela te convient ?

Merci VDH-Bruno, La Sante, Bye, lecrabe

 

;; 
;; http://cadxp.com/topic/38095-couleur-en-fonction-des-cotes/page__pid__210019
;; VDH-Bruno - la cote 1.50m en bleu, 2.00m en vert, 2.50m en rouge 
;; Routine :  DIMCOLOR  vs 1.00 par VDH-Bruno
;; Forcer TOUTES les Entites (Attaches, Ligne, Texte) avec UNE couleur 
;; en fonction d' une Valeur de Cote : 1.50 , 2.00 , 2.50 
;; 

(defun c:DIMCOLOR ()
  (vl-load-com)
  (if (ssget "_X" '((0 . "DIMENSION")))
    (vla-delete
      (vlax-map-collection
        (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
        '(lambda (o / l c)
           (setq l (vla-get-Measurement o)
                 c (cond ((equal l 1.5 1e-6) 1)
                         ((equal l 2.0 1e-6) 2)
                         ((equal l 2.5 1e-6) 3)
                         (256)
                   )
           )
           (foreach p '(DimensionLineColor ExtensionLineColor TextColor) (vlax-put o p c))
         )
      )
    )
  )
  (princ)
) 

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Merci pour ta réactivité,

Le Lisp marche et le résultat est que toute mes cotes sont au bleu,

Sachant que mes cotes sont au mm ( j'ai appliqué un facteur d'echelle x1000 pour les cotes) pour les avoir au mm,

image.png.77c972c223d9258e4e9a6ff1de17afdc.png

 

Est ce que les valeurs que tu as mis dans le Lisp sont au mètre ?

En générale je fais des cotations au mm..

Je te remercie par avance

 

 

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

SVP tu lis bien ce que j ai dit !

((equal 1 1.5 1e-6) 1)    signifie :

Si la Cote a la valeur 1.5 (mm ou cm ou m ou km ou etc) alors on force le code couleur 1 donc ROUGE !

SVP tu modifies en consequence les valeurs 1.5 / 2.0 / 2.5 ...

Par exemple si c 'est la valeur 2500.0 qui t'interesse + forcer en Code couleur 6 Magenta :

((equal 1 2500.0 1e-6) 6)

 

Neanmoins ne pas oublier que cette routine Lisp ne correspond pas exactement a ta demande !?

Je pense que tu as plutot besoin d une routine qui ferait la chose suivante :

1) Question de la valeur de cotation (Cotes Alignees et Lineaires)

2) Type de test : < , > , = , <= , >=

3) Selection classique

4) Et donc on retient dans la selection que les Cotes Alignees et Lineaires correspondantes ...

 

Bye, lecrabe

 

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Oui j'ai bien appliqué ce que tu me dis mais le lisp ne fait que mettre toutes les cotations en couleur du calque.

image.png.7331c96014e3ad5c106fa579cee44319.png

Le 21/10/2022 à 21:24, lecrabe a dit :

Je pense que tu as plutot besoin d une routine qui ferait la chose suivante :

1) Question de la valeur de cotation (Cotes Alignees et Lineaires)

2) Type de test : < , > , = , <= , >=

3) Selection classique

4) Et donc on retient dans la selection que les Cotes Alignees et Lineaires correspondantes ...

Pourquoi pas ? ma demande c'est juste mettre toutes les cotes en rouge pour les valeurs supérieur à 20 mm par exemple les autre en couleur verte ..

 

Je te remercie,

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Code modifié et personalisé :

 

Pour les cotes inf à 11 ==> c'est en rouge et les cotes inf à 11 seront en vert y compris,

 

C'est ce que je cherchais plus tot un intervale alors que le code donné de base été a des valeurs equal et non sup ou inf,

 

Merci bcp pour votre Aide ,le code que j'ai utiliséDim-couleurs.lsp  c'est magique !!! 😄 😄 😄

 

 

Lien vers le commentaire
Partager sur d’autres sites

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é