attributs des blocs

Bonjour,
J’ai un plan qui contient des blocs avec des attributs numérique,
Je veux accéder au les attributs des blocs et l’afficher la somme dans un message avec auto Lisp.
Merci d’avance.

Portrait de Maxence Delannoy

Voici un exemple de code qui

Voici un exemple de code qui additionne les attributs avec l'étiquette B d'un bloc nommé A :

;; Affiche la somme des attributs B des insertions du bloc A
(defun attsum (/ sset sum i l name entDef)
  (setq
    sset (ssget "X" '((2 . "A")))	; Sélectionne toutes les insertions du bloc A
    sum	 0
  )
  (if sset
    (progn
      (setq
	i 0
	l (sslength sset)
      )
      (while (< i l)
	(setq name (ssname sset i)
	      loop T
	)
	;; Boucle sur les attributs
	(while loop
	  (setq	name   (entnext name)
		entDef (entget name)
	  )
	  (if (and (= (cdr (assoc 0 entDef)) "ATTRIB")
		   (= (cdr (assoc 2 entDef)) "B")
	      )
	    ;; On a trouvé l'attribut B
	    (setq sum  (+ sum (atof (cdr (assoc 1 entDef))))
		  loop nil
	    )
	  )
	  (if (= (cdr (assoc 0 entDef)) "SEQEND")
	    (setq loop nil)
	  )				; Fin de séquence, on termine la boucle
	)
	;; Passe à l'insertion de bloc suivante
	(setq i (1+ i))
      )
      (alert (strcat "Somme : " (rtos sum)))
    )
    (alert "Pas d'insertion du bloc A dans le dessin.")
  )
  (princ)
)
Portrait de red1

Merci C’est exactement ce que

Merci
C’est exactement ce que je veux
Merci pour ton aide

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement. If you have a Gravatar account, used to display your avatar.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].

Plus d'informations sur les options de formatage

CAPTCHA
La vérification ne tient pas compte des minuscules ou des majuscules.
Image CAPTCHA
Enter the characters shown in the image.