Você está aqui: AutoCAD VBA ::: Dicas & Truques ::: Linha, Linhas, Comando LINE |
Como testar se duas linhas do AutoCAD são paralelas usando AutoCAD VBA e o coeficiente angular das retasQuantidade de visualizações: 229 vezes |
Nesta dica mostrarei como podemos pedir para o usuário selecionar duas linhas na área de desenho do AutoCAD e informar se as duas linhas são paralelas ou não. Para isso nós vamos calcular o coeficiente angular das duas retas selecionadas pelo usuário. Veja o código AutoCAD VBA completo para o exemplo: ' Esta macro AutoCAD VBA mostra como podemos selecionar ' duas linhas na área de desenho do AutoCAD e informar ' se as duas linhas são paralelas ou não Sub LinhasPararelas() ' vamos declarar um variável para receber as duas ' linhas selecionadas Dim linha_a As AcadLine Dim linha_b As AcadLine ' e também as localizações das linhas Dim localizacao_a As Variant Dim localizacao_b As Variant ' para guardar os pontos iniciais Dim ponto_inicial_a As Variant Dim ponto_inicial_b As Variant ' para guardar os pontos finais Dim ponto_final_a As Variant Dim ponto_final_b As Variant ' para guardar os coeficientes angulares Dim m_a As Double Dim m_b As Double ' caso haja algum erro On Error Resume Next ' agora pedimos para o usuário selecionar a primeira linha ThisDrawing.Utility.GetEntity linha_a, localizacao_a, _ "Selecione a primeira linha" ' agora pedimos para o usuário selecionar a segunda linha ThisDrawing.Utility.GetEntity linha_b, localizacao_b, _ "Selecione a segunda linha" ' vamos obter o ponto inicial da primeira linha ponto_inicial_a = linha_a.StartPoint ' vamos obter o ponto final da primeira linha ponto_final_a = linha_a.EndPoint ' vamos obter o ponto inicial da segunda linha ponto_inicial_b = linha_b.StartPoint ' vamos obter o ponto final da segunda linha ponto_final_b = linha_b.EndPoint ' vamos calcular o coeficiente angular da primeira reta m_a = (ponto_final_a(1) - ponto_inicial_a(1)) / (ponto_final_a(0) _ - ponto_inicial_a(0)) ' vamos calcular o coeficiente angular da segunda reta m_b = (ponto_final_b(1) - ponto_inicial_b(1)) / (ponto_final_b(0) _ - ponto_inicial_b(0)) ' mostramos o resultado If m_a = m_b Then ThisDrawing.Utility.Prompt "As duas linhas são paralelas" Else ThisDrawing.Utility.Prompt "As duas linhas não são paralelas" End If End Sub Ao executar este código AutoCAD VBA teremos um dos dois resultados abaixo: As duas linhas são paralelas As duas linhas não são paralelas |
![]() |
Veja mais Dicas e truques de AutoCAD VBA |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |