LUDWIG Posté(e) le 28 décembre 2007 Posté(e) le 28 décembre 2007 Bonjour ! J'ai besoin d'une aide urgente :Je suis sur un gros projet de cuisine, j'ai plein de bloc "REPERE" : un rectangle avec un attribut dedans.Je ne sais pas par quelle manipulation, mes rectangles du blocs sont toujours bien placé mais tous les attributs sont sur 0,0,0 (et donc tous superposés).Mon attribut avait pourtant une position verrouillée dans le bloc. SVP aidez-moi à résoudre mon problème ! Autocad 2021 - Revit 2022 - Windows 10
winfield Posté(e) le 28 décembre 2007 Posté(e) le 28 décembre 2007 aie aie aie !"#&P=*e !!!!!! il faut que ça arrive un vendredi soir !J'ai pas mes routines avec moi :mad: Si tu peux patientez, je m'étais fais un truc qui pourrait t'aider Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
lesourd2 Posté(e) le 28 décembre 2007 Posté(e) le 28 décembre 2007 Salut Je suppose que tu as deja fait BATTMAN @+ [Edité le 28/12/2007 par lesourd2]
LUDWIG Posté(e) le 28 décembre 2007 Auteur Posté(e) le 28 décembre 2007 non pas fait battmanje le regarde sinon winfield, je suis tj preneur Autocad 2021 - Revit 2022 - Windows 10
LUDWIG Posté(e) le 28 décembre 2007 Auteur Posté(e) le 28 décembre 2007 j'ai essayé battman, ça marche mais il me met la valeur par défaut plutot que la valeur de l'attribut Autocad 2021 - Revit 2022 - Windows 10
LUDWIG Posté(e) le 28 décembre 2007 Auteur Posté(e) le 28 décembre 2007 ayé ! ouf en fait mon attribut été doublé dans mon bloc (??). J'ai supprimé l'attribut superflue et j'ai synchronisé le bon : tout est rentré dans l'ordre !! Merci à vous, bon week end, bonnes vacances, bonne année ! Autocad 2021 - Revit 2022 - Windows 10
(gile) Posté(e) le 28 décembre 2007 Posté(e) le 28 décembre 2007 Salut, Un LISP vite fait (pas testé en profondeur) edit : trop tard... (defun c:test () (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (vlax-for e (vla-item (vla-get-Blocks *acdoc* ) "REPERE" ) (if (= (vla-get-ObjectName e) "AcDbAttributeDefinition") (setq ins (vlax-get e 'InsertionPoint)) ) ) (if (ssget "_X" '((0 . "INSERT") (2 . "REPERE"))) (vlax-for b (vla-get-ActiveSelectionSet *acdoc*) (mapcar '(lambda (a) (vla-move a (vlax-3d-point '(0 0 0)) (vlax-3d-point (mapcar '+ ins (vlax-get b 'InsertionPoint))) ) ) (vlax-invoke b 'getAttributes) ) ) ) (princ) ) [Edité le 28/12/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lesourd2 Posté(e) le 28 décembre 2007 Posté(e) le 28 décembre 2007 Salut gileJe viens de tester : Commande: test; erreur: Erreur Automation Clé introuvable.?? @+
(gile) Posté(e) le 28 décembre 2007 Posté(e) le 28 décembre 2007 Ce LISP, fait dans l'urgence, est prévu pour essayer de réparer le souci de Ludwig uniquement.Il récupère le point d'insertion de la définition de l'attribut dans la définition du bloc REPERE et déplace toutes les références d'attribut de 0,0 vers leurs points d'insertions dans chaque référence du bloc. L'erreur que tu as eu est due au fait qu'il n'y a pas de bloc REPERE dans la collection du dessin dans lequel tu as lance le LISP. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
LUDWIG Posté(e) le 29 décembre 2007 Auteur Posté(e) le 29 décembre 2007 Merci (gile) de t'être penché sur mon problème. Je ne l'ai résolu qu'en "bidouillant" (je ne maîtrise pas les attributs). Si jamais ça se reproduit (car je suspecte un des lisps de ma lispothèque), je me pencherais sur ton code ! Autocad 2021 - Revit 2022 - Windows 10
(gile) Posté(e) le 29 décembre 2007 Posté(e) le 29 décembre 2007 Attention, comme dit plus haut, ce LISP était sensé répondre à ce problème précis avec ce bloc (1 seul attribut). Je pensais que tu avais déjà essayé BATTMAN ou ATTSYNC. Plus général et polyvalent, j'avais fait ce LISP, qui fait la même chose qu'ATTSYNC mais sans boite de dialogue et qui fonctionne en "sélection nom-verbe". Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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