mughal-88 commited on
Commit
efae158
·
verified ·
1 Parent(s): dc3de2e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -10
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 requests
 
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 get_template_list():
27
- dataset_url = "https://huggingface.co/datasets/FreedomIntelligence/CADBench"
28
- response = requests.get(f"{dataset_url}/resolve/main/metadata.json")
29
- if response.status_code == 200:
30
- templates = response.json().get("templates", [])
31
  return templates
32
- else:
33
- st.error("Failed to fetch templates.")
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 = get_template_list()
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
- generated_file = generate_cad_from_template(template_name, parameters)
 
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}")