aliali Posté(e) le 11 juin 2008 Posté(e) le 11 juin 2008 bonjour je ss entrain de fair un métré electrique et cmme les élément sont en forme de block(interrupteur...) j'utilise la commande suivante pour avoir le nombre de répitition de chaque block. (sslength (ssget '((2 . "XY")))), XY etant le nom de block pb= j ai bp de blocks ainsi je dois refair cette opération a chaque foisj aimerai bien ci quelqu'1 pourrai me filer un lisp pour avoir les quantité de tous les block merci à tous et toutes
(gile) Posté(e) le 11 juin 2008 Posté(e) le 11 juin 2008 Salut, Regarde ce message et les suivants Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 11 juin 2008 Posté(e) le 11 juin 2008 Hello Si tu as les routines Bonus/Express installées sur ton AutoCAD, tu peux aussi taper au clavier BCOUNT Le Decapode [Edité le 12/6/2008 par lecrabe] Autodesk Expert Elite Team
lecrabe Posté(e) le 11 juin 2008 Posté(e) le 11 juin 2008 Hello Gilles A propos de ta superbe routine TABLOBLO qui génère un tableau AutoCAD (version 2005 ou plus) avec le nom du bloc, le nombre d'occurences et le bloc lui-même en 3eme colonne Il est un peu dommage que le bloc remplisse à 100% la 3eme colonne Comment faire pour qu'il remplisse à 80-90% seulement la 3eme colonne ?Ce sera plus joli ... Je sais sélectionner l'intégralité des 2 premières colonnes pour augmenter la taille globale de tous les textes Mais comment faire la même chose pour la 3eme colonne ? Je suis peut etre un peu fatigué ! Le Decapode Autodesk Expert Elite Team
lecrabe Posté(e) le 11 juin 2008 Posté(e) le 11 juin 2008 ReHello Gilles 2eme amélioration proposée :- Générer une ligne de titre - Générer une ligne de titre de colonneet après seulement le tableau actuel ... Je sais que l'on peut ajouter après 2 rangées au dessus !mais bon ... Le Decapode (un peu exigeant) Autodesk Expert Elite Team
aliali Posté(e) le 12 juin 2008 Auteur Posté(e) le 12 juin 2008 meric a tous c genial la vie est une fete :)
(gile) Posté(e) le 15 juin 2008 Posté(e) le 15 juin 2008 Salut, Je tiens tout d'abord à rappeler que ce LISP est de Tramber, je n'avais fait que quelques améliorations. J'ai ajouté une rangée pour le titre et une pour les titres de colonnes, chacun peut modifier leurs contenus en modifiant le code (voir commentaire en regard des lignes concernées).J'ai aussi modifié les marges verticales pour réduire la taille de l'image du bloc sans perdre le bénéfice de l'AutoScale, chacun peut aussi modifier la taille des cellules et des marges (voir commentaire en regard des lignes concernées). ;; TABLOBLO (Tramber) ;; Crée un tableau qui liste les blocs insérés (sélectionnés ou toute la collection) (defun c:tabloblo (/ libloc liidbloc ss col liref ptins tableVL cont row) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (prompt "\nSélectionnez les blocs à lister ou ") (or (setq ss (ssget '((0 . "INSERT")))) (setq ss (ssget "_X" '((0 . "INSERT"))) col T ) ) (if ss (progn (vlax-for x (setq ss (vla-get-ActiveSelectionSet *acdoc*) ) (setq liref (cons (if (vlax-property-available-p x 'EffectiveName) (vla-get-EffectiveName x) (vla-get-Name x) ) liref ) ) ) (vla-delete ss) ) ) (if col (vlax-for i (vla-get-Blocks *acdoc*) (if (and (/= (substr (vla-get-name i) 1 1) "*") (= :vlax-false (vla-get-IsXref i)) ) (setq libloc (append libloc (list (vla-get-name i))) liidbloc (append liidbloc (list (vla-get-ObjectID i))) ) ) ) (setq libloc (remove_doubles liref) liidbloc (mapcar '(lambda (x) (vla-get-ObjectID (vla-item (vla-get-Blocks *acdoc*) x ) ) ) libloc ) ) ) (initget 1) (setq ptins (trans (getpoint "\nPoint d'insertion: ") 1 0)) (setq tableVL (vla-addtable (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)) ) (vlax-3d-point ptins) (+ 2 (length libloc)) 3 [surligneur]20[/surligneur] [surligneur]; Hauteur cellule[/surligneur] [surligneur]80[/surligneur] [surligneur]; Largeur cellule[/surligneur] ) ) (vla-put-VertCellMargin tableVL [surligneur]4.0[/surligneur]) [surligneur]; Marge verticale[/surligneur] (vla-put-TitleSuppressed tableVL :vlax-false) (vla-put-HeaderSuppressed tableVL :vlax-false) (vla-setText tableVL 0 0 [surligneur]"Blocs"[/surligneur]) [surligneur]; Titre[/surligneur] (vla-setText tableVL 1 0 [surligneur]"Nom"[/surligneur]) [surligneur]; Titre colonne 1[/surligneur] (vla-setText tableVL 1 1 [surligneur]"Nombre"[/surligneur]) [surligneur]; Titre colonne 2[/surligneur] (vla-setText tableVL 1 2 [surligneur]"Symbole"[/surligneur]) [surligneur]; Titre colonne 3[/surligneur] (setq cont -1 row 1 ) (repeat (- (vla-get-Rows tableVL) 2) (vla-settext tableVL (setq row (1+ row)) 0 (nth (setq cont (1+ cont)) libloc) ) (vla-settext tableVL row 1 (length (vl-remove-if-not '(lambda (n) (= n (nth cont libloc))) liref ) ) ) (vla-SetBlockTableRecordId tableVL row 2 (nth cont liidbloc) :vlax-true ) (vla-setcellalignment tableVL row 0 5) (vla-setcellalignment tableVL row 1 5) ) (princ) ) ;;; REMOVE_DOUBLES - Suprime tous les doublons d'une liste (defun REMOVE_DOUBLES (lst) (if lst (cons (car lst) (REMOVE_DOUBLES (vl-remove (car lst) lst))) ) ) [Edité le 15/6/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 15 juin 2008 Posté(e) le 15 juin 2008 Bonjour à toutes et tous, Marche Nickel ! Merci (gile), Si on veut changer le style de texte, peut-on l'imposer dans le Lisp ? Merci d'avance. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 15 juin 2008 Posté(e) le 15 juin 2008 En l'état, le LISP fonctionne avec le style de tableau courant.Tu peux donc définir un style de tableau avec le style de texte désiré et le rendre courant.Si tu veux forcer le style de texte dans ce tableau, tu peux ajouter la ligne suivante:(vla-setTextStyle tableVL row "Nom_Du_Style_De_Texte")après les lignes :(vla-setcellalignment tableVL row 0 5)(vla-setcellalignment tableVL row 1 5) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
aliali Posté(e) le 16 juin 2008 Auteur Posté(e) le 16 juin 2008 bonjour gile et mercig une question et si on veut exporter ce tableau en gardant les symbole des blocks pour qu'il soit lisible sous excel on fait comment?parecke la quand j exporte ça desparait je c ke c naturel mais y a t il une moyenmerci
lili2006 Posté(e) le 17 juin 2008 Posté(e) le 17 juin 2008 Bonjour à toutes et tous, Merci (gile), marche nickel,.. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lecrabe Posté(e) le 17 juin 2008 Posté(e) le 17 juin 2008 Hello J'ai testé la nouvelle routine TABLOBLO sur MAP 2005 & MAP 2008 ! Encore Merci :) Le Decapode Autodesk Expert Elite Team
javi5920 Posté(e) le 4 janvier 2009 Posté(e) le 4 janvier 2009 :o :o :o Meilleurs voeux à tous. Croyez vous qu'il serait possible d'adapter tabloblo à un script, pour l'utiliser avec la version LT javi5920 :casstet:
javi5920 Posté(e) le 4 janvier 2009 Posté(e) le 4 janvier 2009 :o :o :o Meilleurs voeux à tous. Croyez vous qu'il serait possible d'adapter tabloblo à un script, pour l'utiliser avec la version LT javi5920 :casstet:
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