Invité sm777 Posté(e) le 26 novembre 2010 Posté(e) le 26 novembre 2010 Bonjour a tous,J'utilise autocad 2010 et autocad LT 2008 sur un autre poste.Je recherche la lips count ou Bcount afin de pouvoir décompter les blocs du dessin de manière rapide.Âpres plusieurs recherche sur le net je ne trouve pas de lien pour la récupère Si quelqu'un a je suis preneur Merci par avance
Invité ingoenius Posté(e) le 26 novembre 2010 Posté(e) le 26 novembre 2010 ici le LISP ;Commande CB (defun C:CB ( / blocks ss) (princ "\nPress to select entire drawing or,") (cond ( (not (setq ss (cond ((ssget)) (t (ssget "x" '((0 . "INSERT"))))))) (princ "\nNo objects selected.")) (t (princ "\nCounting block insertions...") ( (lambda (i) (repeat i (count_block (ssname ss (setq i (1- i)))))) (sslength ss)) (cond ( (not blocks) (princ "\nNo block insertions found.")) (t (table-print blocks "Block" "Count" "-" 8 "." nil 'itoa))))) (princ) ) (defun table-print (alist title1 title2 headsub coltab padchr car-form cdr-form / maxlen maxline padstr ) (setq car-form (cond (car-form) (t '(lambda (x) x))) cdr-form (cond (cdr-form) (t '(lambda (x) x)))) (setq maxlen (mapcar '(lambda (pair) (cons (strlen (car pair)) (strlen (cdr pair)))) (setq alist (mapcar '(lambda (pair) (cons (apply car-form (list (car pair))) (apply cdr-form (list (cdr pair))))) alist )))) (setq maxlen (+ -2 (apply 'max (mapcar 'car maxlen)) (apply 'max (mapcar 'cdr maxlen))) maxline (+ maxlen coltab) padstr (repl padchr 70)) (cprinc-init) (cprinc (strcat title1 " " (ctab (cons title1 title2) maxline (repl " " 70)) " " title2)) (cprinc (repl headsub (+ maxline 2))) (mapcar '(lambda (pair) (cprinc (strcat (car pair) " " (ctab pair maxline padstr) " " (cdr pair)))) alist ) ) (defun repl (chr len / res) (apply 'strcat (repeat len (setq res (cons chr res)))) ) (defun ctab (pair max padstr) (substr padstr 1 (- max (strlen (car pair) (cdr pair)))) ) (defun cdr++ (key alist) ( (lambda (x) (cond (x (subst (cons (car x) (1+ (cdr x))) x alist)) (t (cons (cons key 1) alist)))) (assoc key alist)) ) (defun get (k l) (cdr (assoc k l))) (defun entgetf (k e) ( (lambda (l) (mapcar '(lambda (x) (cdr (assoc x l))) k)) (entget e)) ) (defun count_block (ename) (apply '(lambda (etype name) (cond ( (and (eq "INSERT" etype) (or (assoc name blocks) (zerop (logand 45 (get 70 (tblsearch "block" name))))) (setq blocks (cdr++ name blocks))))) nil) (entgetf '(0 2) ename)) ) (defun cprinc-init () (setq *console-lines* (cond (*console-lines*) (t 25)) *cprinc-msg* (cond (*cprinc-msg*) (t "--- Press any key ---")) *cprinc-rubout* (cond ( (or textpage *clear-screen*) "") (t (strcat "\r" (repl " " (strlen *cprinc-msg*)) "\r"))) *cprinc-line* -1) (cond (textpage (textpage)) (*clear-screen* (*clear-screen*)) (t (textscr) (terpri))) ) (defun cprinc-page () (princ *cprinc-msg*) (grread) (cond (textpage (textpage)) (*clear-screen* (*clear-screen*)) (t (textscr))) (princ *cprinc-rubout*) (setq *cprinc-line* 0) ) (defun cprinc (s) (cond ( *cpage-disable*) ( (not *cprinc-line*) (cprinc-init)) ( (eq (setq *cprinc-line* (1+ *cprinc-line*)) (1- *console-lines*)) (cprinc-page))) (write-line s) )
(gile) Posté(e) le 26 novembre 2010 Posté(e) le 26 novembre 2010 Salut, Petite précision BCOUNT est une commande des Express Tools (à installer sur une version pleine depuis le DVD d'installation si ce n'est déjà fait). Sinon, j'avais fait ici un LISP qui compte aussi les blocs dynamiques (BCOUNT est une vielle commande qui ne le fait pas). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Invité sm777 Posté(e) le 26 novembre 2010 Posté(e) le 26 novembre 2010 merci de cette réponse ca marche nickel sur autocad 2010. es-ce possible d'utiliser des lisp sur un AutoCAD LT 2008 ou 2007cordialement
lecrabe Posté(e) le 26 novembre 2010 Posté(e) le 26 novembre 2010 Hello Euh NON il n'y a pas de Lisp ou VLIsp ou ARX ou DOTNET sur AutoCAD LT :o Cependant il y a eu le fameux LT-Extender qui marchait sur des versions anciennes de LT ! SVP 2 questions pour les specialistes LT-Extender : - Jusqu'a quelles versions de AutoCAD LT ?- LT-Extender, supportait-il les fonctions VLisp ? Le Decapode Autodesk Expert Elite Team
(gile) Posté(e) le 26 novembre 2010 Posté(e) le 26 novembre 2010 Autodesk a gagné son procès contre LT Extender qui a donc été retiré de la vente. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Carboleum Posté(e) le 26 novembre 2010 Posté(e) le 26 novembre 2010 (sslength (ssget '((0 . "insert") (2 . "le-nom-de-mon-bloc-à-compter")))) à étoffer ;) Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog
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