eryk Posté(e) le 1 décembre 2014 Posté(e) le 1 décembre 2014 Bonjour, J'ai un bloc dynamique qui contient des blocs des fauteuils de salles de tailles différentes (19'', 20'', 21'') que je cherche à comptabiliser. J'ai fait quelques recherches, essayé la commande _EATTEXT mais pas de résultat probant. Un ancien post parlé d'un fichier Lisp, fourni par _Gile mais le lien ne fonctionne plus. Quelqu'un aurait une autre solution? Merci, bonne fin de journée !!
Steven Posté(e) le 1 décembre 2014 Posté(e) le 1 décembre 2014 Bonsoir Eryk, Le lisp que tu cherches est peut-être celui-ci.Toutefois, sans avoir besoin de lisp, pour comptabiliser tes bloc imbriqués dans tes blocs dynamiques, tu peux très bien faire une extraction en faisant une table. Commande: TableauouCommande: _table Bonne soirée. Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
lecrabe Posté(e) le 1 décembre 2014 Posté(e) le 1 décembre 2014 Hello Non je pense que le Lisp/VLisp recherche est l'excellent BCNT de Gilles (comme d'habitude) La bonne version de BCNT compte simplement dans l'ecran texte les blocs (classiques+dynamiques) Merci Gilles ! Bye, lecrabe Autodesk Expert Elite Team
eryk Posté(e) le 2 décembre 2014 Auteur Posté(e) le 2 décembre 2014 Salut, Merci pour vos réponses mais en fait, j'ai trouvé ce dont j'avais besoin et bien sûr, fourni par _Gile. C'est le lisp SSD qui te permet de comptabiliser les blocs dynamiques par sélection suivant la propriété ''Visibilité''. Le lisp Bcount lui ne fonctionne pas avec les blocs dynamiques, il ne les reconnaît pas. Bonne soirée : )
lecrabe Posté(e) le 2 décembre 2014 Posté(e) le 2 décembre 2014 Hello Tu plaisantes mais je suis "presque" sur que le Lisp BCNT (de Gilles) - desole pas d'AutoCAD pour verifier - traite parfaitement les blocs dynamiques : Comptage simple dans l'ecran texte Par contre la routine BCOUNT des Express Tools ne les reconnait pas !! Bonne Nuit, Bye, lecrabe Autodesk Expert Elite Team
(gile) Posté(e) le 3 décembre 2014 Posté(e) le 3 décembre 2014 Salut, Sinon, il y a aussi BlockCountToolTip, un petit plug-in pour AutoCAD 2012 et plus qui affiche le nombre de références du bloc survolé par le curseur dans une info-bulle. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
doberman Posté(e) le 7 janvier 2015 Posté(e) le 7 janvier 2015 Bonjour a tous, J'utilise depuis bien longtps la commande Bcount, mais m'etant mis au bloc Dynamique, la commande BCNT de Gile est indispensable... Par contre peut on "l'améliorer" en prenant en compte les bloc imbriqué?Je m'explique, j'ai un bloc dynamique constitué de 3 bloc avec 1 Ventilo-Conv, 1 Grille Extraction et 1 Grille de Soufflage.Quand je lance BCNT, j'ai bien le nombre de Bloc Dyn mais pas mon nombre de Griles ..?? Ya t'il un moyen de palier a mon probleme ?
doberman Posté(e) le 14 janvier 2015 Posté(e) le 14 janvier 2015 Bonjour a tous, Je sais pas si ma question précedente est tres compréhensible au vue de vos nombreuses réponse (rires forts) ... J'ai une autre question qui se rapproche de ma précedente : Est til possible de Compter les blocs dynamiques selon leur parametres ?Je m'explique : J'ai un porte dynamique avec 3 Tailles possible. Serait-il possible de faire un comptage en differentient les tailles.Ex: Avoir 3 tailles 0.84 et 2 tailles 0.74 plutot que d'avoir 5 portes étirables ?
bryce Posté(e) le 15 janvier 2015 Posté(e) le 15 janvier 2015 Bonjour, Tu peux essayer avec l'extraction de données, même si c'est un peu plus fastidieux. Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
doberman Posté(e) le 27 janvier 2015 Posté(e) le 27 janvier 2015 Hello, Oui c'est en effet fastidieux !
Patrick_35 Posté(e) le 27 janvier 2015 Posté(e) le 27 janvier 2015 Salut Je pense que l'on va boire un coup à ma santé ;) (defun c:cnd(/ js lst n tbl) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (and (ssget (list (cons 0 "insert"))) (progn (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (and (eq (vla-get-isdynamicblock ent) :vlax-true) (setq tbl (cons (cons (vla-get-effectivename ent) (vlax-get (car (vlax-invoke ent 'getdynamicblockproperties)) 'value) ) tbl ) ) ) ) (vla-delete sel) (while tbl (setq n (length tbl) js (car tbl) tbl (vl-remove js tbl) lst (cons (cons (- n (length tbl)) js) lst) ) ) (mapcar '(lambda(x) (princ "\n") (repeat (- 4 (strlen (itoa (car x)))) (princ " ") ) (princ (car x)) (princ (strcat " " (cadr x) "..." )) (princ (cddr x)) ) (vl-sort lst '(lambda(a B)(if (eq (cadr a) (cadr B)) (< (cddr a) (cddr B)) (< (cadr a) (cadr B)) ) ) ) ) ) ) (vla-endundomark doc) (princ) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
doberman Posté(e) le 27 janvier 2015 Posté(e) le 27 janvier 2015 Heuuuu Merci, mais je sais pas quoi en faire .....Je l'ai coller dans un Bloc note, renommer en LSP, mais des que je veut le passer sous autocad il me dit : Erreur : Placement incorect d'un point d'entrée
Patrick_35 Posté(e) le 27 janvier 2015 Posté(e) le 27 janvier 2015 Heuuuu Merci, mais je sais pas quoi en faire .....Je l'ai coller dans un Bloc note, renommer en LSP, mais des que je veut le passer sous autocad il me dit : Erreur : Placement incorect d'un point d'entréeTu as surement fait un mauvais copier/coller.Refais le directement sur autocad pour voir @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lecrabe Posté(e) le 27 janvier 2015 Posté(e) le 27 janvier 2015 Hello Mr P35 MERCI et RESPECT pour cet excellente routine qui comptabilise les Blocs dynamiques dans l'ecran texte en fonction d'UN etat de visibilite ! Au fait que se passe t-il si on a N etats de visibilite sur UN bloc ?CND traite seulement le 1er etat ou TOUS les etats ?? MERCI, Meilleurs Voeux et surtout LA SANTE, Bye, lecrabe Autodesk Expert Elite Team
Patrick_35 Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 Salut et tous mes voeux de bonheur et de santé pour cette nouvelle année. J'avais fait au plus simple mais comme tu le demandes(defun c:cnd(/ js lst n tbl) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (and (ssget (list (cons 0 "insert"))) (progn (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (and (eq (vla-get-isdynamicblock ent) :vlax-true) (setq tbl (cons (cons (vla-get-effectivename ent) (mapcar '(lambda(x)(list (vlax-get x 'propertyname) (vlax-get x 'value))) (vl-remove-if '(lambda(x)(eq (vla-get-show x) :vlax-false)) (vlax-invoke ent 'getdynamicblockproperties) ) ) ) tbl ) ) ) ) (vla-delete sel) (while tbl (setq n (length tbl) js (car tbl) tbl (vl-remove js tbl) lst (cons (cons (- n (length tbl)) js) lst) ) ) (mapcar '(lambda(x) (princ "\n") (repeat (- 6 (strlen (itoa (car x)))) (princ " ") ) (princ (car x)) (princ (strcat " " (cadr x))) (mapcar '(lambda(x) (princ (strcat " ... \"" (car x) " : ")) (princ (cadr x)) (princ "\"") ) (cddr x) ) ) (vl-sort lst '(lambda(a B)(< (cadr a) (cadr B)))) ) ) ) (vla-endundomark doc) (princ) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
doberman Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 Merci, ca marche nikel... Dailleurs ya bcp trop d'information du coup (rires forts) !! A la tienne Patrick !!! Par contre, ca ne prend pas en compte les Bloc imbriqué apparement ?? J'utilise depuis bien longtps la commande Bcount, mais m'etant mis au bloc Dynamique, la commande BCNT de Gile est indispensable... Par contre peut on "l'améliorer" en prenant en compte les bloc imbriqué?Je m'explique, j'ai un bloc dynamique constitué de 3 bloc avec 1 Ventilo-Conv, 1 Grille Extraction et 1 Grille de Soufflage.Quand je lance BCNT, j'ai bien le nombre de Bloc Dyn mais pas mon nombre de Griles ..?? Ya t'il un moyen de palier a mon probleme ?0 + -
lecrabe Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 Hello C complique de traiter des Blocs imbriques !et en plus des Blocs imbriques dynamiques !! Je ne vois pas trop l'interet !? Un GRAND MERCI a Patrick_35, Bye, lecrabe Autodesk Expert Elite Team
Steven Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 L'avantage de l'extraction de données qui est peut-être fastidieuse, quoique... est qu'on peut se faire un tableau dans AutoCAD avec le quantitatif de blocs, blocs dynamiques et blocs imbriqués et que lorsqu'on copie ou supprime des blocs, un clic droite suffit à mettre la table à jour et les paramètres des blocs dynamiques sont pris en compte. Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Patrick_35 Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 Par contre, ca ne prend pas en compte les Bloc imbriqué apparement ??Je rejoins Lecrabe, d'autant qu'un bloc dynamique imbriqué dans un autre bloc n'est plus dynamique. L'avantage de l'extraction de données qui est peut-être fastidieuse, quoique... est qu'on peut se faire un tableau dans AutoCAD avec le quantitatif de blocs, blocs dynamiques et blocs imbriqués et que lorsqu'on copie ou supprime des blocs, un clic droite suffit à mettre la table à jour et les paramètres des blocs dynamiques sont pris en compte.Et avec des blocs imbriqués qui s'affiche ou pas selon les visibilités ? @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
doberman Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 J'ai du mal m'exprimer.... J'ai un Bloc Dynamique nommé "Gainable" dans lequel j'ai 5 bloc "Normaux" : - 1 Ventilo-convecteur- 2 Grilles d'extraction- 2 Grilles de soufflage C'est ca que je voulais compter.
Patrick_35 Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 C'est bien ce qu'il me semblait, il faut compter des blocs en fonction des états de visibilité.Le problème avec les blocs dynamiques, c'est que l'on peut faire plusieurs choses comme les paramètres d'étirement.Dans le cas présent, programmer un décompte avec les blocs imbriqués n'est pas simple et alourdi considérablement le temps de traitement. Le présent lisp indique et fait un trie sur les états de visibilités et comme tu sais à quoi ils correspondent, un petit tout sur Excel et le tour est joué. ps : le lisp actuel est passe-partout. On peut même faire des métrés comme pour les chemins de câbles (ou gaines) avec un paramètre de longueur et de largeur.pps : rien ne t'interdit de reprendre la suite @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Steven Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 Et avec des blocs imbriqués qui s'affiche ou pas selon les visibilités ?@+ Non, ça ne comptabilise pas les blocs qui ne sont pas visible? Si j'ai une table avec 6 chaises imbriquées et que je mets un état de visibilité de 2 chaises, le tableau ne comptabilisera que 2 chaises. Les 4 chaises restantes qui ne sont pas visibles ne sont pas comptabilisées.si je mets l'état de visibilité de 6 chaises, le tableau comptabilisera les 6 chaises. Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
doberman Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 Ok, et encore merci a tous... PS: j'ai poster une question là : Mon lien Si le coeur vous en dit .. ;)
Steven Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 J'ai du mal m'exprimer.... J'ai un Bloc Dynamique nommé "Gainable" dans lequel j'ai 5 bloc "Normaux" : - 1 Ventilo-convecteur- 2 Grilles d'extraction- 2 Grilles de soufflage C'est ca que je voulais compter. Ton bloc "Gainable" doit donc avoir 3 états de visibilités, je suppose.1 état 1 ventilo-convecteur1 état 2 grilles d'extaction1 état 2 grilles de soufflage Suivant l'état de visibilité du bloc, l'extraction de données comptabilisera les bloc imbriqués qui sont visibles.Par exemple, dans un dessin vierge, tu insères le bloc "Gainable". Tu mets l'é"tat de visibilité 2 grilles d'extraction, dans ton tableau tu pourras avoir:1 Gainable2 grilles d'extractions.Si tu copies le bloc "Gainable" avec le même état de visibilité, en mettant la table à jour, tu auras2 Gainable4 grilles d'extractions.Si tu copies le bloc "Gainable" une troisième fois et que tu mets, à cette troisième copie, l'état de visibilité 2 grilles de soufflage, tu auras3 Gainable4 grilles d'extraction2 grilles de soufflageEt ainsi de suite.Toutefois, tu n'es pas obligé d'indiquer dans ton tableau le nombre de bloc "Gainable". Tu peux juste avoir le nombre de grilles ou de ventilo-convecteurs visibles. Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
doberman Posté(e) le 28 janvier 2015 Posté(e) le 28 janvier 2015 Merci Steven, c'est ce que je cherchai.. Je vais donc voir commment fonctionne cet "Extraction de données"
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