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 VBAQuantidade 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 VBAQuantidade 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 ModelSpaceQuantidade 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 EndPointQuantidade 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 |
Python - Como calcular o limite de uma função usando Python e a biblioteca Sympy - Python para Engenharia |
Códigos Fonte |
Software 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 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 |