ename-of

Nas subrotinas as vezes nos referenciamos as entidades pelo ename, pelo vla-object ou pela handle da mesma... mas temos de ficar testando pra saber qual referência temos... então pra simplificar:
(defun ename-of (ent)
  (
if (setq ent
        (cond
          ((= 'STR (type ent)) (handent ent))
          ((
= 'VLA-OBJECT (type ent))
           (
vlax-vla-object->ename ent))
          ((
listp ent) (cdr (assoc -1 ent)))
          (
t ent)))
    (
if (entget ent)  ent)))

esta rotina tenta converter o argumento passado em um ENAME, se conseguir, tenta recuperar sua ELIST, se conseguir, a referência é válida e a entidade existe, caso contrário, retorna NIL

Nenhum comentário:

Postar um comentário