TOPO-94 Posté(e) le 20 octobre 2022 Posté(e) le 20 octobre 2022 Bonjour à tous, Est ce qu'il serait possible d'avoir un Lisp qui me permet de changer la couleur de cotation une fois la valeur de la cote est supérieur à une valeur X. Par exemple : Cotation = 10 mm couleur verte , 11 mm c'est rouge. Vous remerciant,
lecrabe Posté(e) le 20 octobre 2022 Posté(e) le 20 octobre 2022 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
TOPO-94 Posté(e) le 21 octobre 2022 Auteur Posté(e) le 21 octobre 2022 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, 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
lecrabe Posté(e) le 21 octobre 2022 Posté(e) le 21 octobre 2022 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
TOPO-94 Posté(e) le 22 octobre 2022 Auteur Posté(e) le 22 octobre 2022 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. 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,
TOPO-94 Posté(e) le 17 novembre 2022 Auteur Posté(e) le 17 novembre 2022 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 !!! 😄 😄 😄
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