Usando vla-GetDynamicBlockProperties

Outro dia um camarada me perguntou como alterar o valor de um atributo dinâmico em um bloco. Bom escrevi um pequeno programa para exemplificar, segue:

;subrotina que retorna a lista de atributos dinamicos de um bloco
;vlabloc é o ponteiro VLA para o bloco
(defun get-dynamic-attributes (vlabloc)
  ;(vl-load-com)
  

  (mapcar '(lambda (p) (cons (vla-get-PropertyName p) p))
                (
vlax-safearray->list
                  (vlax-variant-value
                (vla-GetDynamicBlockProperties vlabloc)))))


;exemplo de uso:
;|
carrega as funções vl
(vl-load-com)


;selecione um bloco dinamico na tela
(setq bloco (vlax-ename->vla-object (car (entsel "\nSelecione o bloco"))))

;pega a lista de atributos:
(setq atts (get-dynamic-attributes bloco))

;da lista, pegue o atributo COMPRIMENTO:
(setq attComprimento (cdr (assoc "COMPRIMENTO"  atts)))

;alerta sobre o valor atual
(alert (strcat "O valor atual é: " (rtos (vlax-variant-value (vla-get-value attComprimento)) 2 3)))

;redefine o valor para outro valor qualquer
(vla-put-value attComprimento 2.0)

;alerta para o novo valor:
(alert (strcat "O valor atual é: " (rtos (vlax-variant-value (vla-get-value attComprimento)) 2 3)))

|;


É simples, né? O exemplo te ensina a listar os atributos, que você poderá pegar e alterar.

TBN2NET em promoção!!!

Bom dia,

Hoje inicia mais uma promoção no site TBN2NET!!!

Isso mesmo, a promoção que você estava esperando começou!!!

O site TBN2NET mudou de endereço e para comemorar, todos os plugins com desconto!!!

E não é black fraude não, é 50% de desconto em todos os plugins, até o dia 28 de julho de 2017!!!

São diversos plugins para engenharia que com certeza irão ajudar muito nos seus projetos, por exemplo:
C3DRENESG4, para dimensionamento de redes de drenagem e esgoto urbanos no Autodesk Civil 3D
TBN2C3D, coleção de plugins para o Civil 3D (notas de serviço, perfis, quantitativos...)
TBN2CAD, coleção de plugins para AutoCAD (inclui o EXPGE, READKML, IMPORTGMMAP e muito mais!!!)
C3DMEMO, para criar memoriais descritivos e tabelas de loteamentos (o melhor plugin deste segmento, sem dúvida!!!), roda no AutoCAD e no Civil 3D
DDM, para cálculo e distribuição de volumes de terraplenagem em rodovias e ferrovias (o melhor plugin deste segmento, sem dúvida!!!)

Gostaria de testar os plugins antes? Sim, você pode, sem custo algum!!!

Suporte? Claro, tem vários vídeos no YouTube, todos os pluguins tem ajuda com tutoriais em português e você pode tirar suas dúvias pelo WhatsApp/Telegram/Skype/Email

Como consigo o desconto? Simples, é só entrar em contato (whatsapp 98 99995 3538) e dizer: EU QUERO MEU DESCONTO!!!

Detalhe: promoção válida para os plugins individuais! os pacotes TBN2CAD e TBN2C3D sempre tem desconto, inclusive maior que este da promoção!!!