CADxp: Création d'une légende d'un plan en Lisp... - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Création d'une légende d'un plan en Lisp...

#1 L'utilisateur est hors-ligne   JPhil 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 11-octobre 17

Posté 11 octobre 2017 - 16:39

Bonjour,

Je reprends un ancien Lisp (08/2010) en le mettant au goût du jour avec la fonction tableau.
Le but étant de faire apparaître la quantité, le nom du bloc, le symbole et la désignation.

Voici donc le Lisp de base :
(defun c:LGD ()
(progn

(setq len_l_attr 0)

(setq lgd "LEGENDE")
(setq lgdq (getstring "Corps d'état de la légende (si rien 'LEGENDE') ? : "))
     (if (/= lgdq "")
      (setq lgd (strcat "LEGENDE" (strcase lgdq)))
     )
(setq lgdt (strcat "_LGD" lgdq ".txt"))
(setq source (strcase (strcat (getvar "DWGPREFIX") (getvar "dwgname") lgdt)))

(setq pt_plan (getpoint "\nPosition écriture paramètres plans (Coin haut gauche): "))

(setq htxt 2)

(setq lg_pt1 (polar pt_plan (* 0.5 pi) (* 1.65 htxt)))
(setq lg_pt3 lg_pt1)

(command "_text" pt_plan htxt 0 "Qté")
(command "_text" (polar pt_plan 0 (* 3 htxt)) htxt  0 "Symbole")
(command "_text" (polar pt_plan 0 (* 10 htxt)) htxt 0 "Nom Bloc")
(command "_text" (polar pt_plan 0 (* 20 htxt)) htxt 0 "Type d'Appareil")
(setq pt_plan (polar pt_plan (* 1.5 pi) (* 3.3 htxt)))



(setq f (open (strcat source) "W"))
  (setq a (tblnext "block" t))
  (while a
  (progn
  (setq Bl_Data (cdr (assoc -2 a)))
   (while Bl_Data
    (if (= (cdr (assoc 0 (entget Bl_Data))) "ATTDEF")
(if (= lgd (cdr (assoc 2 (entget Bl_Data))))
(progn
(setq bb (cdr (assoc 2 a)))
(setq l_Attr (cdr (assoc 1 (entget Bl_Data))))
(setq sel (ssget "x" (list (cons 2 bb))))
(setq nb 0)
(setq nb (itoa (sslength sel)))
(setq cc (strcat "Quantité : " nb " / Nom du Bloc : " bb " / Type d'Appareil : " l_attr))
 (write-line cc f)

(totolgd)


(if (> (strlen l_attr) len_l_attr)
(setq len_l_attr (strlen l_attr))
)


)
)
 )
 (setq Bl_Data (entnext Bl_Data))
 ) ; fin de while
 ) ; fin de progn
(setq a (tblnext "block"))
 ) ; fin de while du début
(close f)

(setq lg_pt4 (polar lg_pt3 0 (+ (* (+ 3 len_l_attr) htxt) (* 10 htxt))))
(setq lg_pt3b (polar lg_pt3 pi (* 1.65 htxt)))
(setq lg_pt4b (polar lg_pt4 0 (* 1.65 htxt)))
(command "_line" lg_pt3b lg_pt4b "")
(command "_line" (polar lg_pt3b (* 1.5 pi) (* 3.0 htxt)) (polar lg_pt4b (* 1.5 pi) (* 3.0 htxt)) "")
(setq lg_pt1 (polar pt_plan (* 0.5 pi) (* 1.65 htxt)))
(setq lg_pt2 (polar lg_pt1 0 (+ (* (+ 3 len_l_attr) htxt) (* 10 htxt))))
(setq lg_pt1 (polar lg_pt1 pi (* 1.65 htxt)))
(setq lg_pt2 (polar lg_pt2 0 (* 1.65 htxt)))
(command "_line" lg_pt1 lg_pt2 "")
(command "_line" lg_pt1 lg_pt3b "")
(command "_line" lg_pt2 lg_pt4b "")


)
)



(defun totolgd ()

(command "_text" pt_plan htxt 0 nb)
;;; (command "-attdef" "" (strcat "NB" bb) bb nb pt_plan htxt 0)

(command "_text" (polar pt_plan 0 (* 10 htxt)) htxt 0 bb)
(command "_text" (polar pt_plan 0 (* 20 htxt)) htxt 0 l_attr)
(command "-inserer" bb (polar pt_plan 0 (* 6 htxt)) "5" "5" "0")
(setq pt_plan (polar pt_plan (* 1.5 pi) (* 2.9 htxt)))
)


Et le Lisp plus évolué que j'ai trouvé sur ce forum :
;; TABLDYNBLOC 
 
;; Crée un tableau qui liste les blocs sélectionnés 
 
 
(defun c:tabldynbloc (/ ss refs lst ele ins tbl row) 
 
  (vl-load-com) 
 
  (or *acad* (setq *acad* (vlax-get-acad-object))) 
 
  (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*))) 
 
  (or *blocks* (setq *blocks* (vla-get-Blocks *acdoc*))) 
 
  (prompt "\nSélectionnez les blocs à lister ou ") 
 
  (or (setq ss (ssget '((0 . "INSERT")))) 
 
      (setq ss (ssget "_X" '((0 . "INSERT")))) 
 
  ) 
 
  (if ss 
 
    (progn 
 
      (vlax-for x (setq ss (vla-get-ActiveSelectionSet *acdoc*)) 
 
        (or (vlax-property-available-p x 'Path) 
 
            (setq refs 
 
                (cons 
 
                        (list 
 
                        (cons 
 
                        (vla-get-EffectiveName x) 
 
                        (gc:GetVisibilityState x) 
 
                        ) 
 
                        (vla-get-Name x) 
 
                        ) 
 
                        refs 
 
                ) 
 
            ) 
 
        ) 
 
      ) 
 
      (vla-delete ss) 
 
    ) 
 
  ) 
 
  (foreach n refs 
 
    (setq lst (if (setq ele (assoc (car n) lst)) 
 
                (subst (list (car ele) (cadr ele) (1+ (caddr ele))) ele lst) 
 
                (cons (list (car n) (cadr n) 1) lst) 
 
              ) 
 
    ) 
 
  ) 
 
  (initget 1) 
 
  (setq ins (trans (getpoint "\nPoint d'insertion: ") 1 0)) 
 
  (setq tbl (vla-addtable 
 
              (vla-get-modelspace 
 
                (vla-get-activedocument (vlax-get-acad-object)) 
 
              ) 
 
              (vlax-3d-point ins) 
 
              (+ 2 (length lst)) 
 
              4 
 
              20                        ; Hauteur cellule 
 
              80                        ; Largeur cellule 
 
            ) 
 
  ) 
 
  (vla-put-VertCellMargin tbl 4.0)      ; Marge verticale 
 
  (vla-put-TitleSuppressed tbl :vlax-false) 
 
  (vla-put-HeaderSuppressed tbl :vlax-false) 
 
  (vla-setText tbl 0 0 "Légende")         ; Titre 
 
  (vla-setText tbl 1 0 "Nom")           ; Titre colonne 1 
 
  (vla-setText tbl 1 1 "Nombre")        ; Titre colonne 2 
 
  (vla-setText tbl 1 2 "Symbole")       ; Titre colonne 3 

  (vla-setText tbl 1 3 "Désignation")       ; Titre colonne 4 
 
  (setq row 2) 
 
  (foreach b lst 
 
    (vla-SetText 
 
      tbl 
 
      row 
 
      0 
 
      (if (cdar B) 
 
        (strcat (caar B) " (" (cdar B) ")") 
 
        (caar B) 
 
      ) 
 
    ) 
 
    (vla-SetText tbl row 1 (caddr B)) 
 
    (vla-SetBlockTableRecordId tbl row 2 (vla-get-ObjectId (vla-Item *blocks* (cadr B))) :vlax-true) 
 
    (vla-SetText tbl row 3 "LEGENDE")

    (vla-setcellalignment tbl row 0 5) 
 
    (vla-setcellalignment tbl row 1 5) 

    (vla-setcellalignment tbl row 3 4) 
 
    (setq row (1+ row)) 
 
  ) 
 
  (princ) 
 
) 
 
 
;; gc:GetVisibilityState 
 
;; Retourne l'état de visibilité d'un bloc dynamique ou nil 
 
 
(defun gc:GetVisibilityState (blk / state) 
 
  (if (= (vla-get-IsDynamicblock blk) :vlax-true) 
 
    (foreach p (vlax-invoke blk 'GetDynamicBlockProperties) 
 
      (if (= (type (car (vlax-get p 'AllowedValues))) 'STR) 
 
        (setq state (vlax-get p 'Value)) 
 
      ) 
 
    ) 
 
  ) 
 
  state 
 
)


Je coince dessus (vla-SetText tbl row 3 "LEGENDE").
Je n'arrive pas à reproduire ce que j'avais fait dans l'ancien Lisp.
L'idée étant d'y mettre le contenu (texte) de l'attribut "LEGENDE" des blocs.
Sachant que tous les blocs n'ont pas nécessairement cet attribut, je souhaiterai qu'un point "." s'affiche dans ce cas là.
Sinon, pour le reste j'en suis plutôt content car plus souple que ce que j'avais en tête à ce moment là.
Mais là je donne ma langue au chat :(
0

#2 L'utilisateur est hors-ligne   JPhil 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 11-octobre 17

Posté 06 février 2019 - 17:41

Après une pause, je réponds en partie à moi-même.

Le code :
;; TABLDYNBLOC 
;; Crée un tableau qui liste les blocs sélectionnés 
(defun c:tabldynbloc (/ ss refs lst ele ins tbl row) 
  (vl-load-com) 
  (or *acad* (setq *acad* (vlax-get-acad-object))) 
  (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*))) 
  (or *blocks* (setq *blocks* (vla-get-Blocks *acdoc*))) 
  (prompt "\nSélectionnez les blocs à lister ou ") 
  (or (setq ss (ssget '((0 . "INSERT")))) 
      (setq ss (ssget "_X" '((0 . "INSERT")))) 
  ) 
  (if ss 
    (progn 
      (vlax-for x (setq ss (vla-get-ActiveSelectionSet *acdoc*)) 
        (or (vlax-property-available-p x 'Path) 
            (setq refs 
                (cons 
                        (list 
                        (cons 
                        (vla-get-EffectiveName x) 
                        (gc:GetVisibilityState x) 
                        ) 
                        (vla-get-Name x) 
                        ) 
                        refs 
                ) 
            ) 
        ) 
      ) 
      (vla-delete ss) 
    ) 
  ) 
  (foreach n refs 
    (setq lst (if (setq ele (assoc (car n) lst)) 
                (subst (list (car ele) (cadr ele) (1+ (caddr ele))) ele lst) 
                (cons (list (car n) (cadr n) 1) lst) 
              ) 
    ) 
  ) 
  (initget 1) 
  (setq ins (trans (getpoint "\nPoint d'insertion: ") 1 0)) 
  (setq tbl (vla-addtable 
              (vla-get-modelspace 
                (vla-get-activedocument (vlax-get-acad-object)) 
              ) 
              (vlax-3d-point ins) 
              (+ 2 (length lst)) 
              4 
              20                        ; Hauteur cellule 
              80                        ; Largeur cellule 
            ) 
  ) 
  (vla-put-VertCellMargin tbl 4.0)      ; Marge verticale 
  (vla-put-TitleSuppressed tbl :vlax-false) 
  (vla-put-HeaderSuppressed tbl :vlax-false) 
  (vla-setText tbl 0 0 "Légende")         ; Titre 
  (vla-setText tbl 1 0 "Nom")           ; Titre colonne 1 
  (vla-setText tbl 1 1 "Nombre")        ; Titre colonne 2 
  (vla-setText tbl 1 2 "Symbole")       ; Titre colonne 3 
  (vla-setText tbl 1 3 "Désignation")       ; Titre colonne 4 
  (setq row 2) 
  (foreach b lst 


   (setq tag "XXXXX")
   (if (= (cdr (assoc 0 (entget (cdr (assoc -2 (entget (tblobjname "BLOCK" (caar B))))) '("*")))) "ATTDEF")
      (if (= (cdr (assoc 2 (entget (cdr (assoc -2 (entget (tblobjname "BLOCK" (caar B))))) '("*")))) "LEGENDE")
         (setq tag (cdr (assoc 1 (entget (cdr (assoc -2 (entget (tblobjname "BLOCK" (caar B))))) '("*")))))
      )
   )


    (vla-SetText 
      tbl 
      row 
      0 
      (if (cdar B) 
        (strcat (caar B) " (" (cdar B) ")") 
        (caar B) 
      ) 
    ) 
    (vla-SetText tbl row 1 (caddr B)) 
    (vla-SetBlockTableRecordId tbl row 2 (vla-get-ObjectId (vla-Item *blocks* (cadr B))) :vlax-true) 
    (vla-SetText tbl row 3 tag)
    (vla-setcellalignment tbl row 0 5) 
    (vla-setcellalignment tbl row 1 5) 
    (vla-setcellalignment tbl row 3 4) 
    (setq row (1+ row)) 
  ) 
  (princ) 
) 
;; gc:GetVisibilityState 
;; Retourne l'état de visibilité d'un bloc dynamique ou nil 
(defun gc:GetVisibilityState (blk / state) 
  (if (= (vla-get-IsDynamicblock blk) :vlax-true) 
    (foreach p (vlax-invoke blk 'GetDynamicBlockProperties) 
      (if (= (type (car (vlax-get p 'AllowedValues))) 'STR) 
        (setq state (vlax-get p 'Value)) 
      ) 
    ) 
  ) 
  state 
)


Le résultat est que pour certains blocs, le programme m'affiche bien la valeur de l'attribut "LEGENDE" et pour les autres "XXXXX".
"BLOCK" "L1-000" --- "XXXXX"
"BLOCK" "L1-MT12" --- "XXXXX"
"BLOCK" "L1-020G" --- "XXXXX"
"BLOCK" "L1-020D" --- "Extrémité aveugle coté droit Type L1-020D"
"BLOCK" "EBT-HP" --- "Haut Parleur montage en saillie"


Quand je tape ma commande pour en savoir plus voici le résultat :
Commande: (entget (cdr (assoc -2 (entget (tblobjname "BLOCK" "L1-000")))) '("*"))
((-1 . <Nom d'entité: 3f5e4420>) (0 . "LINE") (330 . <Nom d'entité: 3f5e4400>) (5 . "27A") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbLine") (10 -0.515811 0.19 0.0) (11 -0.600839 0.19 0.0) (210 0.0 0.0 1.0))

Commande: (entget (cdr (assoc -2 (entget (tblobjname "BLOCK" "L1-MT12")))) '("*"))
((-1 . <Nom d'entité: 3f5e4640>) (0 . "ARC") (330 . <Nom d'entité: 3f5e4610>) (5 . "29C") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbCircle") (10 0.3125 -0.04 0.0) (40 . 0.0193292) (210 0.0 0.0 1.0) (100 . "AcDbArc") (50 . 1.5708) (51 . 4.71239))

Commande: (entget (cdr (assoc -2 (entget (tblobjname "BLOCK" "L1-020G")))) '("*"))
((-1 . <Nom d'entité: 52849f70>) (0 . "LINE") (330 . <Nom d'entité: 52849f60>) (5 . "629CF") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbLine") (10 -0.0495 -0.25 0.0) (11 -0.0495 0.25 0.0) (210 0.0 0.0 1.0))

Commande: (entget (cdr (assoc -2 (entget (tblobjname "BLOCK" "L1-020D")))) '("*"))
((-1 . <Nom d'entité: 52bf0ea0>) (0 . "ATTDEF") (330 . <Nom d'entité: 52bf0e90>) (5 . "6285A") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbText") (10 -0.806469 -0.415743 0.0) (40 . 0.05) (1 . "Extrémité aveugle coté droit Type L1-020D") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "EE_SIMPLEX") (71 . 0) (72 . 1) (11 0.0375786 -0.415743 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttributeDefinition") (280 . 0) (3 . "LEGENDE") (2 . "LEGENDE") (70 . 9) (73 . 0) (74 . 0) (280 . 0))

Commande: (entget (cdr (assoc -2 (entget (tblobjname "BLOCK" "EBT-HP")))) '("*"))
((-1 . <Nom d'entité: 52846d70>) (0 . "ATTDEF") (330 . <Nom d'entité: 52846d60>) (5 . "62A27") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbText") (10 -0.615655 -0.171816 0.0) (40 . 0.05) (1 . "Haut Parleur montage en saillie") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "EE_SIMPLEX") (71 . 0) (72 . 1) (11 -0.00136891 -0.171816 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttributeDefinition") (280 . 0) (3 . "LEGENDE") (2 . "LEGENDE") (70 . 9) (73 . 0) (74 . 0) (280 . 0))


On voit que tous les blocs non pas la valeur "ATTDEF" alors qu'il y a bien un attribut "LEGENDE" dans chaque bloc avec sa valeur :
"BLOCK" "L1-000" --- "Luminaire type L1-000"
"BLOCK" "L1-MT12" --- "MODULE TECHNIQUE 6 DISJONCTEURS pour 12 appareils (9+3)"
"BLOCK" "L1-020G" --- "Extrémité aveugle coté gauche Type L1-020G"
"BLOCK" "L1-020D" --- "Extrémité aveugle coté droit Type L1-020D"
"BLOCK" "EBT-HP" --- "Haut Parleur montage en saillie"


Ce qui est étrange c'est qu'avec le lisp de 2010, avec plus ou moins la même commande j'arrive à avoir toutes les infos.

Une idée du pourquoi du comment ?
0

#3 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8712
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 06 février 2019 - 18:17

Hello

Super de partager ...

Neanmoins je te propose une excellente routine de notre Grand Maitre Francais GILLES !!

Cette routine "ListBlock" genere un magnifique tableau quantitatif des Blocs AutoCAD ...

Elle n'a qu'un seul defaut (A mon gout) :
1 - Elle ne traite pas les Blocs inclus dans les Reseaux associatifs 2012-201X !
2 - Elle ne traite pas les INSERM de Blocs
http://help.autodesk...0F-E788AB71F527
Mais tres tres peu de gens utilisent INSERM ...

Si jamais GILLES passe "nous voir" et peut l'ameliorer !?

Bye, lecrabe (LSP tiree de mon stock de 2000 routines)

 
;; 
;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/lisp-table/m-p/7822698#M365879
;; 
;; Routine: ListBlock par GC
;; 
;; Table des Blocs : Nom , Nombre , Graphisme du Bloc
;; 
;; 
;; Voir aussi ce sujet par GC :
;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/block-in-table/m-p/7827274#M366031
;; 
;; To be clearer, you can set the text height by row type:
;; Only data rows (bit 1)
;; (vla-SetTextHeight table 1 height)
;; Only title row (bit 2)
;; (vla-SetTextHeight table 2 height)
;; Only header row (bit 4)
;; (vla-SetTextHeight table 1 height)
;; You can also combinate this, e.g. for the entire table (+ 1 2 4):
;; (vla-SetTextHeight table 7 height)
;; 
 
;;;;; 
;;;;;  Hauteur des Textes dans la Table = 5.0 ;;;;; 
;;;;;  (vla-SetTextHeight table 7 5.0)
;;;;; 
 

(defun c:ListBlock (/ ss name block blocks insPt table row)
  (vl-load-com)
  (or *acdoc*
      (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))
  )
  (or *blocks*
      (setq *blocks* (vla-get-Blocks *acdoc*))
  )

  ;; Select blocks
  (prompt "\nSelect blocks to list or <All>")
  (or (setq ss (ssget '((0 . "INSERT"))))
      (setq ss (ssget "_X" '((0 . "INSERT")))
      )
  )
  (if ss
    (progn

      ;; Build a list of dotted pairs (blockName . numberOfReferences) from the selection set
      (vlax-for	x (setq ss (vla-get-ActiveSelectionSet *acdoc*))
	(if (not (vlax-property-available-p x 'Path))
	  (setq	name   (vla-get-EffectiveName x)
		blocks (if (setq block (assoc name blocks))
			 (subst (cons name (1+ (cdr block))) block blocks)
			 (cons (cons name 1) blocks)
		       )
	  )
	)
      )
      (vla-delete ss)

      ;; Prompt for insertion point
      (initget 1)
      (setq insPt (trans (getpoint "\nInsertion point: ") 1 0))

      ;; Create the table
      (setq table (vla-addtable
		    (vla-get-modelspace *acdoc*)
		    (vlax-3d-point insPt)
		    (+ 2 (length blocks)) ; number of rows (including title and header)
		    3			; number of colums
		    20			; cell height
		    80			; row width
		  )
      )
      (vla-put-VertCellMargin table 4.0)
      (vla-put-TitleSuppressed table :vlax-false)
      (vla-put-HeaderSuppressed table :vlax-false)

      ;; Fill the titel and the header
;     (vla-setText table 0 0 "Blocks")
;     (vla-setText table 1 0 "Name")
;     (vla-setText table 1 1 "Count")
;     (vla-setText table 1 2 "Symbol") 

      ;; Textes version Francaise
      (vla-setText table 0 0 "Quantitatif des Blocs")
      (vla-setText table 1 0 "Nom")
      (vla-setText table 1 1 "Nombre")
      (vla-setText table 1 2 "Symbole") 

;;;;; Hauteur des Textes dans la Table = 5.0 ;;;;; 
(vla-SetTextHeight table 7 5.0)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

      ;; fill the following rows from the list contents
      (setq row 2)
      (foreach item blocks
	(vla-settext table row 0 (car item)) ; block name
	(vla-settext table row 1 (cdr item)) ; references count
	(vla-SetBlockTableRecordId	; block symbol
	  table
	  row
	  2
	  (vla-get-ObjectId (vla-Item *blocks* (car item)))
	  :vlax-true
	)
	(setq row (1+ row))
      )
    )
  )
  (princ)
)

Autodesk Expert Elite Team
0

#4 L'utilisateur est hors-ligne   philsogood 

  • ceinture noire 4em dan
  • Groupe : Membres
  • Messages : 2455
  • Inscrit(e) : 03-mars 10

Posté 07 février 2019 - 09:59

hello,
@lecrabe : c'est quoi INSERM??
Phil
Projeteur Revit - traitement des eaux
0

#5 L'utilisateur est hors-ligne   JPhil 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 11-octobre 17

Posté 07 février 2019 - 10:52

Merci lecrabe.
Je teste à l'occasion.

Par contre une idée du pourquoi ces blocs là (dans cet exemple) ne contiennent pas "ATTDEF" alors qu'il y a réellement un attribut (voir plus) dedans ?
"BLOCK" "L1-000" --- "LINE"
"BLOCK" "L1-MT12" --- "ARC"
"BLOCK" "L1-020G" --- "LINE"


Y'a peut-être une erreur dans le code puisque ça fonctionne avec le lisp de 2010 :unsure:


Si j'arrive un jour à franchir cette étape (qui pourra être utile même à mes collègues ARCHI), je pourrai passer à l'étape n°2 :)
Faire des calculs de puissance en fonction de la zone, du couloir, du niveau, du type d'appareils, de la source (permanent/délestable) .... pour Caneco d'ALPI.
0

#6 L'utilisateur est hors-ligne   JPhil 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 11-octobre 17

Posté 14 février 2019 - 17:31

Je viens de trouver une solution pour les blocs qui passent avec le Lisp de 2010 et qui passent pas avec le Lisp de 2019 -> refaire le bloc :rolleyes:

Je suis partie d'un bloc avec l'attribut "LEGENDE" qui fonctionne, et j'ai refait le dessin, et là ça fonctionne sans problème :D
J'ai fait l'essai, juste avant, de copier l'attribut "LEGENDE" dans un bloc qui ne l'a pas, ben ça fonctionne pas <_<


Merci aux intervenants :)

Par contre pour des besoins plus pratique, je viens juste de renommer "TABLDYNBLOC" en "LGD".
J'aurais dû le faire plus tôt dans mes phases de test :P
0

#7 L'utilisateur est hors-ligne   JPhil 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 11-octobre 17

Posté 14 février 2019 - 17:42

Voir le messagelecrabe, le 06 février 2019 - 18:17 , dit :

Hello

Super de partager ...

Neanmoins je te propose une excellente routine de notre Grand Maitre Francais GILLES !!

Cette routine "ListBlock" genere un magnifique tableau quantitatif des Blocs AutoCAD ...

Elle n'a qu'un seul defaut (A mon gout) :
1 - Elle ne traite pas les Blocs inclus dans les Reseaux associatifs 2012-201X !
2 - Elle ne traite pas les INSERM de Blocs
http://help.autodesk...0F-E788AB71F527
Mais tres tres peu de gens utilisent INSERM ...

Si jamais GILLES passe "nous voir" et peut l'ameliorer !?

Bye, lecrabe (LSP tiree de mon stock de 2000 routines)

[...]
Testé à l'instant.
Ressemble très fortement (au niveau résultat) à "TABLDYNBLOC".
Concernant les défauts que tu évoques, difficile de répondre quand on n'y est pas confronter :unsure:
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)