Results 1 to 2 of 2

Thread: Editando os atributos dos Blocos - VBA

  1. #1
    Member
    Join Date
    2007-04
    Location
    San Antonio - TX
    Posts
    7
    Login to Give a bone
    0

    Default Editando os atributos dos Blocos - VBA

    tenho um bloco chamado "FORMA3" que na realidade é um formato A3 onde através de caixas de texto do FORM quero inserir os dados no formato (número do desenho, data, etc). como posso fazer isto?
    segue o código onde eu insiro 2 instancias dos FORMA3 no desenho. o problema é: como posso acesar os atributos destes blocos para inserir neles os conteudos das caixas de textos? Cada bloco possui 7 atributos.

    obs: os blocos já fazem parte do template, por isto não é necessário inseri-los como desenho externo

    código:

    'definição da inserção dos Formatos
    Dim Form As AcadBlockReference
    Dim insertptForm(0 To 2) As Double
    'Define o ponto de inserção
    insertptForm(0) = 0
    insertptForm(1) = 0
    insertptForm(2) = 0
    'insere o primeiro formato
    Set Form = ThisDrawing.ModelSpace.InsertBlock(insertptForm, "Forma3", 1, 1, 1, 0)
    'insere o segundo formato
    insertptForm(0) = 400
    insertptForm(1) = 0
    insertptForm(2) = 0
    Set Form = ThisDrawing.ModelSpace.InsertBlock(insertptForm, "Forma3", 1, 1, 1, 0)


    obrigado

  2. #2
    Active Member
    Join Date
    2007-01
    Location
    Ermesinde - Portugal
    Posts
    59
    Login to Give a bone
    0

    Default Re: Editando os atributos dos Blocos - VBA

    Caro leo_munters para manipular os atributos de um bloco inserido tem o método "GetAttributes"

    1.
    Dim varAttributes As Variant
    varAttributes = Form.GetAttributes

    Este método devolve-lhe uma lista "array" com os atributos editáveis do bloco "Form"

    2. Deve procurar em cada um dos atributos qual a "TAG" (única para cada um dos atributos de um bloco) do atributo que pretende editar:
    Por exemplo:
    'procura um atributo com a TAG="Data"
    Dim i as integer
    For i = LBound(varAttributes) To UBound(varAttributes)
    if varAttributes(I).TagString = "Data" then
    'alteramos o texto desse atributo
    varAttributes(i).TextString = Format(Date, "Short Date")
    Exit for
    end if
    Next

    Dica: para ver as propriedades dos atributos de um bloco procure "AttributeReference" na Ajuda VBA do AutoCAD.

    Cumprimentos,

    Rui Pestana

Similar Threads

  1. Atributos de blocos.
    By Martinsb in forum AutoCAD General
    Replies: 1
    Last Post: 2012-12-12, 07:00 PM
  2. Blocos dinâmicos e Atributos
    By mauriciolimax in forum AutoCAD General
    Replies: 0
    Last Post: 2010-10-14, 06:06 PM
  3. Inserir blocos com atributos no AutoCAD usando C#.net
    By marcio.cartacho in forum AutoLISP
    Replies: 3
    Last Post: 2010-08-16, 09:16 PM
  4. Atributos em blocos
    By Anderson Vilaronga in forum AutoCAD General
    Replies: 4
    Last Post: 2008-02-06, 12:48 AM
  5. Editando familias anidadas.
    By cadarmando in forum Revit Architecture - General
    Replies: 2
    Last Post: 2007-11-08, 06:15 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •