l56 Posté(e) le 21 juin 2006 Posté(e) le 21 juin 2006 Bonjour, Je souhaite conaitre le nombre d'entités qu'un utilisateur vient de créer quelquesoit la commande utilisé.(copier, mirroir, ajuster, inserer ...) J'utilise les réacteurs suivant : (je n'y connais rien en réacteur...) (vlr-editor-reactor nil '((:vlr-commandWillStart (vlr-editor-reactor nil '((:vlr-commandEnded Je repere le nombre d'entités existantes dans les 2 réacteurs ci-dessus puis par une simple soustraction je récupere le nombre d'entites nouvellement créées. Mais j'aimerai une liste de noms d'entités et pas seulement leur nombre.Alors je boucle avec la commande (endel et (entlast puis je boucle dans l'autre sens pour faire revenir mes entités. Cela fonctionne ! Mais je suis sur qu'il y a une maniere plus rapide et plus élegante de le faire. Si quelqu'un peut m'aider ...
(gile) Posté(e) le 21 juin 2006 Posté(e) le 21 juin 2006 Salut, je n'y connais rien en réacteurs non plus, mais pour avoir la liste des n dernières entités créées : (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) ModSp (vla-get-ModelSpace AcDoc) ) (setq cnt (vla-get-Count ModSp)) (repeat n (setq lst (cons (vla-get-ObjectName (vla-Item ModSp (setq cnt (1- cnt)))) lst ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
l56 Posté(e) le 21 juin 2006 Auteur Posté(e) le 21 juin 2006 Merci Gile, Je recupère bien une liste des derniers éléments créés mais elle est du type ("AcDbText" "AcDbPolyline"),j'aurai préféré une liste du type ("Nom d'entité: 7e0b8160>" "Nom d'entité: 7e0b8160>"). A partir de ce que tu m'as donné, j'ai cherché mais je n'ai pas trouvé.:yltype:
Patrick_35 Posté(e) le 21 juin 2006 Posté(e) le 21 juin 2006 SalutJ'aurai fait par une autre méthode et sans réacteurA l'ouverture du dessin, je fais pas exemple (setq dernier_ent (entlast)) et quand je veux regarder ce qui a été créé après (setq ent dernier_ent) (while ent (setq ent (entnext ent)) .... ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 21 juin 2006 Posté(e) le 21 juin 2006 Excuse moi je pensais que tu voulais le type d'entité. si tu remplaces : (cons (vla-get-ObjectName (vla-Item ModSp (setq cnt (1- cnt)))) lst) par : (cons (vla-Item ModSp (setq cnt (1- cnt))) lst), tu auras la liste des VLA-objects ou par (cons (vlax-vla-object->ename (vla-Item ModSp (setq cnt (1- cnt)))) lst) pour avoir celle des noms d'entités (ename). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
l56 Posté(e) le 21 juin 2006 Auteur Posté(e) le 21 juin 2006 C'est bon ! ça marche !Merci encore. Merci aussi à Patrick_35 pour cette suggestion.(je vais comparer les deux methodes) Je n'ai pas l'habitude de me balader et d'utiliser les forums, mais je m'apercois qu'il y a des gens competents et sympas. a+Laurent
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