lecrabe Posté(e) le 10 juin 2014 Partager Posté(e) le 10 juin 2014 Hello Je suis fatigue aujourd'ui et mes neurones sont "mous" ! Soit un DWG avec de nombreux Blocs dont certains sont inseres au niveau Z = ZERO et certains en Z qq part ... mais les attributs visibles / invisibles (non verrouilles) se baladent en Z : parfois Z=0, parfois Z Positif, parfois Z Negatif !! Je pense que j'aurais besoin d'un programme Lisp/VLisp qui : - sur une selection AutoCAD CLASSIQUE - filtre les Blocs puis traite seuleument les Blocs avec Attributs - pour mettre le Z = ZERO sur TOUS les attributs !? ATTENTION : je ne veux pas mettre a ZERO le point d'Insertion Z du Bloc !! Ou bien y a t-il une manipulation EVIDENTE que je ne vois pas dans mon brouillard du jour ? Si routine Lisp/VLisp imperative, SVP je suis dans l'attente "d'un gentil" ... Merci d'avance de votre attention, Bye, lecrabe Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
FRAXA Posté(e) le 10 juin 2014 Partager Posté(e) le 10 juin 2014 Salut, attin, attout? HPZ400 Workstation Intel Xeon W3550 3.07 GHz 6 Go ram QUADRO FX 1800 Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 10 juin 2014 Partager Posté(e) le 10 juin 2014 Salut, Si j'ai bien compris la demande : (defun c:attZero (/ getAtts flatten ss i) (defun getAtts (ent / elst lst) (while (and (setq ent (entnext ent)) (= (cdr (assoc 0 (setq elst (entget ent)))) "ATTRIB") ) (setq lst (cons elst lst)) ) (reverse lst) ) (defun flatten (elst / dxf10 dxf11) (setq dxf10 (assoc 10 elst) dxf11 (assoc 11 elst) ) (entmod (subst (reverse (cons 0.0 (cdr (reverse dxf10)))) dxf10 (subst (reverse (cons 0.0 (cdr (reverse dxf11)))) dxf11 elst ) ) ) ) (if (setq ss (ssget '((0 . "INSERT") (66 . 1)))) (repeat (setq i (sslength ss)) (foreach att (getAtts (ssname ss (setq i (1- i)))) (flatten att) ) ) ) (princ) ) Attention, toute synchronisation repositionnerait les attributs à leur place définie dans la définition de bloc. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 10 juin 2014 Auteur Partager Posté(e) le 10 juin 2014 Hello NON la fonction ATTOUT (Routines Express/Bonus) permet d'envoyer vers un fichier TXT (A reprendre apres avec Excel) : Handle , Nom du Bloc , ATT1 , ATT2 , etc ... Bye, lecrabe Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 10 juin 2014 Auteur Partager Posté(e) le 10 juin 2014 Hello Comme d'habitude notre grand Maitre Gilles a frappe ! Merci beaucoup, Bye, lecrabe Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
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