Bred Posté(e) le 9 avril 2006 Posté(e) le 9 avril 2006 Bonjour à Tous,Je cherche à décompter le +simplement possible le nombre de quelque bloc dans un dessin, et mettre ce nombre dans une variable pour la traiter, en évitant de passer par la création d'un tableau dans un fichier séparé ...Exemple : J'ai inseré des blocs "chaises" et "fauteuil", je m'aperçois qu'il me faut des coussins, je veux donc décompté le nombre de chaise et de fauteuil dans un plan, et ces deux quantité je voudrais qu'ils soient enregistrer dans une variable de mon lisp afin de compter le nombre de coussin qu'il faut pour les inserer...Le tip-top (mais là j'ai un doute sur la possibilité) serait qu'à partir du moment où j'ai "dit" qu'il fallait des coussins, à chaque fois que je ré-insere une chaise, il me rajoute un coussin... ... merci Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 9 avril 2006 Posté(e) le 9 avril 2006 Salut, Si c'est pour intégrer dans une routine : (setq nbre (sslength (ssget "_X" (list '(0 . "INSERT") (cons 2 nom))))) Sinon un petit defun vite fait : (defun c:nb_bloc (/ nom obj nbre) (setq nom (getstring "\nEntrez le nom du bloc à dénombrer ou : " ) ) (if (= nom "") (progn (while (not (and (setq obj (entsel "\nSélectionnez le bloc à dénombrer: ")) (= (cdr (assoc 0 (entget (car obj)))) "INSERT") ) ) ) (setq nom (cdr (assoc 2 (entget (car obj))))) ) ) (setq nbre (sslength (ssget "_X" (list '(0 . "INSERT") (cons 2 nom)))) ) (princ (strcat "\n" (itoa nbre) " blocs \"" nom "\" ont été trouvés.") ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 9 avril 2006 Auteur Posté(e) le 9 avril 2006 Un grand merci pour cette réponse trés rapide, gile. Après un rapide coup d'oeuil, j'aurais juste besoin d'unpetit éclairsisment : dans la commande ssget "_X : je trouve une explication pour ssget "X" ("Crée un jeu de sélection avec tous les objets dans la base de données") ... mais je ne touve pas d'explication pour le mode "_X"... merci encore. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 9 avril 2006 Posté(e) le 9 avril 2006 Dans le cas présent il n'y a pas de différence, mais c'est une habitude que de mettre un underscore avant les commandes et options en anglais pour "internationaliser" le code (le sujet a souvent été abordé, la dernière fois à partir d'ici, je crois) Par ailleurs, certaines options de ssget ne fonctionnent qu'avec underscore (ssget ":S") pour ne sélectionner qu'un objet ne fonctionne pas mais (ssget "_:S") oui. Alors sans me poser la question, je le met systématiquement. [Edité le 9/4/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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