YSMlearnsCode
commited on
Commit
Β·
2f76d85
1
Parent(s):
5381de1
changed readme
Browse files
README.md
CHANGED
@@ -1,78 +1,10 @@
|
|
1 |
-
# CADomatic π οΈ
|
2 |
-
**From prompt to CAD**
|
3 |
-
|
4 |
-
CADomatic is a Python-based tool that generates editable parametric CAD scripts for FreeCAD. Instead of creating static 3D models, CADomatic produces **fully customizable Python scripts** that build CAD geometry β allowing engineers to programmatically define parts, reuse templates, and iterate fast.
|
5 |
-
|
6 |
---
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
- β
Enables **version-controlled**, reusable, parametric CAD pipelines
|
16 |
-
- β
Eliminates the need for manual modeling in the FreeCAD GUI
|
17 |
-
|
18 |
-
---
|
19 |
-
## π‘ Why Use CADomatic?
|
20 |
-
|
21 |
-
- π Automate repetitive CAD tasks
|
22 |
-
- π§± Build part libraries as **code**
|
23 |
-
- π§ͺ Integrate CAD into testing or CI workflows
|
24 |
-
- π§ Customize geometry by changing script parameters
|
25 |
-
- π Keep models lightweight and editable at the code level
|
26 |
-
|
27 |
-
---
|
28 |
-
## π¬ Example Prompts
|
29 |
-
|
30 |
-
Here are some example natural language prompts you can use to generate CAD scripts with CADomatic:
|
31 |
-
|
32 |
-
- "Build a flange with a 100mm outer diameter, 10mm thickness, and 6 bolt holes evenly spaced."
|
33 |
-
- "Make a cylindrical spacer, 20mm diameter and 30mm height, with a 5mm through hole."
|
34 |
-
- "Produce a washer with an outer diameter of 25mm and an inner diameter of 10mm."
|
35 |
-
- "Design a toy car with a rectangular box as the body and 4 circular wheels attached to the sides of the box."
|
36 |
-
|
37 |
-
These prompts will be converted into editable Python scripts that you can modify and reuse.
|
38 |
-
|
39 |
-
|
40 |
-
---
|
41 |
-
β οΈ **This is the first version** of CADomatic β a flash of what's possible.
|
42 |
-
Future versions under development will include:
|
43 |
-
- Improved **LLM-driven script generation**
|
44 |
-
- A **dedicated user interface** for part selection and parameter tuning
|
45 |
-
- More robust **template and geometry libraries**
|
46 |
-
---
|
47 |
-
## π How to Use CADomatic
|
48 |
-
|
49 |
-
### β
Prerequisites
|
50 |
-
- Python 3.11+
|
51 |
-
- [FreeCAD](https://www.freecad.org/downloads.php) (must be installed and added to PATH)
|
52 |
-
- [uv](https://github.com/astral-sh/uv) (install via `pip install uv`)
|
53 |
-
|
54 |
-
### βοΈ Setup
|
55 |
-
```bash
|
56 |
-
git clone https://github.com/yas1nsyed/CADomatic.git
|
57 |
-
cd CADomatic
|
58 |
-
|
59 |
-
# Create and activate virtual environment
|
60 |
-
python -m venv .venv
|
61 |
-
.venv\Scripts\activate
|
62 |
-
|
63 |
-
# Install dependencies
|
64 |
-
uv pip install -r requirements.txt
|
65 |
-
```
|
66 |
-
|
67 |
-
- π [Set Up Gemini API Key](https://aistudio.google.com/app/apikey)
|
68 |
-
- Create a .env file in the project root:
|
69 |
-
|
70 |
-
- βΆοΈ Run CADomatic
|
71 |
-
```bash
|
72 |
-
# Run the program
|
73 |
-
uv run main.py
|
74 |
-
```
|
75 |
-
- Enter your prompt (e.g., "Create a 10mm cube with 2mm hole").
|
76 |
-
- FreeCAD will auto-launch with your generated model.
|
77 |
-
|
78 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
title: CADomatic
|
3 |
+
emoji: π οΈ
|
4 |
+
colorFrom: indigo
|
5 |
+
colorTo: blue
|
6 |
+
sdk: gradio
|
7 |
+
sdk_version: "3.39"
|
8 |
+
app_file: app.py
|
9 |
+
pinned: false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
---
|