Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -3,7 +3,8 @@ import streamlit as st
|
|
| 3 |
from groq import Groq
|
| 4 |
from pyvista import read
|
| 5 |
from cadquery import exporters
|
| 6 |
-
import
|
|
|
|
| 7 |
|
| 8 |
# Initialize Groq API client
|
| 9 |
client = Groq(api_key="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")
|
|
@@ -23,14 +24,14 @@ def perform_dfm_analysis(file_path):
|
|
| 23 |
return result
|
| 24 |
|
| 25 |
# Case 2: Template Selection and CAD Generation
|
| 26 |
-
def
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
templates =
|
| 31 |
return templates
|
| 32 |
-
|
| 33 |
-
st.error("
|
| 34 |
return []
|
| 35 |
|
| 36 |
def generate_cad_from_template(template_name, parameters):
|
|
@@ -57,14 +58,17 @@ if case == "Upload File for DFM":
|
|
| 57 |
st.error(f"Error in DFM Analysis: {e}")
|
| 58 |
|
| 59 |
elif case == "Select Predefined Template":
|
| 60 |
-
templates =
|
| 61 |
if templates:
|
| 62 |
template_name = st.selectbox("Choose a Template", templates)
|
| 63 |
parameters = st.text_area("Enter Parameters (JSON format)", placeholder='{"length": 100, "width": 50}')
|
| 64 |
if st.button("Generate CAD"):
|
| 65 |
try:
|
| 66 |
-
|
|
|
|
| 67 |
st.success("CAD Model Generated!")
|
| 68 |
st.download_button("Download CAD File", open(generated_file, "rb"), file_name=generated_file)
|
|
|
|
|
|
|
| 69 |
except Exception as e:
|
| 70 |
st.error(f"Error in CAD Generation: {e}")
|
|
|
|
| 3 |
from groq import Groq
|
| 4 |
from pyvista import read
|
| 5 |
from cadquery import exporters
|
| 6 |
+
from datasets import load_dataset
|
| 7 |
+
import json
|
| 8 |
|
| 9 |
# Initialize Groq API client
|
| 10 |
client = Groq(api_key="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")
|
|
|
|
| 24 |
return result
|
| 25 |
|
| 26 |
# Case 2: Template Selection and CAD Generation
|
| 27 |
+
def get_templates_from_dataset():
|
| 28 |
+
st.write("Loading templates from CADBench dataset...")
|
| 29 |
+
try:
|
| 30 |
+
dataset = load_dataset("FreedomIntelligence/CADBench", split="train")
|
| 31 |
+
templates = [entry["name"] for entry in dataset if "name" in entry]
|
| 32 |
return templates
|
| 33 |
+
except Exception as e:
|
| 34 |
+
st.error(f"Error loading dataset: {e}")
|
| 35 |
return []
|
| 36 |
|
| 37 |
def generate_cad_from_template(template_name, parameters):
|
|
|
|
| 58 |
st.error(f"Error in DFM Analysis: {e}")
|
| 59 |
|
| 60 |
elif case == "Select Predefined Template":
|
| 61 |
+
templates = get_templates_from_dataset()
|
| 62 |
if templates:
|
| 63 |
template_name = st.selectbox("Choose a Template", templates)
|
| 64 |
parameters = st.text_area("Enter Parameters (JSON format)", placeholder='{"length": 100, "width": 50}')
|
| 65 |
if st.button("Generate CAD"):
|
| 66 |
try:
|
| 67 |
+
params = json.loads(parameters) if parameters else {}
|
| 68 |
+
generated_file = generate_cad_from_template(template_name, params)
|
| 69 |
st.success("CAD Model Generated!")
|
| 70 |
st.download_button("Download CAD File", open(generated_file, "rb"), file_name=generated_file)
|
| 71 |
+
except json.JSONDecodeError:
|
| 72 |
+
st.error("Invalid JSON format for parameters.")
|
| 73 |
except Exception as e:
|
| 74 |
st.error(f"Error in CAD Generation: {e}")
|