philsogood Posté(e) le 2 octobre 2013 Posté(e) le 2 octobre 2013 wahaaaag!!!les boules!!!je ne comprenais pas pourquoi lorsque je traçais des multilignes j'avais un fond grisé!!tout simplement pcq j'avais mis comme remplissage "aucun" qui correspond en fait à la couleur 255!!!(encore bravo aux ingénieurs qui ont pondu ça!)me reste plus qu'à reparamétrer mes multilignes (mais ça ne devrait aps être trop compliqué)En revanche maintenant je cherche un lisp capable de me transformer ma bibliothèque de blocs car mes blocs sont hachurés en 255 alors qu'il me faudrait la couleur 255,255,255est-ce que quelqu'un pourrait me faire un petit lisp sélectionnant les hachures des blcos et les faisant apsser sur la couleur 255,255,255j'avais déjà demandé votre aide pour faire passer ces meêm hachures en arrière plan et j'vais reçu un joli lisp... enfin Vlisp du coup g rien (ou presque) comprisle Vlisp était celui là (defun c:drw(/ blo doc ent) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for blo (vla-get-blocks doc) (and (eq (vla-get-islayout blo) :vlax-false) (vlax-for ent blo (or (eq (vla-get-objectname ent) "AcDbHatch") (progn (vla-copy ent) (vla-delete ent) ) ) ) ) ) (vla-endundomark doc) (princ) ) Je me doute que pour changer la couleur ça doit aps être très compliqué mais le Vlisp est réservé aux initiés!! :/ Phil Projeteur Revit Indépendant - traitement des eaux/CVC
lecrabe Posté(e) le 2 octobre 2013 Posté(e) le 2 octobre 2013 Hello J'ai l'impression que tu as particulierement apprecie mon Msg >>>ATTENTION : les magouilles avec le Blanc doivent se faire en general avec le VRAI blancsinon on risque qq soucis lors du trace/impression et par exemple en PDF !Le VRAI blanc = 16 Millions de couleur - RGB = 255,255,255 OUI mais cette magouille n'est vraiment possible que depuis la version 2004 et donc la gestion du mode 16M de couleurs ! Et pour AutoCAD LT depuis la version 2009 ! Ou alors tu peux utiliser le Tipex sur ton ecran et aussi sur le papier, c du VRAI blanc ! OK je sors, lecrabe Autodesk Expert Elite Team
Eric Posté(e) le 2 octobre 2013 Posté(e) le 2 octobre 2013 Ouais quoique, le tipex tire souvent un peu sur le jaune. Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD
philsogood Posté(e) le 2 octobre 2013 Auteur Posté(e) le 2 octobre 2013 et mes blocs je les corrige au typex bande de petits rigolos?? ;) Projeteur Revit Indépendant - traitement des eaux/CVC
VDH-Bruno Posté(e) le 3 octobre 2013 Posté(e) le 3 octobre 2013 Bonjour, Ou alors tu peux utiliser le Tipex sur ton ecran et aussi sur le papier, c du VRAI blanc !Si le Tipex vient à manquer, tu peux éventuellement tester le code qui suit (code en lisp classique peut être plus facile à décortiquer pour toi). ;; Passe les couleurs des hachures de bloc forcé en 255 en couleur 255,255,255. ;; Faire un regen pour modifier l'affichage sur les références (defun c:test (/ blk e dxf) (while (setq blk (tblnext "BLOCK" (null blk))) (cond ((wcmatch (setq blk (cdr (assoc 2 blk))) "~'**") (setq blk (entget (tblobjname "BLOCK" blk)) e (cdr (assoc -2 blk)) ) (while e (if (and (= "HATCH" (cdr (assoc 0 (setq dxf (entget e))))) (= (cdr (assoc 62 dxf)) 255)) (entmod (append dxf '((62 . 7) (420 . 16777215)))) ) (setq e (entnext e)) ) ) ) ) (princ) ) A+ Apprendre => Prendre => Rendre
philsogood Posté(e) le 4 octobre 2013 Auteur Posté(e) le 4 octobre 2013 héhé...'achement plus facile^^je me demande ce qu'il y a de plus compliqué entre le Vlisp et le lisp maintenant!! :)En tout cas merci bruno ça marche à merveille!dernier petit truc, pourrais tu modifier le code pour qu'il passe uniquement les hachures (quelquesoit la couleur) sur le couleur 255,255,255? (javais fait une eptite boulette sur certains blocs!! :/)Phil Projeteur Revit Indépendant - traitement des eaux/CVC
lecrabe Posté(e) le 4 octobre 2013 Posté(e) le 4 octobre 2013 Hello Je suis une triple buse en Lisp/Vlisp et je n'arrive a enlever correctement le AND de Bruno ! Donc en attendant tu peux mettre a la place cette ligne : ( if (and (= "HATCH" (cdr (assoc 0 (setq dxf (entget e))))) (Ainsi TOUTES les Hachures DONT la couleur est inferieur a 256 seront traitees a l'interieur du Bloc ... Desole Bruno pour cette Modif "bien minable" de ton code ! Mais ainsi Philosogood aura un truc qui marche ! lecrabe Autodesk Expert Elite Team
philsogood Posté(e) le 4 octobre 2013 Auteur Posté(e) le 4 octobre 2013 super,c'est pas grand chose mais c'est avec des petites phrases anodines qu'on arrive à déchiffrer des codes...il faut que je potasse tout çamerci et bon wePhil Projeteur Revit Indépendant - traitement des eaux/CVC
-Olivier- Posté(e) le 4 octobre 2013 Posté(e) le 4 octobre 2013 Bonsoir lecrabe, Je suis une triple buse en Lisp/Vlisp Au moins cela marche, c'est le principal. ;) En supprimant le AND, cela donne ceci :(if (= "HATCH" (cdr (assoc 0 (setq dxf (entget e))))) A+Olivier
VDH-Bruno Posté(e) le 8 octobre 2013 Posté(e) le 8 octobre 2013 Bonjour, dernier petit truc, pourrais tu modifier le code pour qu'il passe uniquement les hachures (quelquesoit la couleur) sur le couleur 255,255,255? (javais fait une eptite boulette sur certains blocs!! :/)Modifie le code comme indiqué par –Olivier- en réponse n°9 'achement plus facile^^je me demande ce qu'il y a de plus compliqué entre le Vlisp et le lisp maintenant!! :)Si tu veux comparer en repartant du code que tu as posté, une solution possible en Vlisp.;; Force la couleur des hachures dans les définitions de bloc en couleur 255,255,255. ;; Faire un regen pour modifier l'affichage sur les références (defun c:temp (/ blo doc ent objCoul) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) ;; Obtention d'un pointeur sur la couleur RGB (255,255,255) (vla-setRgb (setq objCoul (vla-getInterfaceObject (vlax-get-acad-object) (strcat "AutoCAD.AcCmColor." (substr (getvar "acadver") 1 2)) ) ) 255 255 255 ) ;; Parcours la table des blocs du document (vlax-for blo (vla-get-blocks doc) (and (eq (vla-get-islayout blo) :vlax-false) ;; Parcours la définition du bloc (vlax-for ent blo (and (eq (vla-get-objectname ent) "AcDbHatch") (vla-put-TrueColor ent objCoul))) ) ) (vla-endundomark doc) (princ) ) Desole Bruno pour cette Modif "bien minable" de ton code ! Mais ainsi Philosogood aura un truc qui marche ! C’est l’intention qui compte, je n’y ai rien vu de minable. ;) Amicalement Bruno Apprendre => Prendre => Rendre
philsogood Posté(e) le 11 octobre 2013 Auteur Posté(e) le 11 octobre 2013 merci à toussuper job!! :)Phil Projeteur Revit Indépendant - traitement des eaux/CVC
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