Ansys / design.py
jithenderchoudary's picture
Update design.py
93d9fce verified
import cadquery as cq
import os
import pyvista as pv
def generate_die(length, width, thickness):
try:
output_dir = "outputs"
os.makedirs(output_dir, exist_ok=True)
plate = cq.Workplane("XY").box(length, width, thickness)
punch = cq.Workplane("XY").rect(10, 10).extrude(5).translate((length / 4, width / 4, thickness / 2))
die = plate.cut(punch)
filename = os.path.join(output_dir, "progressive_die.step")
cq.exporters.export(die, filename)
return filename
except Exception as e:
return f"Error generating die: {str(e)}"
def visualize_die(length, width, thickness):
try:
output_dir = "outputs"
os.makedirs(output_dir, exist_ok=True)
plate = cq.Workplane("XY").box(length, width, thickness)
punch = cq.Workplane("XY").rect(10, 10).extrude(5).translate((length / 4, width / 4, thickness / 2))
die = plate.cut(punch)
stl_file = os.path.join(output_dir, "progressive_die.stl")
cq.exporters.exportShape(die.val(), "STL", stl_file)
pv.global_theme.off_screen = True
mesh = pv.read(stl_file)
plotter = pv.Plotter(off_screen=True)
plotter.add_mesh(mesh, color="blue")
screenshot = os.path.join(output_dir, "progressive_die_visualization.png")
plotter.screenshot(screenshot)
return screenshot
except Exception as e:
return f"Error visualizing die: {str(e)}"