Aller au contenu

lisp qui extrait des données d\'un bloc et que l\'on peu réinjecter dans un autre bloc


lex

Messages recommandés

Bonjour y a-t-il un lisp qui permet d'extraire des données d'un bloc attribut et que l'on peut réinjecter aussitôt dans un autre block attribut possédant les mêmes invite et étiquette

sans devoir passer par un fichier txt comme dans l’express-tools attout et attin

 

merci.

Lien vers le commentaire
Partager sur d’autres sites

Salut, merci gile, j’ai fais le test ça ne convient pas

Cela fonctionne uniquement si le bloc attribut source et identique au bloc attribut cible dans le cas contraire les information réinjectées ne sont pas mises à la bonne place

 

En pratique les informations que j’extrais du bloc attribut source sont réinjecté a deux autres bloc attribut de nom et de forme différente leurs points commun étant leur ( étiquette, invite, layeurs )

 

 

Exemple :

 

1è symbole source sonde de température,

2ème symbole contact ouvert.

3ème symbole bornier avec câble et repaire câble.

 

Lien vers le commentaire
Partager sur d’autres sites

Je presque suis sûr que ça a déjà été fait plus d'une fois.

Comme j'ai plus vite fait de (ré)écrire un petit truc que de faire une recherche, voici :

 

(defun c:copyatt (/ source attlst ss attrib)
 (vl-load-com)
 (if (and (setq source (car (entsel "\nSélectionnez le bloc source: ")))
   (setq source (vlax-ename->vla-object source))
   (= (vla-get-ObjectName source) "AcDbBlockReference")
   (= (vla-get-HasAttributes source) :vlax-true)
     )
   (progn
     (foreach att (vlax-invoke source 'GetAttributes)
(setq attlst (cons (cons (vla-get-TagString att)
			 (vla-get-TextString att)
		   )
		   attlst
	     )
)
     )
     (if (ssget '((0 . "INSERT") (66 . 1)))
(progn
  (vlax-for blk	(setq ss (vla-get-ActiveSelectionSet
			   (vla-get-Activedocument
			     (vlax-get-acad-object)
			   )
			 )
		)
    (foreach att (vlax-invoke blk 'GetAttributes)
      (if (setq attrib (assoc (vla-get-TagString att) attlst))
	(vla-put-TextString att (cdr attrib))
      )
    )
  )
  (vla-Delete ss)
)
     )
   )
   (princ "\nEntité non valide")
 )
 (princ)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité