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()
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».
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.
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)
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)
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)
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)
Ingeniero industrial especializado en optimización y simulación (R, Python, SQL, VBA)
1 comment
Dibujar linea pero indicando en la pantalla de autocad los puntos