Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: AutoCAD VBA ::: Dicas & Truques ::: Polyline - Polilinha

Como extrair as coordenadas de uma polilinha do AutoCAD e salvar em um arquivo texto usando AutoCAD VBA

Quantidade de visualizações: 227 vezes
Nesta dica mostrarei como podemos usar a linguagem AutoCAD VBA para extrair as coordenadas dos vértices de uma polilinha e salvar essas coordenadas em um arquivo texto. Veja que no exemplo eu usei um objeto AcadLWPolyline, que possui apenas as coordenas x e y para cada um dos seus vértices. Em outras dicas dessa seção eu mostro como isso pode ser feito para polilinhas 3D.

A polilinha é selecionada na área de desenho do AutoCAD usando a função ThisDrawing.Utility.GetEntity. Depois da seleção, nós obtemos as coordenadas da polilinha usando a propriedade Coordinates. O passo seguinte é percorrer esse vetor de coordenadas usando um laço For e as funções LBound e UBound, que retornam o índice inicial e o índice final do vetor.

Note também o uso da função Format para formatar a quantidade de casas decimais na hora de gravar as coordenadas no arquivo texto.

Veja o código AutoCAD VBA completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

' Esta macro AutoCAD VBA mostra como podemos selecionar uma
' polilinha na área de desenho do AutoCAD e gravar as coordenadas
' de seus vértices em um arquivo texto
Sub ExtrairCoordenadasPolilinha()
  ' para o caso de acontecer algum erro
  On Error GoTo Finalizar
  
  ' arquivo no qual vamos gravar as coordenadas
  Open "C:\\estudos_autocad_vba\\coordenadas.txt" For Output As #1
  ' para guardar a polilinha
  Dim polilinha As AcadLWPolyline
  ' para controlar o laço
  Dim i As Integer
  ' para guardar as coordenadas x e y dos vértices
  Dim x As Double, y As Double
  ' a localização do objeto na área de desenho
  Dim localizacao As Variant
  ' para guardar as coordenadas
  Dim coordenadas As Variant
  ' o comprimento da polilinha (perímetro)
  Dim comprimento As Double
 
  ' vamos pedir para o usuário selecionar a polilinha
  ThisDrawing.Utility.GetEntity polilinha, localizacao, _
    "Selecione uma polilinha"

  ' vamos obter as coordenadas da polilinha selecionada
  coordenadas = polilinha.Coordinates

  ' agora percorremos as coordenadas de cada vértice
  For i = LBound(coordenadas) To UBound(coordenadas) Step 2
    ' obtemos a coordenada x do vértice
    x = Format(polilinha.Coordinates(i), "0.000")
    ' obtemos a coordenada x do vértice
    y = Format(polilinha.Coordinates(i + 1), "0.000")
    ' escrevemos os valores no arquivo
    Print #1, "X = " & x; "; Y = " & y
  Next i

  ' obtemos o comprimento da polilinha
  comprimento = Format(polilinha.length, "0.000")
  Print #1, vbCrLf & "Comprimento da polilinha: " & comprimento
  Print #1, "Número de vértices: " & (UBound(coordenadas) + 1) / 2
  
  MsgBox "Os dados foram gravados com sucesso."
  
  ' fecha o arquivo
  Close (1)
Exit Sub
  
' para o caso de erro
Finalizar:
  MsgBox "Houve um erro."
End Sub

Ao executar este código AutoCAD VBA e selecionar uma polilinha na área de desenho do AutoCAD, um arquivo coordenadas.txt será gravado com as seguintes informações:

X = 73,848; Y = 32,408
X = 41,948; Y = 34,997
X = 28,083; Y = 22,388
X = 55,249; Y = 9,328
X = 79,259; Y = 12,593

Comprimento da polilinha: 125,659
Número de vértices: 5

Link para compartilhar na Internet ou com seus amigos:

AutoCAD VBA ::: Dicas & Truques ::: Linha, Linhas, Comando LINE

Como criar uma linha no AutoCAD usando Autocad VBA e a função AddLine() do objeto ModelSpace

Quantidade de visualizações: 472 vezes
A função AddLine() do AutoCAD VBA nos permite desenhar uma linha mediante o fornecimento de um ponto inicial e um ponto final. Esta função é chamada a partir do objeto ModelSpace, que, por sua vez, está contido no objeto ThisDrawing.

A função AddLine() recebe dois valores do tipo Variant, ou seja, um vetor de três elementos do tipo double, e retorna um objeto Line.

Veja um código AutoCAD VBA completo no qual informamos as coordenadas x, y e z dos pontos inicial e final e desenhamos uma linha entre eles:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

' Procedimento que permite desenhar uma linha entre dois pontos
Sub DesenharLinhaDoisPontos()
  ' vamos declarar o objeto Line
  Dim linha As AcadLine
  ' o ponto inicial
  Dim pontoInicial(0 To 2) As Double
  ' o ponto final
  Dim pontoFinal(0 To 2) As Double

  ' vamos definir as coordenadas dos dois pontos. Uma boa idéia
  ' seria pedir para o usuário informar os pontos. Em outras dicas
  ' do site essa idéia é explorada
  pontoInicial(0) = 0: pontoInicial(1) = 0: pontoInicial(2) = 0
  pontoFinal(0) = 350: pontoFinal(1) = 500: pontoFinal(2) = 0

  ' e agora desenhamos a linha
  Set linha = ThisDrawing.ModelSpace.AddLine(pontoInicial, pontoFinal)
  ' e damos uma Zoom All na área de desenho
  ZoomAll
End Sub

Ao executar este código AutoCAD VBA nós teremos uma linha saindo do ponto x=0,y=0,z=0 e indo até o ponto x=350,y=500,z=0.


AutoCAD VBA ::: Dicas & Truques ::: Linha, Linhas, Comando LINE

Como retornar as coordenadas iniciais e finais de uma linha no AutoCAD usando AutoCAD VBA e as propriedades StartPoint e EndPoint

Quantidade de visualizações: 171 vezes
Nesta dica mostrarei como podemos usar as propriedades StartPoint e EndPoint do objeto AcadLine do AutoCAD VBA para obter e retornar as coordenadas iniciais e finais de uma linha do AutoCAD.

Veja que usamos a função ThisDrawing.Utility.GetEntity para pedir para o usuário selecionar uma linha na área de desenho. Uma vez selecionada a linha nós obtemos suas coordenadas iniciais e finais usando StartPoint e EndPoint.

Para finalizar nós usamos a função ThisDrawing.Utility.Prompt para exibir as coordenadas x, y e z iniciais e finais da linha na janela de comando do AutoCAD.

Veja o código AutoCAD VBA completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

' Esta macro AutoCAD VBA mostra como selecionar uma linha
' na área de desenho do AutoCAD e retornar suas coordenadas
' iniciais e finais
Sub CoordenadasLinha()
  ' vamos declarar um variável para receber a linha
  ' selecionada
  Dim linha As AcadLine
  ' e também a localização da linha
  Dim localizacao As Variant
  ' para guardar o ponto inicial
  Dim ponto_inicial As Variant
  ' para guardar o ponto final
  Dim ponto_final As Variant
   
  ' caso haja algum erro
  On Error Resume Next
   
  ' agora pedimos para o usuário selecionar a linha
  ThisDrawing.Utility.GetEntity linha, localizacao, _
    "Selecione uma linha"
   
  ' vamos obter o ponto inicial da linha
  ponto_inicial = linha.StartPoint
  ' vamos obter o ponto final da linha
  ponto_final = linha.EndPoint
   
  ' e mostramos as coordenadas iniciais e finais da linha
  ThisDrawing.Utility.Prompt "As coordenadas iniciais são: X = " _
    & ponto_inicial(0) & "; Y = " & ponto_inicial(1) & "; Z = " _
    & ponto_inicial(2)
  ThisDrawing.Utility.Prompt vbCrLf & "As coordenadas finais são: X = " _
    & ponto_final(0) & "; Y = " & ponto_final(1) & "; Z = " _
    & ponto_final(2)
End Sub

Ao executar este código AutoCAD VBA nós teremos o seguinte resultado:

As coordenadas iniciais são: X = 55,9523227122882; Y = 42,9870898477564; Z = 0
As coordenadas finais são: X = 116,586068002574; Y = 20,6918609035664; Z = 0


AutoCAD VBA ::: Dicas & Truques ::: Comprimentos, distâncias e ângulos

Como calcular a distância entre dois pontos no AutoCAD usando AutoCAD VBA

Quantidade de visualizações: 203 vezes
Em várias situações nós precisamos calcular e retornar a distância entre dois pontos na área de desenho do AutoCAD. Esta tarefa pode ser facilmente realizada com o uso da linguagem AutoCAD VBA.

Neste exemplo nós usaremos a função ThisDrawing.Utility.GetPoint() para pedir para o usuário selecionar dois pontos na área de desenho e em seguida vamos mostrar a distância entre eles.

Veja o código AutoCAD VBA completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

' Esta macro AutoCAD VBA demonstra como podemos
' calcular a distância entre dois pontos na área de
' desenho do AutoCAD
Sub DistanciaDoisPontos()
  ' vamos declarar os dois pontos geométricos
  Dim p As Variant
  Dim q As Variant
  ' para guardar as coordenadas temporárias
  Dim x As Double, y As Double, z As Double
  ' para guardar a distância
  Dim distancia As Double

  ' vamos pedir para o usuário informar os dois pontos
  p = ThisDrawing.Utility.GetPoint(, vbCrLf & _
    "Indique o primeiro ponto: ")
  q = ThisDrawing.Utility.GetPoint(p, vbCrLf & _
    "Indique o segundo ponto: ")

  ' agora calculamos a distância entre os dois pontos informados
  x = p(0) - q(0)
  y = p(1) - q(1)
  z = p(2) - q(2)
  distancia = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2))
 
  ' e mostramos o resultado
  MsgBox "A distância entre os dois pontos é: " & distancia
End Sub

Ao executar este código AutoCAD VBA nós teremos o seguinte resultado:

A distância entre os dois pontos é: 64.6029


Vamos testar seus conhecimentos em Fundações

Questões de Concurso Engenharia Civil - Fundações

COPEL - No estudo do subsolo para projeto de fundações, o número de golpes dados com um peso padrão, caindo em queda livre, de uma altura constante, necessários para a penetração de um amostrador padrão à profundidade de 30cm é denominado:

A) Índice coesivo.

B) Índice SPT.

C) Carga morta.

D) Índice de resistência à penetração.

E) Carga aparente.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

O código de ética profissional: Concorrência

A estrutura de mercado denominada "livre concorrência" tem como principal característica a competição empresarial de maneira correta, transparente e honesta. Nesse ambiente, é necessária a regulamentação da economia por parte do Estado, pois isso gera benefícios aos consumidores. Marque a alternativa que apresenta os benefícios decorrentes da regulamentação.

A) A coletividade passa a contar com mais opções de produtos importados, preços e qualidade, além de oferecer às empresas um ambiente econômico saudável.

B) A coletividade passa a contar com mais opções de produtos, preços e menos rigor na qualidade, além de oferecer às empresas um ambiente econômico saudável.

C) A coletividade passa a contar com mais opções de produtos, preços e qualidade, além de oferecer às empresas um ambiente econômico monopolista.

D) A coletividade passa a contar com mais opções de produtos, preços e qualidade, além de oferecer às empresas um ambiente econômico saudável.

E) Os Estados menos desenvolvidos passam a contar com isenção de impostos, mais opções de produtos, preços e qualidade, além de oferecer às empresas um ambiente econômico saudável.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações profundas

Fundações profundas podem ser classificadas de diferentes maneiras. Uma forma de distinguir os diferentes tipos de estaca é pelo material empregado em sua composição.

Com base no exposto, assinale com V (verdadeiro) ou F (falso) as proposições a seguir, sobre estacas de madeira.

( ) A madeira em contato com o oxigênio do ar tende a apresentar fungos que inibem a deterioração do material.

( ) As estacas de madeira apodrecem rapidamente se mantidas permanentemente debaixo d'água.

( ) No Brasil, estacas de madeira são amplamente utilizadas de forma permanente em obras comerciais e residenciais.

Assinale a alternativa que indica, de cima para baixo, a ordem correta.

A) V, F, F.

B) V, V, V.

C) F, F, F.

D) F, F, V.

E) V, V, F.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de combate a incêndio

A norma NBR 13714 estabelece os critérios mínimos exigíveis para sistemas de hidrantes e de mangotinhos, para uso exclusivo no combate a incêndio. Com base nesses critérios, assinale a alternativa correta:

A) Uma edificação com área de 850m2 não necessita de um sistema de mangotinhos ou de hidrantes para proteção contra incêndio.

B) O ponto de tomada de água para hidrantes e mangotinhos pode ser instalado a até 10m de distância das portas externas e escadas.

C) Os hidrantes devem ser distribuídos de tal forma que qualquer ponto da área a ser protegida seja alcançado por no mínimo dois esguichos.

D) Uma edificação com parede externa de 12m de altura necessita que o hidrante externo seja instalado afastado no máximo 18m da edificação.

E) Uma edificação com parede externa de 12m de altura necessita que o ponto de tomada de água seja instalado a no máximo 2m em relação ao piso.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

var a = new Array();
var b = new Array();
a[1] = 3;
b[2] = 5;
a = b;

Quais valores estão contidos em a[1] e a[2] depois da execução deste código?

A) a[1] é 3 e a[2] é 5.

B) a[1] é indefinido e a[2] é 5.

C) ambos a[1] e a[2] são indefinidos.

D) A execução deste código provoca um erro.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de AutoCAD VBA

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 59 usuários muito felizes estudando em nosso site.