sofianerm Posté(e) le 12 janvier 2023 Partager Posté(e) le 12 janvier 2023 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 : bloc A : 42 bloc B : 23 Groupe 2 : bloc A : 22 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 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 12 janvier 2023 Partager Posté(e) le 12 janvier 2023 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é Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
sofianerm Posté(e) le 13 janvier 2023 Auteur Partager Posté(e) le 13 janvier 2023 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 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 13 janvier 2023 Partager Posté(e) le 13 janvier 2023 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é Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 13 janvier 2023 Partager Posté(e) le 13 janvier 2023 Ca ressemble à de l'IA via ChatGPT qui génère du Lisp ou autre langage via l'analyse des programmes. En général, ça fait n'importe quoi, et ensuite comme ça ne fonctionne pas, on retrouve les demandes sur les forums pour corriger le code. Olivier Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
sofianerm Posté(e) le 13 janvier 2023 Auteur Partager Posté(e) le 13 janvier 2023 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 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
sofianerm Posté(e) le 16 janvier 2023 Auteur Partager Posté(e) le 16 janvier 2023 Bonjour, quelqu'un pour m'aider à modifier cela ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 16 janvier 2023 Partager Posté(e) le 16 janvier 2023 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 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
sofianerm Posté(e) le 16 janvier 2023 Auteur Partager Posté(e) le 16 janvier 2023 J'ai un problème des le départ, en voulant utiliser la routine qui sélectionne tous les groupes. En chargeant dans mon Autocad le fichier, je n'ai rien. Je ne peux meme pas exécuter la routine. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 16 janvier 2023 Partager Posté(e) le 16 janvier 2023 Bonjour @sofianerm On a compris ce qu'il fallait faire, c'est une chose, Ce qu'on ne sait pas, c'est : 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 ? 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 Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
sofianerm Posté(e) le 16 janvier 2023 Auteur Partager Posté(e) le 16 janvier 2023 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. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 16 janvier 2023 Partager Posté(e) le 16 janvier 2023 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 1 Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
William44850 Posté(e) le 17 janvier 2023 Partager Posté(e) le 17 janvier 2023 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. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 17 janvier 2023 Partager Posté(e) le 17 janvier 2023 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 Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés