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: 233 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 ::: Comprimentos, distâncias e ângulos

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

Quantidade de visualizações: 208 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


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: 476 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: 174 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


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

Água Fria: Reservatórios

Sobre o projeto de reservatórios de água fria, assinale a alternativa correta:

A) O volume mínimo do reservatório para uso doméstico, salvo o volume do combate a incêndio, deve ser, no mínimo, o necessário para 3 dias de consumo.

B) O reservatório de água potável não deve ser enterrado em hipótese alguma, devido à possibilidade de contaminação proveniente do solo.

C) No caso de residência de pequeno porte, é recomendado que a reserva mínima seja de 1000 L.

D) Reservatórios de maior capacidade devem ser divididos em dois ou mais compartimentos para permitir operações de manutenção sem haver interrupção na distribuição de água.

E) A extremidade da tomada d'água no reservatório (saída para o barrilete de distribuição) deve estar no mesmo nível do fundo desse reservatório.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Evolução das estruturas

Até o início do século XIX os metais exerciam uma função estrutural limitada nas edificações. O aço em abundância e econômico tornou-se disponível pela primeira vez na década de 1850. Assinale a opção correta quanto aos motivos que levaram à expansão da utilização de elementos metálicos em estruturas:

Selecione a resposta:

A) A utilização do ferro forjado e o sentido estético da época levaram a maior utilização da estrutura metálica.

B) Devido à introdução do Processo Bessemer, em que grandes quantidades de ferro podiam ser transformadas em aço, em aproximadamente 20 minutos resultando em um metal com propriedades estruturais bastante superiores ao do ferro fundido.

C) A carência de profissionais capacitados, artesãos, em trabalhar a alvenaria de pedra como elemento estrutural levaram a uma mudança em termos de tecnologia estrutural, havendo a utilização da estrutura metálica em larga escala.

D) O incremento da urbanização e a necessidade da rapidez na construção de casas para as pessoas que vinham para as cidades trabalhar nas fábricas levaram à larga utilização da estrutura metálica, reduzindo assim, o seu custo.

E) A verticalização das cidades e a ousadia dos arquitetos e dos construtores de se construir edifícios cada vez mais altos.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Formas: Confecção e colocação

Durante a execução e cura de estruturas em concreto armado, as formas são submetidas a diversos tipos de solicitações, desde a montagem, passando pelo lançamento do concreto, peso da massa e armadura, etc. Sobre esses esforços, assinale a alternativa correta.

A) As formas dos pilares são mais solicitadas por cargas verticais.

B) As formas de lajes são mais solicitadas por cargas horizontais.

C) O peso da armadura é o principal esforço sobre qualquer tipo de forma.

D) As formas das vigas são mais solicitadas por esforços verticais.

E) O peso da armadura é determinante no dimensionamento da forma de vigas.
Verificar Resposta Estudar Cards Todas as Questões

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

Ética, Legislação e Entidades que regulamentam a profissão

A diretriz mais importante para ser ético é:

A) Não comprometer intencionalmente a integridade de outras pessoas com nossas ações.

B) O que a empresa para a qual você trabalha estabelece como códigos de ética.

C) O que seu supervisor e seus colegas dizem ser o correto.

D) O que as organizações profissionais publicam sobre ética.

E) A lei.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

(Unifal 2008) Assinale a alternativa correta a respeito das alterações do ciclo hidrológico.

A) O desmatamento provoca um aumento da evapotranspiração vegetal, desequilibrando o balanço de água no solo, que se torna estéril.

B) A agricultura irrigada retira água do lençol freático, devolvendo-a ao rio, por meio do escoamento fluvial, poluída e pobre em nutrientes.

C) A superexploração dos aquíferos provoca o ressecamento dos solos e contribui para o aumento da erosão fluvial.

D) A compactação dos solos, que pode ser decorrente das atividades agropecuárias, reduz a infiltração da água da chuva e aumenta o escoamento superficial.

E) O consumo de água urbano e industrial é responsável pela poluição das águas, mas não afeta a hidrografia local quanto à redução da vazão dos rios.
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á 44 usuários muito felizes estudando em nosso site.