Spaces:
Sleeping
Sleeping
| from ansys.mapdl.core import launch_mapdl | |
| import gradio as gr | |
| # Function to generate die design using ANSYS MAPDL | |
| def generate_die_ANSYS(length, width, thickness, die_shape): | |
| try: | |
| if length <= 0 or width <= 0 or thickness <= 0: | |
| return "Dimensions must be greater than zero." | |
| # Launch ANSYS MAPDL session (without interactive argument) | |
| mapdl = launch_mapdl() # Start MAPDL session | |
| mapdl.clear() # Clear any previous settings | |
| # Preprocessing | |
| mapdl.prep7() | |
| # Die shape logic | |
| if die_shape == "Rectangle": | |
| mapdl.block(0, length, 0, width, 0, thickness) # Create a rectangular block | |
| elif die_shape == "Circle": | |
| mapdl.cylind(0, 0, width / 2, 0, thickness) # Create a cylindrical block | |
| # Save the geometry as a STEP file | |
| filename = f"generated_die_{die_shape}_{length}x{width}x{thickness}.step" | |
| mapdl.save_as(filename) # Save the design as STEP file | |
| mapdl.exit() # Exit the MAPDL session | |
| # Return success message with the file path | |
| return f"Die design saved successfully as {filename}. You can download the file." | |
| except Exception as e: | |
| return f"Error generating die design: {str(e)}" | |
| # Gradio interface functions for Progressive Die Design | |
| def progressive_die_interface(length, width, thickness, die_shape): | |
| return generate_die_ANSYS(length, width, thickness, die_shape) | |
| # Create the Gradio Interface | |
| with gr.Blocks() as app: | |
| gr.Markdown("## Progressive Die Design Tool with ANSYS") | |
| gr.Markdown("Select the dimensions and shape for the progressive die below:") | |
| # Tab for Progressive Die Design | |
| with gr.Tab("Progressive Die Design"): | |
| gr.Markdown("### Enter Dimensions and Shape for Progressive Die") | |
| length = gr.Number(label="Length (mm)", value=100) | |
| width = gr.Number(label="Width (mm)", value=50) | |
| thickness = gr.Number(label="Thickness (mm)", value=10) | |
| die_shape = gr.Dropdown(label="Die Shape", choices=["Rectangle", "Circle"], value="Rectangle") | |
| die_output = gr.Textbox(label="Output", interactive=False) | |
| die_button = gr.Button("Generate Die") | |
| die_button.click(progressive_die_interface, inputs=[length, width, thickness, die_shape], outputs=die_output) | |
| # Launch the app | |
| app.launch() | |