Bom dia Sábios Colegas,
 
 
Tenho uma dúvida, referente a manipulação de blocos dinâmicos.
A partir da versão 2010 do Autocad, foi possível acrescentar uma nova funcionalidade aos blocos dinâmicos, chamada "TABLE".

Acredito que a maioria dos colegas conhecem esta função mas vou expor-la:


O Comando novo é de Block Table, com ele é possível agrupar variações de parametro de uma forma muito parecida ao antigo comando. Lookup , combinado com a ação de mesmo nome.
A vantagem é que agora eu posso fazer vária perguntar ao bloco, para definir a configuração.


Bom a minha duvida é a seguinte, se clicarmos na opção "Properties Table" , aparece uma tabela com todos os dados de configuração do bloco.

Cada linha das opçoes é chamada Block Table1, onde o primeiro item, seria o Block Table1: 0 o segundo seria o Block Table1: 1 e assim por diante.
se utilizarmos o comando "LIST" para vermos as propriedade do bloco "mandei um exemplo em anexo", veremos as seguintes informações.

Select objects: Specify opposite corner: 1 found
Select objects:
BLOCK REFERENCE Layer: "0"

Space: Model space
Handle = 112e7
Block Name: "ESC-MARINHEIRO"
Anonymous Name: "*U14"
at point, X= -147.38 Y= 40.45 Z= 0.00
X scale factor: 1.00
Y scale factor: 1.00
rotation angle: 0
Z scale factor: 1.00
InsUnits: Millimeters
Unit conversion: 1.00
Scale uniformly: No
Allow exploding: Yes
ESCM-A: 1900.00
ESCM-M: 600.00
Block Table1: 0

ALTURA: 800 mm
ESCM-A2: 1900.00
ESCM-E: 0.00
ESCM-MOVE-S: 0.00
ESCM-MOVE-L: 0.00
Visibility1: FRONTAL
ESCM-GUARD: 500.00
ESCM-GUARD2: 500.00
VISTA: FRONTAL
BlockName: ESC-MARINHEIRO

A informação que me chama a atenção e a "Block Table1".
1- há como atravé do lisp, eu ler esta informação?

2- alterando esta informação, acredito que tmb alterarei a configuração de meu bloco, há como eu alterar esta informação por lisp???
ou será que é outro jeito que alterarei o bloco dinâmico?

fiz um teste, mas acho que fui muito simplista...


segue código

(defun c:lebloco ()

(setq ent (entsel "\nselecine: "))
(setq ent_nome (car ent))
(setq ent_lista (entget ent_nome))
(setq ent_list2 (entget (cdr (assoc 360 ent_lista))))

);defun



o resultado que tive foi o seguinte


((-1 . <Entity name: 7ffff972770>) (0 . "INSERT") (5 . "112E7") (102 . "{ACAD_XDICTIONARY") (360 . <Entity name: 7ffff972800>) (102 . "}") (330 . <Entity name: 7ffff9659f0>) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbBlockReference") (2 . "*U14") (10 -147.383 40.4462 0.0) (41 . 1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0))


((-1 . <Entity name: 7ffff972800>) (0 . "DICTIONARY") (330 . <Entity name: 7ffff972770>) (5 . "112E8") (100 . "AcDbDictionary") (280 . 1) (281 . 1) (3 . "AcDbBlockRepresentation") (360 . <Entity name: 7ffff972810>))

não concegui nem ler o parâmetro que o comando list me passa que é o "Block Table1".

alguem pode me ajudar???