TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => Topic started by: Ron Heigh on July 06, 2004, 10:24:12 AM

Title: Duplicate Reactors....Arghhhh!!!
Post by: Ron Heigh on July 06, 2004, 10:24:12 AM
Is there a function to ensure that a reactor isn't duplicated for a entity?
Title: Re: Duplicate Reactors....Arghhhh!!!
Post by: SpeedCAD on July 06, 2004, 11:37:13 AM
Quote from: Ron Heigh
Is there a function to ensure that a reactor isn't duplicated for a entity?


Hi...

Prove this:
Code: [Select]
(defun scad-vlr-tiene-reactor (vla-objeto / reactores)
  (if (/= (type vla-objeto) 'vla-object)
    (setq vla-objeto (vlax-ename->vla-object vla-objeto))
  )
  (if (setq reactores
    (mapcar 'cadr (vlr-reactors :vlr-object-reactor))
      )
    (apply 'or
  (mapcar '(lambda (x)
     (if (member vla-objeto (vlr-owners x))
t
     )
   ) ;_lambda
  reactores
  ) ;_mapcar
    ) ;_apply
  ) ;_if
) ;_defun


Use:
Code: [Select]
(scad-vlr-tiene-reactor objeto)
objeto can it a ename or vla-object, example:
Use:
Code: [Select]
(scad-vlr-tiene-reactor (car (entsel)))
or:
Code: [Select]
(scad-vlr-tiene-reactor (vlax-ename->vla-object (car (entsel))))

return T or nil
Title: Duplicate Reactors....Arghhhh!!!
Post by: Ron Heigh on July 09, 2004, 05:44:56 PM
I tried what you posted, but couldn't get it to work.
I'm getting my reactors firing multiple times on the same object.
Some are duplicate persistant reactors as well.