Aller au contenu

appliquer un lisp a une selection


-DD-

Messages recommandés

Bonjour,

 

 

J'ai créé un lisp (tant bien que mal) qui rempli un attribut en fonction d'une propriété d'un bloc.

 

On lance le lisp, on selectionne le bloc et le lisp applique les modifs.

 

J'aimerais savoir comment faire pour l'appliquer sur tous les blocs du même nom dans le dessin.

 

je vais voir pour integrer le lisp de Gile : special_selection (de son site gilecad merci encore a lui)

 

Mais apres comment je gere le jeu de selection dans mon lisp ?

 

 

je vous met le lisp ci dessous, ne criez pas si c'est codé comme un cochon je fais ça sans formation

 

 

(vl-load-com)

(defun c:DN ()

 (setq ent_bloc nil)


 ;selection objet
  	(setq VAR (vlax-ename->vla-object (car(entsel "\nSélectionnez le bloc: ")))
	)



 		; on recupere l'échelle en X
	(setq scale (vla-get-XeffectiveScaleFactor VAR))

 			; on passe la longueur du bloc à 1.0

 			(vla-put-XeffectiveScaleFactor VAR 1)

 (print scale)
 		;on recupere la visibilité



 ;recuperation de la visibilité
 ;source :
 ;http://cadxp.com/index.php?/topic/14447-propiete-des-blocs-dynamiques/
 ;
 
 (setq dbp (vla-getdynamicblockproperties VAR))


(setq dbp (vlax-variant-value dbp))

(setq dbp (vlax-safearray->list dbp))


(setq bp (car dbp))

(vlax-dump-object bp)


 (setq ListeAdmis (vla-get-Value bp))

  (print listeadmis )



(setq ListeAdmis1 (vlax-variant-value ListeAdmis))

 (print listeadmis1 )



 ;; fin de lisp depuis internet


	;on transforme en objet entname
	(setq tube (vlax-vla-object->ename VAR))
 	;on rempli le champs
(setpropertyvalue tube "DIAMETRE" listeadmis1)



;on repasse la longueur à la taille initiale
 (vla-put-XeffectiveScaleFactor VAR scale)




 ) ;fin defun



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é