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