Você está aqui: AutoCAD VBA ::: Dicas & Truques ::: Linha, Linhas, Comando LINE |
Como selecionar uma linha no AutoCAD e mostrar a equação da reta correspondente usando AutoCAD VBAQuantidade de visualizações: 301 vezes |
Em algumas situações nós queremos posicionar pontos ou outros desenhos em cima de uma linha, ou seja, em cima de uma reta. Uma das melhores formas de fazer isso é obtendo a equação reduzida da reta e usar as coordenadas x e y correspondentes. Nesta dica eu mostro como isso pode ser feito. O primeiro passo é pedir para o usuário selecionar a linha na área de desenho do AutoCAD usando ThisDrawing.Utility.GetEntity. Em seguida nós obtemos as coordenadas iniciais e finais da linha usando as propriedades StartPoint e EndPoint do objeto AcadLine. Para finalizar nós calculamos a equação reduzida da reta e exibimos o resultado. Veja o código AutoCAD VBA completo para o exemplo: ' Esta macro AutoCAD VBA mostra como podemos selecionar ' uma linha na área de desenho do AutoCAD e mostrar a ' equação da reta correspondente Sub EquacaoReduzidaReta() ' 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 ' para guardar o sinal Dim sinal As String ' para guardar o m Dim m As Double ' para guardar o n Dim n As Double ' 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 sinal = "+" ' vamos calcular o coeficiente angular da reta m = (ponto_final(1) - ponto_inicial(1)) / (ponto_final(0) - ponto_inicial(0)) ' vamos calcular o coeficiente linear n = ponto_inicial(1) - (m * ponto_inicial(0)) ' coeficiente linear menor que zero? O sinal será negativo If (n < 0) Then sinal = "-" n = n * -1 End If ' mostra a equação reduzida da reta ThisDrawing.Utility.Prompt "Equação reduzida: y = " & _ m & "x" & " " & sinal & " " & n End Sub Ao executar este código AutoCAD VBA e selecionar uma linha nós teremos um resultado parecido com: Selecione uma linha [Usuário seleciona a linha] Command: Equação reduzida: y = 0,184320572802298x + 5,60470610432443 Como forma de testar ainda mais o código, defina um valor para o x e experimente plotar um ponto na área de desenho do AutoCAD. Você verá que o ponto cai exatamente em cima da linha, ou seja, da reta que a representa. |
![]() |
Veja mais Dicas e truques de AutoCAD VBA |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |