Aller au contenu

Détecter tous les groupes existants dans le dessin et récupérer le nom des blocs et leur quantité pour chaque groupe


sofianerm

Messages recommandés

Bonjour à tous,

J'ai un ensemble de groupe dans mon dessin. Chaque groupe contient des blocs. Je souhaite faire "l'inventaire" c'est à dire de compter le nombre de bloc par groupe.

 

Citation

Groupe 1 : 

  1. bloc A : 42
  2. bloc B : 23

Groupe 2

  1. bloc A : 22
  2. bloc C : 10

Etc....

 

J'ai ce lisp, que j'utilise. Je selectionne bien mes groupes, le probleme est que je tombe dans : No group found in the drawing.

Merci pour votre aide.

qte_grpe.lsp

Lien vers le commentaire
Partager sur d’autres sites

Salut,

je sais pas d'où sors ce lisp, mais je pense que dès le

(setq groups (ssget '((0 . "GROUP"))))

ça part mal !

Il vaut mieux commencer un peu comme ça

 (setq acadObject (vlax-get-acad-object));_accède a l'application
  (setq acadDocument (vla-get-ActiveDocument acadObject));_accède au documenttif
 (setq groups (vla-Get-Groups acadDocument));_accèdes aux groupes
(setq nb (vlax-get-property groups 'Count));_ compte le nombre de groupes
 (setq groupObj (vlax-invoke-method groups 'Item NomGroupe));_accède au groupe 'NomGroupe'

a+

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Salut Gégé,

Merci pour ta réponse. J'ai trouvé cela sur un forum anglophone, je ne saurai pas te dire lequel, mais le sujet était tres vieux.

Concernant les précisions que tu m'as apporté, je ne pourrai rien en faire malheureusement, car je ne maitrise pas du tout le langage AutoLisp.

Merci tout de meme. 

Sofiane

Lien vers le commentaire
Partager sur d’autres sites

Salut,

si des lispiens chevronnés peuvent m'expliquer ce que je n'ai pas compris ?

mais pour moi ce lisp s'apparente à un canular ...

Il semble bien écrit mais en fait c'est n'importe quoi.

a+

gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Merci pour vos réponses Gégé et Olivier. C'est donc complètement non fonctionnel de ce que je comprends ? 

J'utilise cet autre LISP qui lui est fonctionnel. Le problème est qu'il me génère un tableau mais pour l'ensemble du dessin. Sauf que j'ai crée des groupes (qui représentent des pièces) et dans mon projet actuel j'ai par exemple 80 pièces. 

Mon souhait est de connaitre pour chaque pièce (donc chaque groupe), le quantitatif pour chaque bloc. Je le fais actuellement a la main, pour les 80 pièces, en sélectionnant le groupe suivi du LISP a chaque fois.

BC.LSP

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Dans cet article, on trouve la routine pour sélectionner tous les groupes https://adndevblog.typepad.com/autocad/2012/05/obtaining-group-names-as-a-list-using-autolisp.html

Dans cette discussion (message 5), il y a la fonction selgrp qui permet de sélectionner tous les objets d'un groupe donné : https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/programmatically-find-a-group-s-quot-insert-quot-point/td-p/7311913

 

En combinant les 2, ça doit le faire.

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @sofianerm

On a compris ce qu'il fallait faire, c'est une chose,

Ce qu'on ne sait pas, c'est :

  1. Attends-tu un truc clé en main tout fait pour que tu n'aies qu'à lancer le programme et obtenir la liste des blocs par groupe ?
  2. Ou est-ce que tu veux "apprendre" pour faire ce programme ?.

Nous, on pourrait le faire ce que tu demandes, mais on ne sait pas vraiment comment te répondre.

Autre chose, le programme fourni dans le premier message, QUI l'a écrit ?

Si tu es en apprentissage et au vu de tes questions, je ne suis pas certain que ce soit une bonne chose de commencer par ce type de programme, il faut respecter une chronologie et une évolution dans l'apprentissage.

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Didier,

Merci pour ton retour. Alors je ne suis pas du tout dans l'idée d'apprendre le Lisp, je cherche en réalité une routine existante, ou une personne parmi vous qui peut éventuellement me le développer. 

Ma requête est toute simple. J'ai un plan, avec 80 pièces. J'ai placé mes blocs dans les différentes pièces et j'ai ensuite créer des GROUPES. Chaque groupe représente une pièce avec ces éléments (des blocs).

J'utilise une routine (celle que j'ai envoyé ci dessus), qui me permets de compter le nombre de bloc dans l'ENSEMBLE du dessin. Ce que je souhaite c'est également de compter dans l'ensemble du dessin, mais regrouper par pièce, tout simplement.

Citation

Exemple : 

Piece 1 : 
* bloc a 23
* bloc b : 10

Piece 2 : 
* bloc a : 12
* bloc c : 5

etc ...

 

Merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @sofianerm

Ça a au moins le mérite de la franchise.

Ici, c'est un site d'apprentissage et d'échange de savoir, du moins c'était sa mission initiale.
Les temps changent et on voit de plus en plus de gens qui viennent demander, non de l'aide pour le faire, mais carrément des programmes tout faits.
Il y a des gens qui vivent de ça, ça s'appelle des développeurs, et certains ici (sur cadxp et ailleurs) en font métier et vivent de ce métier.

Te donner une réponse et donc un programme (gratuitement) est une insulte directe à ces gens, aussi, tu peux comprendre qu'on est timorés à répondre.
D'un côté, on aime aider, de l'autre, on ne veut pas nuire aux développeurs professionnels, que faire ?

Contacte-moi en message privé et je te fournirai peut-être quelque chose suivant ta demande précise

Amicalement

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 17 heures, didier a dit :

Bonjour @sofianerm

Ça a au moins le mérite de la franchise.

Ici, c'est un site d'apprentissage et d'échange de savoir, du moins c'était sa mission initiale.
Les temps changent et on voit de plus en plus de gens qui viennent demander, non de l'aide pour le faire, mais carrément des programmes tout faits.
Il y a des gens qui vivent de ça, ça s'appelle des développeurs, et certains ici (sur cadxp et ailleurs) en font métier et vivent de ce métier.

Te donner une réponse et donc un programme (gratuitement) est une insulte directe à ces gens, aussi, tu peux comprendre qu'on est timorés à répondre.
D'un côté, on aime aider, de l'autre, on ne veut pas nuire aux développeurs professionnels, que faire ?

Contacte-moi en message privé et je te fournirai peut-être quelque chose suivant ta demande précise

Amicalement

Bonjour @didier,

Et bien, je serai preneur d'une méthode claire pour apprendre le LISP.

Pour vous situer mon niveau de compréhension, j'ai essayé à partir de cette page : https://programmation.developpez.com/tutoriels/autolisp/introduction-autolisp/ et je n'ai rien compris.

Si cela vous fait écho et sans vouloir nuire aux développeurs

Je vous remercie.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @William44850

C'est une bonne chose et qui fait plaisir à entendre.

Il se trouve que mon site est en vrac et que je n'arrive pas à le faire repartir, c'est mon fils qui va s'en charger, mais tu sais ce que c'est, quand c'est pour papa... je le ferai demain.
Par ailleurs, j'ai dans l'idée de faire un site de formation, en vidéo, mais aussi en textes et avec des exercices, éventuellement je vais ouvrir un canal ZOOM pour discuter avec les futurs apprenants.
Je pense mettre un prix accessible juste pour couvrir les frais, car les plateformes ne sont pas gratuites, loin de là, pour moi, ce sera sans notion d'enrichissement.

Il y a une autre idée dans les tuyaux, mais je ne peux pas encore en parler, mais elle va dans le même sens.

Amicalement

 

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é