Este módulo enseña cómo usar Python para apoyar el dibujo técnico desde archivos STL. Aprenderás a:
pip install trimesh pandas openpyxl matplotlib
import trimesh
import matplotlib.pyplot as plt
# Cargar el archivo STL
malla = trimesh.load('cajita.stl') # Reemplaza con tu archivo STL
# Función para guardar una vista con matplotlib
def guardar_vista(malla, elev, azim, nombre_archivo):
# Crear una figura con proyección 3D
fig = plt.figure(figsize=(6, 6))
ax = fig.add_subplot(111, projection='3d')
# Obtener vértices y caras
vertices = malla.vertices
caras = malla.faces
# Crear colección de polígonos para el mesh
mesh = trimesh.base.Trimesh(vertices=vertices, faces=caras)
ax.plot_trisurf(
mesh.vertices[:, 0],
mesh.vertices[:, 1],
mesh.vertices[:, 2],
triangles=mesh.faces,
color='lightblue',
edgecolor='gray',
linewidth=0.2,
alpha=1.0
)
# Configurar la vista
ax.view_init(elev=elev, azim=azim)
ax.axis('off')
# Ajustar límites
limites = malla.bounds
for i in range(3):
medio = (limites[1][i] + limites[0][i]) / 2
rango = (limites[1][i] - limites[0][i]) * 0.6
ax.set_xlim(limites[0][0] - rango, limites[1][0] + rango)
ax.set_ylim(limites[0][1] - rango, limites[1][1] + rango)
ax.set_zlim(limites[0][2] - rango, limites[1][2] + rango)
# Guardar imagen
plt.tight_layout()
plt.savefig(nombre_archivo)
plt.close()
# Generar las vistas
guardar_vista(malla, elev=0, azim=0, nombre_archivo='vista_frontal.png')
guardar_vista(malla, elev=0, azim=90, nombre_archivo='vista_lateral.png')
guardar_vista(malla, elev=90, azim=0, nombre_archivo='vista_superior.png')
guardar_vista(malla, elev=45, azim=45, nombre_archivo='vista_isometrica.png')
print("✅ Vistas guardadas como imágenes PNG.")
El script generará las siguientes imágenes:
vista_frontal.png
vista_lateral.png
vista_superior.png
vista_isometrica.png
cotas.png
(dimensiones rotuladas)