Vou postar as rotinas que estavam faltando na RTC3:
(defun put-xdata2 (ent hands app /)
(remake-ent ent -3 (list (cons app hands))))
(defun get-xdata2 (ent app /)
(setq app (strcase app))
(mapcar
‘cdr
(cdr (assoc app
(mapcar ‘(lambda (x)
(cons (strcase (car x)) (cdr x)))
(dxf -3 ent))))))
(defun del-xdata2 (ent app / old)
(setq old (dxf -3 ent)
app (strcase app))
(entmod
(subst
(cons -3
(mapcar ‘(lambda (x)
(if (equal app (strcase (car x)))
(list app)
x))
old))
(cons -3 old)
(entget (ename-of ent) ‘(“*”))))
ent)
Para usar:
(get-xdata2 ent “app”), recupera a xdata de uma entidade
onde:
ENT é a ename, HANDLE, VLA…
“app” é o nome da “aplicação”, ou nome da xdata
seu retorno será assim:
(valor1, valor2… valorn)
(put-xdata2 ent hands app), salva xdata numa entidade
onde hands é uma lista assim: (( dxf1 . valor1) … (dxfn . valorn ))
ent e app: o mesmo que para get-xdata2
(del-xdata2 ent app) apaga uma xdata de uma entidade,
ent e app: o mesmo que para get-xdata2