Operaciones de AutoCAD con pyautocad

En esta publicación de blog , presentaré algunas operaciones de AutoCAD muy comunes y cómo podemos implementarlas en un script de Python usando pyautocad. Discutiremos cómo copiar, mover/pegar, eliminar, rotar, desplazar, escalar y resaltar objetos.

Configuración de la secuencia de comandos de Python y el modelo de AutoCAD

En primer lugar, configuraremos nuestro entorno de trabajo para realizar acciones en la plantilla de AutoCAD utilizando el módulo pyautocad de Python.

from pyautocad import Autocad, APoint, aDouble
from math import *

acad = Autocad(create_if_not_exists=True)

Agregar objetos de AutoCAD a la plantilla de dibujo usando pyautocad en Python

Como ya hemos discutido en nuestros blogs anteriores en esta serie de pyautocad sobre la creación de objetos, dibujaremos algunos objetos para realizar las operaciones en ellos como se mencionó anteriormente.

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)

Entonces, hemos creado un círculo, una línea y una elipse.

Haremos zoom en los objetos creados usando el método «ZoomExtents». Este comando funciona igual que el comando predeterminado «zoom all» en AutoCAD.

acad.app.ZoomExtents()
Figura 1: Objetos de práctica

Uso de métodos de copiar, mover y eliminar para operaciones básicas de AutoCAD

Como hemos esbozado los objetos básicos de AutoCAD , comenzaremos con tres de los comandos más utilizados, es decir, copiar, mover y eliminar.

La forma en que funciona la copia mientras usamos pyautocad es que podemos crear una copia de un objeto existente, almacenarlo en una variable y usar el método «Mover» para pegarlo en la ubicación deseada.

c2 = c1.Copy()

c2.Move(APoint(100, 100), APoint(300, 300))

Aquí, estamos copiando el círculo «c1» y almacenando la réplica de eso en la variable «c2». Luego, lo estamos copiando desde su punto central existente, es decir, (100, 100, 0) a (300, 300, 0) usando el método «Mover».

Figura 2.1: Círculo copiado c1 a c2

Como puede ver en las Figuras 1 y 2, hemos copiado el círculo 1 en una nueva ubicación. Ahora bien, si no queremos nuestro círculo anterior “c1”, podemos Eliminarlo; de lo contrario, podríamos haber movido el círculo «c1» usando el método Move en lugar de copiarlo.

Eliminemos el círculo «c1» ahora.

Figura 2.2: Círculo eliminado c1

Rotar objetos de AutoCAD con pyautocad en Python

Ahora, discutiremos cómo rotar objetos. Aquí, copiaremos la línea l1 y la rotaremos desde su punto base existente (100, 100, 0) a 90 grados.

l2 = l1.Copy()

l2.Rotate(APoint(100,100), pi*90/180)
Figura 3: línea girada l1 a l2

Desplaza objetos en AutoCAD usando pyautocad

Ahora, analicemos cómo tomar compensaciones de cualquier objeto. Necesitaremos el método Offset para usar contra el objeto para el que queremos ese desplazamiento.

Aquí, tomaremos el desplazamiento de la elipse existente, es decir, «el1».

el2 = el1.Offset(10)
Figura 4: Desplazamiento de la elipse el1

Escalar objetos de AutoCAD en Python

Para escalar un objeto hacia arriba o hacia abajo, necesitaremos que se use el método «Offset» contra el objeto que queremos escalar.

Reduzcamos la escala del círculo existente «c2».

c3 = c2.ScaleEntity(APoint(300, 300), 0.5)
Figura 5.1: Círculo reducido c2

En caso de que tengamos que tratar con muchos objetos, podemos resaltar el objeto específico usando el método «Resaltar» y pasar el parámetro como «Verdadero».

l2.Highlight(True)  
Figura 5.2: Línea resaltada l2

You May Also Like

Leave a Reply

1 comment

gregorio says:

Dibujar linea pero indicando en la pantalla de autocad los puntos

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.