LElemurien Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 Bonjour à tous, Est il possible de copier dans une liste les 5 dernières entités? Exemple : pour le moment j'utilisais entlast pour pour copier la dernière entité dans ma liste. mais j'aimerai pouvoir copier les 5 dernières exemple avec un petit programme : (defun c:test001 (/ list_ent item) (command "_cylinder" '(0 0 0) 50 1000) (setq list_ent (list (entlast))) (command "_copy" (entlast) "" '(0 0 0) '(500 0 0)) (setq list_ent (append list_ent (list (entlast)))) (print list_ent) (princ) ) pour ce bout de programme cela fonctionne car je n'ai qu'une entité à chaque fois mais si j'utilise la fonction réseau de la commande copier du coup cela ne fonctionne plus car j'ai créer 5 entités donc entlast prend évidemment que la dernière entité voir exemple 2 : (defun c:test002 (/ list_ent item) (command "_cylinder" '(0 0 0) 50 1000) (setq list_ent (list (entlast))) (command "_copy" (entlast) "" '(0 0 0) "R" 5 '(500 0 0)) (setq list_ent (append list_ent (list (entlast)))) (print list_ent) (princ) ) Il y a t-il un moyen de "dire" les 5 dernières entité ou bien il faut passer par un autre moyen comme filtre de sélection ou autre ... Sinon il ne faut pas utiliser la fonction réseau de la commande copie. En espérant avoir été clair dans ma question? Merci d'avance
Luna Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 Coucou, L'une des solutions pourrait également être de ne pas utiliser la commande "COPY" mais de passer par (entmakex) dans une boucle :3 Comme chat tu n'auras aucune difficultés pour créer ta liste peut importe le nombre d'objets. Bisous, Luna
bonuscad Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 Une possibilité, poser une borne avant l'action: (setq borne (entlast)) Et après l'action , récupérer toutes les entités crées depuis la borne posée: (if (and borne (entget borne))(progn (setq ss nil ss(ssadd))(while (setq Suivant (entnext Borne))(ssadd Suivant ss)(setq Borne Suivant))ss)) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
LElemurien Posté(e) le 20 mai 2021 Auteur Posté(e) le 20 mai 2021 Merci pour les infos! Il faut que j'étudie la solution à @bonuscad car je pense que c'est celle qui va le pus m'intéressé. Merci encore à vous 2! Bonne soirée
Luna Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 Vouih, je n'étais pas sûre de l'ordre chronologique concernant la fonction (entnext) donc je voulais vérifier chat avant de raconter des bêtises mais en effet (entnext) est une solution idéale pour conserver l'utilisation des (command) ! ;3 Bisous, Luna
LElemurien Posté(e) le 19 juillet 2021 Auteur Posté(e) le 19 juillet 2021 Je reviens un peu tard mais merci à vous 2. La solution de @bonuscad a parfaitement fonctionnée. Merci encore et bonne journée
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