Programas

Programas, subrotinas

get-list-attrib

Esta rotina devolve uma lista contendo o nome e o VLA-OBJECT dos atributos de um bloco (defun get-list-attrib (ent) (if (setq ent (ename-of ent)) (mapcar ‘(lambda (x) (list (vla-get-tagstring x) x)) (vlax-safearray->list (vlax-variant-value (vla-GetAttributes (vlax-ename->vla-object ent))))))) ela devolve uma lista de pares (“tagstring” vla-object) do bloco (ent -> ename)

Programas, subrotinas

get-tableof

Em alguns programas, preciso da lista de layers por exemplo, ou dos blocos, linetypes, etc… esta rotina faz isso: (defun get-tableof (str / tmp lst) (vlax-for tmp (vlax-get (vla-get-activedocument (vlax-get-acad-object)) str) (setq lst (append lst (list (vla-get-name tmp))))) lst) para usar: (get-tableof “layers”) retornará a lista de layers do desenho

Programas, subrotinas

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: |–lsp–| (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

Rolar para cima