rik Posté(e) le 23 juillet 2008 Posté(e) le 23 juillet 2008 Bonjour, je dois modifier toutes les entités du plan en couleur 8comment changer rapidement la couleur des différents blocs d'un plan qui sont constitués d'entités de couleur et non en bylayer merci Richard
jalna Posté(e) le 23 juillet 2008 Posté(e) le 23 juillet 2008 Salut!Si tu es bien sur 2008, tu vas dans modification, remplacer par DuCalque!! "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
(gile) Posté(e) le 23 juillet 2008 Posté(e) le 23 juillet 2008 Salut, J'avais écrit un petit LISP qui fait ça (fonctionne avec les blocs, même imbriqués). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
rik Posté(e) le 24 juillet 2008 Auteur Posté(e) le 24 juillet 2008 mettre tout en bylayer ne fonctionne pas car les blocs sont constitués par des entités de couleur J'ai essayé le list mais j'obtiens le message suivant ; error: no function definition: VLAX-GET-ACAD-OBJECTc'est peut être du à la version autocad? j'ai essayer le programme ci-après car c'est ce que je dois faire (defun LSTAB ( TABL / LB X )(if (member (strcase tabl) '("APPID" "BLOCK" "DIMSTYLE" "LAYER" "LTYPE" "STYLE" "UCS" "VIEW" "VPORT"))(progn(setq lb (cons (cdr (assoc 2 (tblnext tabl T))) lb))(while (setq x (cdr (assoc 2 (tblnext tabl))))(setq lb (cons x lb)))(if (/= (strcase tabl) "BLOCK")(setq lb (acad_strlsort lb))lb)))) (defun lst2str (lst sep / )(strcat (vl-princ-to-string (car lst))(apply 'strcat(mapcar '(lambda (x) (strcat sep (vl-princ-to-string x)))(cdr lst)))))(defun c:CHLAY (/ cmdecho a b ent)(setq cmdecho (getvar "cmdecho"))(setvar "cmdecho" 0)(command "_undo" "D")(if (setq a (ssget "_X"))(repeat (setq cn (sslength a))(setq ent (entget (ssname a (setq cn (1- cn)))))(entmod (subst (cons 62 256) (assoc 62 ent) ent))(entupd (ssname a cn))))(command "-calque" "CO" 8 (lst2str (lstab "layer") ",") "" "_UNDO" "F")(setvar "cmdecho" cmdecho)(princ)) la j'obtiens le message ci-après Requires an integer between 1 and 32767, or option keyword. ; error: Function cancelledmerci pour vos réponses richard
(gile) Posté(e) le 24 juillet 2008 Posté(e) le 24 juillet 2008 Salut, ; error: no function definition: VLAX-GET-ACAD-OBJECT ajoute :(vl-load-com)au début du code et recharge le, ça devrait marcher. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
rik Posté(e) le 24 juillet 2008 Auteur Posté(e) le 24 juillet 2008 c'était bien ca, j'ai rajouté (vl-load-com)dans AutoCAD.mnl et cela fonctionneil ya juste les mtext et des leader de cotation qui font le difficilemais cela est un détail par rapport au gain de temps obtenu merci beaucoup Richard
(gile) Posté(e) le 24 juillet 2008 Posté(e) le 24 juillet 2008 Salut, Pour supprimer tous les formatages des mtextes, j'avais fait ça Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
rik Posté(e) le 24 juillet 2008 Auteur Posté(e) le 24 juillet 2008 cela fonctionne très bien il faut savoir que je devais mettre ne gris environ 50 plans! ces routines m'ont fait gagner pas mal de temps merci Richard
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