Nesta postagem do blog , apresentarei algumas operações muito comuns do AutoCAD e como podemos implementá-las em um script Python usando pyautocad. Discutiremos como copiar, mover/colar, excluir, girar, deslocar, dimensionar e realçar objetos.
Configurando o script Python e o modelo do AutoCAD
Em primeiro lugar, vamos configurar nosso ambiente de trabalho para executar ações no modelo do AutoCAD usando o módulo pyautocad do Python.
from pyautocad import Autocad, APoint, aDouble
from math import *
acad = Autocad(create_if_not_exists=True)
Adicionando objetos do AutoCAD ao modelo de desenho usando pyautocad em Python
Como já discutimos em nossos blogs anteriores nesta série de pyautocad sobre a criação de objetos, desenharemos alguns objetos para executar as operações neles conforme mencionado acima.
c1 = acad.model.AddCircle(APoint(100, 100, 0), 100)
l1 = acad.model.AddLine(APoint(100,100), APoint(300, 350))
el1 = acad.model.AddEllipse(APoint(250, 300), APoint(700, 450), 0.5)
Então, criamos um círculo, uma linha e uma elipse.
Vamos ampliar os objetos criados usando o método “ZoomExtents”. Este comando funciona da mesma forma que o comando padrão “zoom all” no AutoCAD.
acad.app.ZoomExtents()
Usando métodos de copiar, mover e excluir para operações básicas do AutoCAD
Como esboçamos os objetos básicos do AutoCAD , começaremos com três dos comandos mais usados, ou seja, copiar, mover e excluir.
A maneira como a cópia funciona ao usar o pyautocad é que podemos criar uma cópia de um objeto existente, armazená-lo em uma variável e usar o método “Mover” para colá-lo no local desejado.
c2 = c1.Copy()
c2.Move(APoint(100, 100), APoint(300, 300))
Aqui, estamos copiando o círculo “c1″ e armazenando a réplica dele na variável “c2”. Em seguida, estamos copiando-o de seu ponto central existente, ou seja, (100, 100, 0) para (300, 300, 0) usando o método “Move”.
Como você pode ver nas Figuras 1 e 2, copiamos o círculo 1 para um novo local. Agora, se não quisermos nosso círculo anterior “c1”, podemos Excluí-lo; caso contrário, poderíamos ter movido o círculo “c1” usando o método Move em vez de copiá-lo.
Vamos deletar o círculo “c1” agora.
Girar objetos do AutoCAD com pyautocad em Python
Agora, vamos discutir como girar objetos. Aqui, copiaremos a linha l1 e giraremos a mesma de seu ponto base existente (100, 100, 0) para 90 graus.
l2 = l1.Copy()
l2.Rotate(APoint(100,100), pi*90/180)
Desloca objetos no AutoCAD usando pyautocad
Agora, vamos discutir como obter deslocamentos de qualquer objeto. Vamos precisar do método Offset para usar contra o objeto para o qual queremos esse deslocamento.
Aqui, tomaremos o deslocamento para a elipse existente, ou seja, “el1”.
el2 = el1.Offset(10)
Dimensionar objetos do AutoCAD em Python
Para dimensionar um objeto para cima ou para baixo, precisaremos do método “Offset” a ser usado contra o objeto que queremos dimensionar.
Vamos reduzir o círculo existente “c2”.
c3 = c2.ScaleEntity(APoint(300, 300), 0.5)
Caso tenhamos muitos objetos para tratar, podemos destacar o objeto específico usando o método “Highlight” e passar o parâmetro como “True”.
l2.Highlight(True)
Cientista de dados com foco em simulação, otimização e modelagem em R, SQL, VBA e Python
Leave a Reply