krunch Posté(e) le 28 juillet 2009 Posté(e) le 28 juillet 2009 Bonjour à tous Je dois extraire la totalité des entités graphiques contenues dans une sélection, y compris les entités imbriquées. J'ai fait la récursive ci-dessous, qui a l'air de bien marcher. Elle part juste du 1er objet sélectionné, et elle renvoie tout ce qu'elle trouve (également les VERTEX et SEQUEND mais ce n'est pas grave). Elle cherche dans les RefBlocs, les Xrefs, les Tableaux et les Cotations. Ma question porte sur ces objets containers, car le but est de la généraliser à tous les contextes.Existe t'il d'autres objets containers que ceux de la liste '("INSERT" etc..) ?Y a t'il un test plus efficace que celui là ?Comment ça se passe si des nouveaux objets apparaissent ? (defun c:do (/ result) (GetNested (ssname (ssget) 0)) (print result) (princ) ) (defun GetNested (xent / xnom ient) (if (member (cdr(assoc 0 (entget xent))) '("INSERT" "ACAD_TABLE" "DIMENSION" "ARC_DIMENSION" "LARGE_RADIAL_DIMENSION")) (progn (setq xnom (cdr(assoc 2 (entget xent)))) (setq ient (tblobjname "BLOCK" xnom)) (while (setq ient (entnext ient)) (GetNested ient) ) ) (setq result (cons (cdr(assoc 0 (entget xent))) result)) ) )
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