En esta publicación de blog , analizaré el objeto de la aplicación de AutoCAD y algunos de sus métodos y propiedades importantes. Mostraré cómo implementar el objeto de la aplicación de AutoCAD en pyautocad.
A partir de este ejemplo de codificación, importo clases y métodos relevantes de pyautocad. Creo un nuevo modelo en el siguiente código.
from pyautocad import Autocad, APoint, aDouble
acad = Autocad(create_if_not_exists=True)
Obtener el objeto de la aplicación de AutoCAD en Python
Para poder realizar cualquier acción en el objeto de la aplicación de AutoCAD, necesito buscar ese objeto. En pyautocad uso «acad.app» para esto.
Si quiero usar módulos de comunicación en lugar de pyautocad, puedo proceder como se indica a continuación. En ese caso, uso los módulos Python win32com y pythoncom.
from win32com.client import *
import pythoncom
acad1 = win32com.client.Dispatch("AutoCAD.Application")
En este caso, acad1 representa el objeto Aplicación.
Propiedades del objeto Aplicación de AutoCAD
Muchas propiedades de objetos de aplicaciones mejoran la automatización de los dibujos de AutoCAD. Discutiré algunas de las propiedades importantes, repasándolas una por una.
Para obtener diferentes tipos de información relacionada con el objeto de la aplicación de AutoCAD, como, por ejemplo, el nombre de la aplicación, el nombre completo de la aplicación o, por ejemplo, el nombre del documento, puedo usar el código.
print(acad.app.Application.Name)
print(acad.app.Caption)
print(acad.app.ActiveDocument.Name)
print(acad.app.Path)
print(acad.app.FullName)
O/p:
AutoCAD
Autodesk AutoCAD 2018 - [Drawing2.dwg]
Drawing2.dwg
C:\Program Files\Autodesk\AutoCAD 2018
C:\Program Files\Autodesk\AutoCAD 2018\acad.exe
Digamos que quiero verificar todos los documentos abiertos actualmente en la aplicación AutoCAD. Para esto, puedo, por ejemplo, usar la propiedad Documentos e iterar sobre esa propiedad.
Demostraré esto con un ejemplo simple en AutoCAD. En su ejemplo, tengo dos dibujos abiertos, Drawing1 y Drawing2. La siguiente captura de pantalla muestra esto.
El dibujo “Drawing2.dwg” está actualmente seleccionado. De mi salida anterior y la imagen de arriba, está claro que este dibujo se obtiene como ActiveDocuments. Pero déjame comprobar si también devuelve Drawing1.dwg. Este debería ser el caso, ya que ese archivo también está abierto.
print(acad.app.Documents)
for i in acad.app.Documents:
print(i.Name)
O/p:
Drawing1.dwg
Drawing2.dwg
Atributos de MenuGroups y MenuBar
Ahora obtengo la barra de menús y los objetos del grupo de menús actualmente en uso. Lo hago en el siguiente código:
print(acad.app.MenuBar)
print(acad.app.MenuGroups)
for i in acad.app.MenuGroups:
print(i.Name)
O/p:
<comtypes.client.lazybind.Dispatch object at 0x0000021BBCA23EB0>
ACAD
CUSTOM
MODELDOC
EXPRESS
AUTODESKSEEK
Aquí, puedo ver que el primer código de MenuBar devolvió un objeto de envío que es una barra de menú activa del dibujo de AutoCAD. Discutiré el objeto MenuBar en otro artículo.
Objeto de aplicación de AutoCAD Propiedad WindowState
Para ajustar o ver el estado de la aplicación de AutoCAD o la ventana del documento de AutoCAD, puedo usar el atributo WindowState. WindowState está codificado con valores enteros. En resumen, los números enteros representan estados de ventana, por ejemplo, de la siguiente manera:
- acMín(1): La ventana se minimiza.
- acmáx(2): La ventana está maximizada.
- acnorm(3): La ventana es normal (no minimizada ni maximizada).
print(acad.app.WindowState)
O/p:
1
Métodos de objeto de la aplicación de AutoCAD
Ahora, discutiré algunos métodos importantes de pyautocad para manejar aplicaciones de AutoCAD. En realidad, todos deberían saberlo mientras realizan operaciones con el objeto de la aplicación AutoCAD.
Cada vez que escribo un código, debo verificar si la aplicación está en estado inactivo (inactivo) o no. Para comprobar que utilizo el método IsQuiescent. Aquí hay un ejemplo:
print(acad.app.GetAcadState().IsQuiescent)
O/p:
False
Como estaba usando la aplicación después de ejecutar este código, muestra la aplicación como activa (es decir, falsa).
Además, si quiero cerrar el documento actual, puedo usar el método Salir. Por supuesto, esto solo cierra el documento actualmente activo y no toda la aplicación que devuelve un valor nulo.
acad.app.Quit()
Finalmente, para actualizar la aplicación después de aplicar el código, puedo usar el método Actualizar que también devuelve nulo.
acad.app.Update()
Observaciones finales y contenido relacionado
Para otros artículos informativos que cubren la automatización de AutoCAD , consulte mis otros artículos relacionados con pyautocad y pywin32. Por favor comente las preguntas que tenga en la sección de comentarios. No dude en ponerse en contacto conmigo para cualquier consulta técnica. Puede utilizar el formulario de contacto para el mismo.
Aquí hay algunos artículos relacionados que cubren la automatización de AutoCAD y las secuencias de comandos de AutoCAD en Python:
- Link : módulo Python para AutoCAD pyautocad
- Link : método add () en pyautocad
- Link : la llamada resuelta fue rechazada por el destinatario en pythoncom
- Link : estructura de datos de árbol para objetos de AutoCAD usando Python
- Link : Extendiendo los objetos en AutoCAD usando pyautocad en Python
- Link : Uso de listas y diccionarios de Python para trabajar con objetos de AutoCAD con pyautocad
- Link : Sombreado de objetos en la plantilla de AutoCAD usando pywin32 en Python
- Link : objeto de imagen ráster en AutoCAD con pyautocad en Python
- Link : Trabajando con un objeto de malla 3D en AutoCAD usando pyautocad en Python
- Link : Creando un constructor doble usando pywin32 en Python
- Link : Crear un método de punto usando pywin32 en Python
- Link : Integración de Python con AutoCAD usando pywin32 y win32com
- Link : Eliminación de objetos en una plantilla de AutoCAD con pyautocad y pywin32 en Python
- Link : Objeto espejo en un plano 2D con pyautocad en Python
- Link : Trabajando con textos en Autocad usando pyautocad en Python
- Link : matrices polares en AutoCAD usando pyautocad en Python
- Link : Matrices rectangulares en AutoCAD usando pyautocad en Python
- Link : Operaciones con objetos de AutoCAD usando pyautocad en Python
- Link : Objetos sólidos en AutoCAD usando pyautocad en Python
- Link : Trabajando con hélices en AutoCAD usando pyautocad en Python
- Link : Dibujar splines en AutoCAD con pyautocad en Python
- Link : Polilíneas en pyautocad para dibujar polígonos de AutoCAD en Python
- Link : Dibujar arcos de elipse en AutoCAD usando pyautocad en Python
- Link : Dibujar arcos en AutoCAD usando pyautocad en Python
- Link : diseño de fábrica y optimización de procesos casi simultáneos con la edición Promodel AutoCAD
- Link : módulo Python para AutoCAD pyautocad
- Link : objeto Región en AutoCAD con Python
Leave a Reply