Aller au contenu

Dégradé de couleur ...


Messages recommandés

Posté(e)

Très cher CadX'Wome et CadX'men, bonjour!

 

J'espère que tout le monde a passé de bonnes fêtes de Noël, et se prépare à passer un exellant réveillon!!

 

Je m'adresse à vous aujourd'hui car il me semble qu'il est possible de faire des dégradés de couleur, et même de mettre des couleurs différentes sur des portions d'une même polyligne!

 

J'ai fouillé dans l'aide, mais je n'ai rien trouvé allant dasn ce sens ....

 

Aurais-je rêvé, ou non???

 

Si non, merci de bien vouloir m'indiquer la marche à suivre, car là, je sêche ...

Salutations,

 

Yohann

 

Posté(e)

Salut

 

de mettre des couleurs différentes sur des portions d'une même polyligne!

 

 

 (defun c:mp(/ Cmd Co Coo Compt ep Lg os Pt1 Pt2 Pts Pas s)

 (defun *errmp* (msg)
   (if (/= msg "Function cancelled")
     (if (= msg "quit / exit abort")
       (princ)
       (princ (strcat "\nErreur : " msg))
     )
     (princ)
   )
   (if os
     (setvar "osmode" os)
   )
   (setvar "cecolor" coo)
   (command "_.undo" "_end")
   (setvar "cmdecho" Cmd)
   (setq *error* s)
   (princ)
 )

 (defun cg_co()
   (setvar "cecolor" (itoa Co))

;;;permet de changer la premiere couleur 
   (if (= Co 5)

;;;permet de changer la deuxieme couleur
     (setq Co 7)

     (setq Co 5)
   )
 )

 (setq s *error*)
 (setq *error* *errmp*)
 (setq Cmd (getvar "cmdecho") Coo (getvar "cecolor"))
 (setvar "cmdecho" 0)
 (setq Ep (getstring (strcat "\nEpaisseur des polylignes <" (rtos (getvar "plinewid")) "> : ")))
 (if Ep
   (setvar "plinewid" (atof Ep))
 )
;;;permet de changer la couleur du premier tronçon
 (setq Pt1 (getpoint "\nPremier point : ") Pt2 '(0.0 0.0 0.0) Co 5 Compt 0)

 (if Pt1
   (progn
     (setq Pts (list (cons 0 Pt1)))
     (while Pt2
       (initget "Undo")
       (setq Pt2 (getpoint Pt1 "\nPoint suivant / Undo : "))
       (if Pt2
         (progn
           (if (= Pt2 "Undo")
             (progn
               (if (/= Compt 0)
                 (progn
                   (command "_.undo" "1")
                   (setq Pts (vl-remove (assoc Compt Pts) Pts) Compt (1- Compt) Pt1 (cdr (assoc Compt Pts)))
                 )
                 (princ "\nRien à annuler")
               )
             )
             (progn
               (command "_.undo" "_group")
               (setq os (getvar "osmode"))
               (setvar "osmode" 0)

;;;permet de changer la longueur des tronçons
               (setq Pas 0 Lg (* (getvar "ltscale") 0.5))

               (while (< Pas (- (distance Pt1 Pt2) Lg))
                 (cg_co)
                 (command "_.pline" (if (= Pas 0)
                                      Pt1
                                      "@"
                                    )
                                    (strcat "@" (rtos Lg) "<" (angtos (angle Pt1 Pt2) 0 16))
                                    "")
                 (setq Pas (+ Pas Lg))
               )
               (cg_co)
               (command "_.pline" "@" Pt2 "")
               (setvar "osmode" os)
               (setvar "cecolor" coo)
               (command "_.undo" "_end")
               (setq Pt1 Pt2 Compt (1+ Compt) Pts (append Pts (list (cons Compt Pt2))))
             )
           )
         )
       )
     )
   )
 )
 (setvar "cmdecho" Cmd)
 (setq *error* s)
 (princ)
)

 

Merci à son auteur

 

@+

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é