Bonjour,
J'ai des blocs qui contienne d'autre blocs, et j'aimerais savoir si il y a une fonction qui permetrait de selectioner un bloc et de savoir combien de fois il contient le bloc A, combien de fois il contient le bloc B, etc...
Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.
Je suis un simple utilisateur, je ne travaille pas pour Autodesk
Résolu ! Accéder à la solution.
Résolu par otobox. Accéder à la solution.
Résolu par CADaSchtroumpf. Accéder à la solution.
Salut,
tu peux éditer le bloc (dans l'éditeur de bloc, pas dans le dessin). Puis clic droit, sélection rapide, tous les blocs de nom = à A. Et il te sort une quantité en haut des propriétés des objets sélectionnés.
Pour avoir un nombre simplement en cliquant sur le bloc qui contient les blocs A, je ne sais pas.
Ciao,
Alice
c'est interessant, mais je cherche un moyen de faire ça pour des personne qui n'utilise pas autocad, car lorsque 'il consulte mon plan, il ont besoin de savoir rapidement se genre de renseignement. donc une sorte de mini tableau qui donne les element imbriqué dans un bloc, mais juste dans se bloc sans prendre le bloc d'a coté.
pour faire simple
dans le bloc A il y a X*a Y*b Z*c
dans le bloc B il y a W*a D*b V*c
mon but est quand je seleciton le bloc A on m'indique juste les element contenu dans le Bloc A soit :X*a Y*b Z*c
Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.
Je suis un simple utilisateur, je ne travaille pas pour Autodesk
Je ne pense pas répondre exactement à ta question, mais à une époque (plusieurs années) j'avais fais ceci en lisp (pour un besoin un peu similaire).
Si ça peut être un début d'exploration pour toi!
(defun xplore (l / ent ) (while (setq ent (entnext (cdar l))) (setq l (entget ent)) (if (eq (cdr (assoc 0 l)) "INSERT") (xplore (entget (cdr (assoc -2 (tblsearch "BLOCK" (cdr (assoc 2 l))))))) ) (if (eq (cdr (assoc 0 l)) "ATTDEF") (print (strcat "Etiquette = " (cdr (assoc 2 l)) " ; Valeur = " (cdr (assoc 1 l)))) ) ) ) (defun c:block_summary ( / first_blk l_blk n_blk js) (setq first_blk (tblnext "BLOCK" T)) (cond (first_blk (setq l_blk (list first_blk)) (while (setq n_blk (tblnext "BLOCK")) (setq l_blk (cons n_blk l_blk)) ) (foreach n l_blk (setq js (ssget "_X" (list (cons 0 "INSERT") (assoc 2 n)))) (print (strcat "BLOC : " (cdr (assoc 2 n)) " " (itoa (if js (sslength js) 0)) " insertion(s)")) (cond ((< (cdr (assoc 70 n)) 4) (setq dxf_lst (entget (cdr (assoc -2 n)))) (xplore dxf_lst) ) (T (princ " -> XREF. Définition ignorée")) ) (print) ) ) (T (princ "\nPas de blocs définis!") ) ) (prin1) )
merci , maintenant, j'ai plus qu'a me mettre au lisp
Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.
Je suis un simple utilisateur, je ne travaille pas pour Autodesk
Sinon, j'ai trouvé ce lisp sur le net :
http://www.lee-mac.com/nestedblockcounter.html
mercie je vais voir ça mardi
Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.
Je suis un simple utilisateur, je ne travaille pas pour Autodesk
Merci bien c'est ce que je voulais, il me reste plus qu'a pouvoir enregistrer comme il faut pour avoir un pti tableau sympa
Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.
Je suis un simple utilisateur, je ne travaille pas pour Autodesk
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.