Aller au contenu

Messages recommandés

Posté(e)

Bonjour ,

 

J'ai un petit problème avec l'utilisation des réacteurs d'objet.

J'ai lié deux objets avec un réacteur d'objet (VLR-Object-Reactor et l'événement :vlr-modified)

J'aimerai savoir si à partir d'un objet , il est possible de savoir si un réacteur d'objet est attaché et si il est possible de récupérer les données du réacteur : en gros je voudrai savoir si tel ou tel objet est déjà lié à un autre par un réacteur.

 

 

Merci

Posté(e)

Cette fonction est intéressante mais elle ne résout pas mon problème.

En fait j'aimerai savoir si un objet a un réacteur qui lui fait référence.

J'ai crée des objets lies par des réacteurs mais lors d'une copie de ces objets (avec la fonction copier d'autocad) les nouveaux objets crées n'ont pas de réacteurs.

J'aimerai pouvoir créer les réacteurs manquants pour ces nouveaux objets.

Pour cela j'ai besoin de savoir si tel ou tel objet a déjà le récteur et je cherche à créer une fonction qui aurait pour argument un objet (VLA ou entity) et qui me retournerait soit un réacteur (avec lequel je pourrai utiliser la fonction vla-owner) soit nil si cet objet n'a pas de réacteur.

Posté(e)

Pas testé mais ça devrait faire l'affaire :

 

(defun HasObjectReactor	(vlObj / result)
 (foreach rea (vlr-reactors :VLR-Object-Reactor)
   (if	(vl-position vlObj (vlr-owners rea))
     (setq result (cons rea result))
   )
 )
 result
)

 

ou, plus simple si ton réacteur est affecté à une variable globale (exemple : *monReacteur*) :

 

(defun HasThisReactor (vlObj rea)
 (vl-consp (member vlObj (vlr-owners rea)))
)

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

Posté(e)

Merci beaucoup pour ta réponse rapide Gile ;-)

 

Je ne connaissait pas cette méthode pour lister tous les réacteurs présent dans le dessin

(vlr-reactors :VLR-Object-Reactor)

 

J'ai ainsi accès à tous les réacteurs du dessin et je pourrai facilement savoir si tel ou tel objet est présent dans les données des réacteurs.

 

Je ne connais pas cette notion de « réacteur affecté à une variable globale » mais je vais étudier ça.

Posté(e)
Je ne connais pas cette notion de « réacteur affecté à une variable globale » mais je vais étudier ça.

 

Quand tu déclares ton réacteur, tu peux l'affecter à une variable pour y avoir plus facilement accès par la suite.

 

(setq *monReacteur* (vlr-object-reactor ...))

...

(vlr-owners *monReacteur*)

...

(vlr-remove *monReacteur*)

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

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é