Avançar para o conteúdo principal

Msgbox Coordenadas

Aqui fica uma pequena utilidade, dispõe as coordenadas de dois pontos clicados no CAD. Assim como as distâncias e inclinações.

Sub inclinacao()

Dim Ponto1, Ponto2 As Variant
On Error Resume Next

Ponto1 = ThisDrawing.Utility.GetPoint(, "Seleccione ponto 1")
If Err Then Exit Sub
txt1X = Ponto1(0): txt1Y = Ponto1(1): txt1Z = Ponto1(2)

Ponto2 = ThisDrawing.Utility.GetPoint(, "Seleccione ponto 2")
If Err Then Exit Sub
txt2X = Ponto2(0): txt2Y = Ponto2(1): txt2Z = Ponto2(2)
dist2d = Sqr((Ponto2(0) - Ponto1(0)) ^ 2 + (Ponto2(1) - Ponto1(1)) ^ 2)
dist3d = Sqr((Ponto2(0) - Ponto1(0)) ^ 2 + (Ponto2(1) - Ponto1(1)) ^ 2 + (Ponto2(2) - Ponto1(2)) ^ 2)
i = (Ponto2(2) - Ponto1(2)) / dist2d
ipercent = i / 100
ipercent = Round(ipercent, 3)

MsgBox ("Coordenadas Ponto 1 X=" & txt1X & " Y=" & txt1Y & " Z=" & txt1Z & vbCrLf & _
        "" & vbCrLf & _
        "Coordenadas Ponto 2 X=" & txt2X & " Y=" & txt2Y & " Z=" & txt2Z & vbCrLf & _
        "" & vbCrLf & _
        "Distância 2D= " & dist2d & "Distância 3D= " & dist3d & vbCrLf & _
        "" & vbCrLf & _
        " Inclinação = " & i & " -> " & ipercent & "%")



End Sub

Msgbox Coordenadas

Comentários

Mensagens populares deste blogue

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...

Python - Automatização em ISPOL

Python - Automatização em ISPOL Com o uso de PyAutoGui podemos automatizar tarefas repetitivas no ISPOL ISTRAM. No trabalho actual, é necessário converter mais de 300 ficheiros. Já houve um trabalho prévio de ler e transformar dados de directrizes em Excel para ficheiros compatíveis com a conversão presente. Este trabalho prévio foi também feito com programação. Tendo os muitos ficheiros com formato TXT que o ISPOL pode ler e converter para CEJ, é necessário ir ao menu de Conversores do ISTRAM e digitar os dados para ler a localização dos ficheiros, número de eixo etc... um trabalho repetitivo. Sendo repetitivo uma hipótese que deve surgir é se existe forma de automatizar / programar. O ISTRAM ISPOL não permite o uso de plugins (como o CAD), por tanto a via seria pela automatização dos movimentos. O pacote PyAutoGUI para Python permite esta simulação de movimentos. https://pyautogui.readthedocs.io/en/latest/ Basicamente "guiamos" o cursor para onde deve clicar e o que introdu...

Python - Larguras de vias em Excel para ISPOL

Python - Larguras de vias em Excel para ISPOL Uma das formas de organizar a informação é usar o Excel. O ISPOL sendo um software em que muita informação é indicada de forma paramétrica, pode gerar alguma dificuldade ou confusão, quando há muitos dados. É o caso das larguras de vias, quando há vias de aceleração ou abrandamento, e diversas situações de vias adicionais. Uma forma de contornar alguma dificuldade é organizar a informação em quadros Excel. O Excel não comunica com o ISPOL, por isso arranja-se um canal de comunicação, a programação em Python. Com alguma experiência na programação, criar um script que realize o que pretendemos não leva assim tanto tempo. Como primeiro passo, ter um ficheiro de Excel com a informação estruturada. Os dados principais podem ser introduzidos com leituras de PKDist do ISPOL e copiados para o Excel. Pode-se ter umas fórmulas nas células para calcular as transições. Cada folha de Excel é relacionada a um eixo. O script ao início pede o número de eix...