Aller au contenu

[Résolu] - Copier dans une liste les 5 dernières entités


LElemurien

Messages recommandés

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 

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois aprè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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité