cyclecad 1.3.1 โ 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DRAWING_MODULE_INTEGRATION.md +633 -0
- package/README.md +138 -317
- package/app/index.html +2 -0
- package/app/js/brep-kernel.js +853 -0
- package/app/js/kernel.js +684 -0
- package/app/js/modules/assembly-module.js +582 -0
- package/app/js/modules/brep-module.js +583 -0
- package/app/js/modules/drawing-module.js +883 -0
- package/app/js/modules/operations-module.js +660 -0
- package/app/js/modules/simulation-module.js +834 -0
- package/app/js/modules/sketch-module.js +720 -0
- package/app/js/modules/step-module.js +510 -0
- package/app/js/modules/viewport-module.js +530 -0
- package/fusion360-gap-analysis.html +636 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,377 +1,198 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<h1>๐ง cycleCAD</h1>
|
|
3
|
-
<p><strong>The open-source browser CAD that understands English.</strong></p>
|
|
4
|
-
<p>Type "<code>motor mount plate with 4 bolt holes</code>" โ get a real 3D solid in 5 seconds. No install. No login. Free forever.</p>
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
[](https://github.com/vvlars-cmd/cyclecad)
|
|
8
|
-
[](https://opensource.org/licenses/MIT)
|
|
9
|
-
[](https://github.com/vvlars-cmd/cyclecad)
|
|
10
|
-
[](https://discord.gg/cyclecad)
|
|
3
|
+
# cycleCAD
|
|
11
4
|
|
|
12
|
-
|
|
13
|
-
[DEMO GIF PLACEHOLDER: User types "50mm cylinder with 20mm hole and 5mm fillet" โ 3D part appears with real geometry]
|
|
5
|
+
**The open-source browser CAD that understands English.**
|
|
14
6
|
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
Type `motor mount plate with 4 bolt holes` and get a real 3D solid in 5 seconds.
|
|
8
|
+
No install. No login. Free forever.
|
|
17
9
|
|
|
18
|
-
|
|
10
|
+
<a href="https://www.npmjs.com/package/cyclecad"><img src="https://img.shields.io/npm/v/cyclecad?style=for-the-badge&logo=npm&logoColor=white&color=CB3837" alt="npm"></a>
|
|
11
|
+
<a href="https://github.com/vvlars-cmd/cyclecad/stargazers"><img src="https://img.shields.io/github/stars/vvlars-cmd/cyclecad?style=for-the-badge&logo=github&color=181717" alt="Stars"></a>
|
|
12
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue?style=for-the-badge" alt="MIT"></a>
|
|
13
|
+
<a href="https://cyclecad.com/app/"><img src="https://img.shields.io/badge/Try_it_live-00C853?style=for-the-badge&logo=googlechrome&logoColor=white" alt="Try it"></a>
|
|
19
14
|
|
|
20
|
-
|
|
15
|
+
<br>
|
|
21
16
|
|
|
22
|
-
|
|
17
|
+
<a href="https://cyclecad.com/app/">
|
|
18
|
+
<img src="https://raw.githubusercontent.com/vvlars-cmd/cyclecad/main/screenshot.png" alt="cycleCAD โ Browser-based 3D CAD with AI Copilot" width="720">
|
|
19
|
+
</a>
|
|
23
20
|
|
|
24
|
-
|
|
25
|
-
|---------|:---:|:---:|:---:|:---:|
|
|
26
|
-
| **Browser-native** | โ
Zero install | โ Cloud | โ Desktop | โ Desktop |
|
|
27
|
-
| **Free forever** | โ
MIT OSS | โ $1,500/yr | โ $545/yr | โ
|
|
|
28
|
-
| **Text-to-CAD** | โ
"Draw a gear" | โ | โ | โ |
|
|
29
|
-
| **AI-powered** | โ
Built-in | โ | โ | โ |
|
|
30
|
-
| **Real-time multiplayer** | โ
WebRTC P2P | โ
(paid) | โ | โ |
|
|
31
|
-
| **Open Inventor files** | โ
Native .ipt/.iam | โ | โ
| โ |
|
|
32
|
-
| **B-rep kernel** | โ
OpenCascade.js | โ
| โ
| โ
|
|
|
33
|
-
| **STEP import/export** | โ
| โ
| โ
| โ
|
|
|
34
|
-
| **Mobile viewer** | โ
Touch-native | โ | โ | โ |
|
|
35
|
-
| **Open source** | โ
MIT | โ | โ | โ
|
|
|
21
|
+
<br>
|
|
36
22
|
|
|
37
|
-
|
|
23
|
+
<a href="https://cyclecad.com/app/"><b>Open App</b></a> • <a href="https://github.com/vvlars-cmd/cyclecad">Source Code</a> • <a href="https://cyclecad.com/docs">Docs</a>
|
|
38
24
|
|
|
39
|
-
|
|
25
|
+
</div>
|
|
40
26
|
|
|
41
|
-
|
|
42
|
-
Just open **[cyclecad.com/app/](https://cyclecad.com/app/)** in your browser. Works offline. No account needed.
|
|
27
|
+
<br>
|
|
43
28
|
|
|
44
|
-
|
|
29
|
+
## Why cycleCAD
|
|
45
30
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
31
|
+
| | **cycleCAD** | OnShape | Fusion 360 | FreeCAD |
|
|
32
|
+
|:--|:--|:--|:--|:--|
|
|
33
|
+
| **Runs in browser** | Yes, zero install | Cloud-dependent | Desktop app | Desktop app |
|
|
34
|
+
| **Cost** | Free, MIT licensed | $1,500/yr | $545/yr | Free |
|
|
35
|
+
| **Text-to-CAD** | Built-in AI copilot | โ | โ | โ |
|
|
36
|
+
| **Multiplayer** | WebRTC peer-to-peer | Paid add-on | โ | โ |
|
|
37
|
+
| **Inventor files** | Opens .ipt and .iam natively | โ | Yes | โ |
|
|
38
|
+
| **B-rep kernel** | OpenCascade.js WASM | Parasolid | Parasolid | OpenCascade |
|
|
39
|
+
| **Mobile** | Touch-optimized viewer | โ | โ | โ |
|
|
40
|
+
| **Open source** | MIT | Proprietary | Proprietary | LGPL |
|
|
49
41
|
|
|
50
|
-
|
|
51
|
-
cycleCAD: [Creates 4 cylindrical holes positioned at corners]
|
|
42
|
+
<br>
|
|
52
43
|
|
|
53
|
-
|
|
54
|
-
cycleCAD: [Rounds all sharp edges. Part is manufacturable in 5 seconds]
|
|
55
|
-
```
|
|
44
|
+
## Get Started in 30 Seconds
|
|
56
45
|
|
|
57
|
-
|
|
46
|
+
**Option 1 โ Browser** (no install):
|
|
47
|
+
Open [**cyclecad.com/app**](https://cyclecad.com/app/) and start designing.
|
|
58
48
|
|
|
49
|
+
**Option 2 โ Local**:
|
|
59
50
|
```bash
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
cyclecad # Starts local dev server on :3000
|
|
51
|
+
npm install -g cyclecad && cyclecad
|
|
52
|
+
```
|
|
63
53
|
|
|
64
|
-
|
|
54
|
+
**Option 3 โ Clone**:
|
|
55
|
+
```bash
|
|
65
56
|
git clone https://github.com/vvlars-cmd/cyclecad.git
|
|
66
|
-
cd cyclecad
|
|
67
|
-
npm install
|
|
68
|
-
npm run dev
|
|
57
|
+
cd cyclecad && npm run dev
|
|
69
58
|
```
|
|
70
59
|
|
|
71
|
-
|
|
60
|
+
<br>
|
|
72
61
|
|
|
73
|
-
|
|
62
|
+
## Text-to-CAD
|
|
74
63
|
|
|
75
|
-
|
|
76
|
-
// In the app UI: File โ Import
|
|
77
|
-
// Drop your .ipt, .iam, .step, or .stl file
|
|
78
|
-
// cycleCAD instantly renders it with all features editable
|
|
79
|
-
```
|
|
64
|
+
Talk to cycleCAD like you'd talk to a colleague.
|
|
80
65
|
|
|
81
|
-
|
|
66
|
+
```
|
|
67
|
+
> create a motor mount plate 100mm wide, 80mm tall
|
|
68
|
+
[solid rectangular prism appears]
|
|
82
69
|
|
|
83
|
-
|
|
70
|
+
> add 4 bolt holes in corners, 10mm diameter
|
|
71
|
+
[holes cut through the plate at each corner]
|
|
84
72
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
"L-bracket with 50mm vertical and 75mm horizontal arms, 10mm thickness"
|
|
88
|
-
โ Real 3D solid with proper corners
|
|
73
|
+
> fillet all edges 2mm
|
|
74
|
+
[edges rounded โ part is ready to manufacture]
|
|
89
75
|
```
|
|
90
76
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
77
|
+
The AI understands shapes, features, patterns, materials, booleans, and constraints. It works offline too โ no API key required for basic geometry.
|
|
78
|
+
|
|
79
|
+
<br>
|
|
80
|
+
|
|
81
|
+
## Architecture
|
|
82
|
+
|
|
83
|
+
```mermaid
|
|
84
|
+
graph TB
|
|
85
|
+
subgraph Browser["cycleCAD โ Browser Runtime"]
|
|
86
|
+
direction TB
|
|
87
|
+
UI["UI Layer<br><i>Toolbar ยท Tree ยท Properties ยท Chat</i>"]
|
|
88
|
+
|
|
89
|
+
subgraph Engine["CAD Engine"]
|
|
90
|
+
SK["Sketch Engine<br><small>2D constraints solver</small>"]
|
|
91
|
+
OP["Operations<br><small>extrude ยท revolve ยท boolean</small>"]
|
|
92
|
+
BR["B-Rep Kernel<br><small>OpenCascade.js WASM</small>"]
|
|
93
|
+
RN["Renderer<br><small>Three.js r170 ยท WebGL</small>"]
|
|
94
|
+
SK --> OP --> BR --> RN
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
subgraph Services["Services"]
|
|
98
|
+
direction LR
|
|
99
|
+
AI["AI Copilot<br><small>Gemini ยท Groq ยท Offline NLP</small>"]
|
|
100
|
+
CO["Multiplayer<br><small>WebRTC ยท CRDT</small>"]
|
|
101
|
+
MK["Marketplace<br><small>Parts ยท Templates</small>"]
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
subgraph IO["Integration"]
|
|
105
|
+
direction LR
|
|
106
|
+
IM["Import<br><small>STEP ยท Inventor ยท STL</small>"]
|
|
107
|
+
EX["Export<br><small>STL ยท OBJ ยท glTF ยท DXF</small>"]
|
|
108
|
+
ST["Storage<br><small>IndexedDB ยท GitHub</small>"]
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
UI --> Engine
|
|
112
|
+
UI --> Services
|
|
113
|
+
Engine --> IO
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
style Browser fill:#0d1117,stroke:#30363d,color:#c9d1d9
|
|
117
|
+
style Engine fill:#161b22,stroke:#58a6ff,color:#c9d1d9
|
|
118
|
+
style Services fill:#161b22,stroke:#3fb950,color:#c9d1d9
|
|
119
|
+
style IO fill:#161b22,stroke:#d29922,color:#c9d1d9
|
|
120
|
+
style UI fill:#1f6feb,stroke:#58a6ff,color:#fff
|
|
121
|
+
style SK fill:#21262d,stroke:#58a6ff,color:#c9d1d9
|
|
122
|
+
style OP fill:#21262d,stroke:#58a6ff,color:#c9d1d9
|
|
123
|
+
style BR fill:#21262d,stroke:#58a6ff,color:#c9d1d9
|
|
124
|
+
style RN fill:#21262d,stroke:#58a6ff,color:#c9d1d9
|
|
125
|
+
style AI fill:#21262d,stroke:#3fb950,color:#c9d1d9
|
|
126
|
+
style CO fill:#21262d,stroke:#3fb950,color:#c9d1d9
|
|
127
|
+
style MK fill:#21262d,stroke:#3fb950,color:#c9d1d9
|
|
128
|
+
style IM fill:#21262d,stroke:#d29922,color:#c9d1d9
|
|
129
|
+
style EX fill:#21262d,stroke:#d29922,color:#c9d1d9
|
|
130
|
+
style ST fill:#21262d,stroke:#d29922,color:#c9d1d9
|
|
95
131
|
```
|
|
96
132
|
|
|
97
|
-
|
|
98
|
-
```
|
|
99
|
-
"hexagonal shaft, 20mm across flats, 150mm long, with M10 thread on end"
|
|
100
|
-
โ CAM-ready geometry ready to machine
|
|
101
|
-
```
|
|
133
|
+
**Zero dependencies.** Core app is ~22KB gzipped. Three.js, OpenCascade WASM, and AI models load on demand from CDN.
|
|
102
134
|
|
|
103
|
-
|
|
104
|
-
- **Geometry**: cylinders, boxes, spheres, wedges, toruses, helixes, springs
|
|
105
|
-
- **Features**: holes, fillets, chamfers, pockets, bosses, ribs
|
|
106
|
-
- **Patterns**: linear, circular, mirror
|
|
107
|
-
- **Materials**: steel, aluminum, plastic, titanium, brass
|
|
108
|
-
- **Operations**: boolean (union/cut/intersect), draft angles, shell thickness
|
|
109
|
-
- **Constraints**: parallelism, perpendicularity, concentricity, symmetry
|
|
135
|
+
<br>
|
|
110
136
|
|
|
111
|
-
|
|
137
|
+
## Features
|
|
112
138
|
|
|
113
|
-
|
|
139
|
+
**Modeling** โ Parametric sketcher with 12 constraint types, extrude, revolve, sweep, loft, shell, fillet, chamfer, boolean union/cut/intersect, linear/circular/mirror patterns, threads, draft angles.
|
|
114
140
|
|
|
115
|
-
|
|
116
|
-
Get DIN/ISO fasteners, bearings, motors, and commercial off-the-shelf (COTS) parts instantly:
|
|
141
|
+
**Analysis** โ Distance and angle measurement, mass properties, DFM checks, stress heatmap, clearance detection, assembly validation with scoring.
|
|
117
142
|
|
|
118
|
-
|
|
119
|
-
cyclecad install bearing-6205
|
|
120
|
-
# โ NSK 6205 deep groove ball bearing (STEP file downloads, adds to library)
|
|
143
|
+
**AI** โ Text-to-CAD with natural language, part identification from geometry, manufacturing cost estimation, auto-generated rebuild guides, maintenance scheduling, smart BOM with McMaster-Carr links.
|
|
121
144
|
|
|
122
|
-
|
|
123
|
-
# โ DIN 912 M5 ร 25mm hex socket cap screw with proper geometry
|
|
145
|
+
**Export** โ STL (ASCII and binary), OBJ, glTF 2.0, STEP, DXF, PDF engineering drawings. Direct slicer integration for 3D printing. G-code preview for CNC.
|
|
124
146
|
|
|
125
|
-
|
|
126
|
-
# โ NEMA 23 stepper motor (full 3D model, cutsheet, mounting pattern)
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### Community Marketplace
|
|
130
|
-
- **Purchase designs** โ Browse 10,000+ mechanical parts and assemblies
|
|
131
|
-
- **Sell your designs** โ Publish a part, earn royalties on each download
|
|
132
|
-
- **Parameterized models** โ Upload a template, users customize dimensions
|
|
133
|
-
- **CAM-ready exports** โ Designs come with DXF/DWG for manufacturing
|
|
147
|
+
**Platform** โ Works in Chrome, Safari, Firefox, Edge. Offline via IndexedDB. Mobile touch viewer. Git-style version history. Embeddable 3D viewer widget. 50+ keyboard shortcuts.
|
|
134
148
|
|
|
135
|
-
|
|
136
|
-
- Bearing housings (20+ variants, searchable by bore size)
|
|
137
|
-
- Motor mounts (parameterized for different frame sizes)
|
|
138
|
-
- Cable routing clips (customize bend radius + tab thickness)
|
|
139
|
-
- Enclosure brackets (pick material, cost is estimated per variant)
|
|
149
|
+
<br>
|
|
140
150
|
|
|
141
|
-
|
|
151
|
+
## Multiplayer
|
|
142
152
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
Work on the same model **with teammates simultaneously**. No server signup needed.
|
|
153
|
+
Create a room, share the code, design together in real-time.
|
|
146
154
|
|
|
147
155
|
```javascript
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
// Teammates join
|
|
153
|
-
await cyclecad.joinRoom("ABC123");
|
|
154
|
-
|
|
155
|
-
// Now when Host creates a hole, Teammate sees it instantly
|
|
156
|
-
// See each other's 3D cursors in real-time
|
|
157
|
-
// Chat in-viewport while designing
|
|
156
|
+
const room = await cyclecad.createRoom(); // "ABC123"
|
|
157
|
+
await cyclecad.joinRoom("ABC123"); // teammate joins
|
|
158
|
+
// See each other's cursors, watch live edits, chat in-viewport
|
|
158
159
|
```
|
|
159
160
|
|
|
160
|
-
|
|
161
|
-
- **Peer-to-peer**: Uses WebRTC for low-latency direct connections (no server overhead)
|
|
162
|
-
- **Conflict-free**: Last-write-wins CRDT ensures edits never conflict
|
|
163
|
-
- **Browser-native**: Works in tabs, doesn't require anything special
|
|
164
|
-
|
|
165
|
-
**Perfect for:**
|
|
166
|
-
- Remote design reviews (see collaborator's cursor, watch live edits)
|
|
167
|
-
- Distributed teams (8am in Berlin, 4pm in Tokyo, same part, live sync)
|
|
168
|
-
- Teaching (instructor + students all editing one model)
|
|
161
|
+
Peer-to-peer via WebRTC. No server required. Conflict-free CRDT sync.
|
|
169
162
|
|
|
170
|
-
|
|
163
|
+
<br>
|
|
171
164
|
|
|
172
|
-
##
|
|
173
|
-
|
|
174
|
-
### **Core CAD Modeling**
|
|
175
|
-
- โ
**Sketcher** โ 2D constraints (coincident, parallel, perpendicular, tangent, distance, angle)
|
|
176
|
-
- โ
**Extrude/Revolve** โ Parametric profile-based solids
|
|
177
|
-
- โ
**Boolean ops** โ Union, cut, intersect with real CSG
|
|
178
|
-
- โ
**Fillet/Chamfer** โ Edge rounding and bevels
|
|
179
|
-
- โ
**Sweep/Loft** โ Profile along path, between profiles
|
|
180
|
-
- โ
**Shell** โ Hollow out solids with wall thickness
|
|
181
|
-
- โ
**Patterns** โ Linear, circular, mirror arrays
|
|
182
|
-
- โ
**Draft** โ Taper for molding/casting
|
|
183
|
-
- โ
**Threads** โ ISO/UNC/Metric with proper helix
|
|
184
|
-
|
|
185
|
-
### **Analysis & Validation**
|
|
186
|
-
- โ
**Measurement** โ Distance, angle, radius, perimeter, area
|
|
187
|
-
- โ
**Mass properties** โ Weight, volume, center of gravity
|
|
188
|
-
- โ
**DFM analysis** โ Design for manufacturability warnings
|
|
189
|
-
- โ
**Stress preview** โ Heatmap of stress concentration
|
|
190
|
-
- โ
**Clearance check** โ Collision detection between parts
|
|
191
|
-
- โ
**Assembly validator** โ Check for hidden parts, overconstrained joints
|
|
192
|
-
|
|
193
|
-
### **AI & Automation**
|
|
194
|
-
- โ
**Text-to-CAD** โ Natural language โ 3D geometry
|
|
195
|
-
- โ
**Part identification** โ Upload photo, AI identifies what you built
|
|
196
|
-
- โ
**Cost estimation** โ Calculates manufacturing cost (CNC, 3D print, injection)
|
|
197
|
-
- โ
**Rebuild guides** โ AI writes step-by-step instructions to recreate any part
|
|
198
|
-
- โ
**Maintenance schedule** โ Predicts part wear, suggests replacements
|
|
199
|
-
- โ
**Smart BOM** โ Bill of materials with vendor links, lead times, pricing
|
|
200
|
-
|
|
201
|
-
### **Integration & Output**
|
|
202
|
-
- โ
**Export** โ STL (ASCII/binary), OBJ, glTF 2.0, STEP, DXF, DWG, PDF
|
|
203
|
-
- โ
**3D Print** โ Automatic STL export + slicer integration (Prusaslicer, Cura)
|
|
204
|
-
- โ
**CAM** โ DXF export for CNC + G-code preview
|
|
205
|
-
- โ
**Assembly drawing** โ Auto-generates engineering drawings (ISO/ASME)
|
|
206
|
-
- โ
**BOM export** โ CSV, HTML, with pricing from McMaster-Carr
|
|
207
|
-
- โ
**Datasheets** โ PDF cutsheets for all parts
|
|
208
|
-
|
|
209
|
-
### **Platform**
|
|
210
|
-
- โ
**Browser-native** โ No install, runs anywhere (Chrome, Safari, Firefox, Edge)
|
|
211
|
-
- โ
**Offline mode** โ Design works without internet (IndexedDB storage)
|
|
212
|
-
- โ
**Mobile viewer** โ View and annotate on iPad / Android tablets
|
|
213
|
-
- โ
**Version control** โ Git-style history with visual diffs
|
|
214
|
-
- โ
**Share/embed** โ Generate shareable links, embed 3D viewer in docs
|
|
215
|
-
- โ
**Keyboard-first** โ 50+ shortcuts, full REPL for power users
|
|
216
|
-
|
|
217
|
-
---
|
|
165
|
+
## Parts Library
|
|
218
166
|
|
|
219
|
-
|
|
167
|
+
35+ built-in parametric parts (bearings, fasteners, motors, structural). Community marketplace for publishing, selling, and remixing designs with 70โ90% creator royalties.
|
|
220
168
|
|
|
169
|
+
```bash
|
|
170
|
+
cyclecad install bearing-6205
|
|
171
|
+
cyclecad install fastener-M5-hex-socket
|
|
172
|
+
cyclecad install motor-nema23
|
|
221
173
|
```
|
|
222
|
-
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
223
|
-
โ cycleCAD Runtime (Browser) โ
|
|
224
|
-
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
225
|
-
โ โ
|
|
226
|
-
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
227
|
-
โ โ Sketch Engine (2D constraints solver) โ โ
|
|
228
|
-
โ โ โ โ โ
|
|
229
|
-
โ โ CAD Operations (extrude, revolve, boolean) โ โ
|
|
230
|
-
โ โ โ โ โ
|
|
231
|
-
โ โ B-Rep Kernel (OpenCascade.js WASM) โ โ
|
|
232
|
-
โ โ โ โ โ
|
|
233
|
-
โ โ Three.js Renderer (WebGL viewport) โ โ
|
|
234
|
-
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
235
|
-
โ โ
|
|
236
|
-
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
|
|
237
|
-
โ โ AI Copilot โ โ Real-time โ โ Parts โ โ
|
|
238
|
-
โ โ (Gemini + โ โ Collab โ โ Marketplaceโ โ
|
|
239
|
-
โ โ Groq) โ โ (WebRTC CRDT)โ โ โ โ
|
|
240
|
-
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
|
|
241
|
-
โ โ
|
|
242
|
-
โ Storage: IndexedDB (offline), GitHub (version ctrl) โ
|
|
243
|
-
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
**Tech Stack:**
|
|
247
|
-
- **Three.js r170** โ WebGL rendering
|
|
248
|
-
- **OpenCascade.js** โ WASM-based B-Rep kernel for real solid modeling
|
|
249
|
-
- **Constraint solver** โ Iterative relaxation (up to 100 constraints/sketch)
|
|
250
|
-
- **Gemini Flash + Groq Llama** โ AI part identification and copilot
|
|
251
|
-
- **WebRTC DataChannel** โ Peer-to-peer multiplayer sync
|
|
252
|
-
- **ES Modules** โ Zero-dependency, runs on CDN with import maps
|
|
253
|
-
|
|
254
|
-
**Zero dependencies** โ Core app is ~22KB gzipped. Loads Three.js, OpenCascade, AI models on demand.
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## ๐ฏ Use Cases
|
|
259
174
|
|
|
260
|
-
|
|
261
|
-
"I need to iterate on this pump housing. Give me real-time feedback as I sketch changes."
|
|
262
|
-
โ Use text-to-CAD to prototype in minutes. AI validates manufacturability. Export to CAM.
|
|
175
|
+
<br>
|
|
263
176
|
|
|
264
|
-
|
|
265
|
-
"I want to design a custom enclosure for my Arduino project."
|
|
266
|
-
โ Sketch dimensions in text. AI generates the part. 3D print it.
|
|
177
|
+
## Contributing
|
|
267
178
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
### **Remote Teams**
|
|
273
|
-
"Design review: I'm in Berlin, designer is in Tokyo. We need to collaborate live."
|
|
274
|
-
โ Create a room code. Both open the same part. See each other's cursors. Chat inline.
|
|
275
|
-
|
|
276
|
-
### **Open Source Hardware**
|
|
277
|
-
"We want to share our mechanical designs with the community."
|
|
278
|
-
โ Upload to cycleCAD marketplace. Community can remix, cost-optimize, manufacture variants.
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
## ๐ Performance
|
|
283
|
-
|
|
284
|
-
- **Viewport** โ 60 FPS @ 4K on modern hardware
|
|
285
|
-
- **STEP import** โ 100MB file in <10s (server conversion available)
|
|
286
|
-
- **Text-to-CAD** โ 2-5s generation + validation
|
|
287
|
-
- **Real-time collab** โ <50ms sync latency (WebRTC P2P)
|
|
288
|
-
- **Mobile** โ Full-featured on iPad/Android, touch controls
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## ๐ค Contributing
|
|
293
|
-
|
|
294
|
-
**Want to add a feature?** Start here:
|
|
295
|
-
|
|
296
|
-
1. Fork the repo
|
|
297
|
-
2. Pick an issue labeled `good-first-issue` or `help-wanted`
|
|
298
|
-
3. Create a feature branch: `git checkout -b feat/awesome-thing`
|
|
299
|
-
4. Make your changes (see [CONTRIBUTING.md](./CONTRIBUTING.md) for code style)
|
|
300
|
-
5. Test in the browser: `npm run dev`
|
|
301
|
-
6. Open a PR with before/after screenshots
|
|
302
|
-
|
|
303
|
-
**Areas we need help:**
|
|
304
|
-
- ๐จ UI/UX improvements (design language modernization)
|
|
305
|
-
- ๐ค AI features (improve text-to-CAD, add design review)
|
|
306
|
-
- ๐ฑ Mobile (improve touch interactions, add mobile sketcher)
|
|
307
|
-
- ๐งช Testing (add more unit + integration tests)
|
|
308
|
-
- ๐ Documentation (examples, tutorials, API docs)
|
|
309
|
-
- ๐ Translations (add more languages, improve existing ones)
|
|
310
|
-
|
|
311
|
-
---
|
|
312
|
-
|
|
313
|
-
## ๐ฌ Community
|
|
314
|
-
|
|
315
|
-
- **Discord** โ [Join 5,000+ makers](https://discord.gg/cyclecad)
|
|
316
|
-
- **Discussions** โ [Ask questions, share designs](https://github.com/vvlars-cmd/cyclecad/discussions)
|
|
317
|
-
- **Issues** โ [Report bugs, suggest features](https://github.com/vvlars-cmd/cyclecad/issues)
|
|
318
|
-
- **Twitter** โ [@cyclecad](https://twitter.com/cyclecad)
|
|
319
|
-
|
|
320
|
-
---
|
|
321
|
-
|
|
322
|
-
## ๐ฐ Support
|
|
323
|
-
|
|
324
|
-
cycleCAD is free and always will be (MIT open source).
|
|
325
|
-
|
|
326
|
-
But if you want to support continued development:
|
|
327
|
-
- โญ **Star the repo** โ Helps others discover the project
|
|
328
|
-
- ๐ **Buy from marketplace** โ 70% of revenue goes to creators
|
|
329
|
-
- ๐ **Sponsor on GitHub** โ Help fund full-time development
|
|
330
|
-
- ๐ผ **Commercial license** โ For companies that need it
|
|
331
|
-
|
|
332
|
-
---
|
|
333
|
-
|
|
334
|
-
## ๐ Documentation
|
|
335
|
-
|
|
336
|
-
- **[Getting Started](https://cyclecad.com/docs/getting-started)** โ 5-minute intro
|
|
337
|
-
- **[Modeling Guide](https://cyclecad.com/docs/modeling)** โ Learn sketches, extrude, operations
|
|
338
|
-
- **[AI Copilot](https://cyclecad.com/docs/ai)** โ Text-to-CAD, part ID, rebuild guides
|
|
339
|
-
- **[Collaboration](https://cyclecad.com/docs/collab)** โ Create rooms, real-time sync, conflict resolution
|
|
340
|
-
- **[API Reference](https://cyclecad.com/docs/api)** โ Use cycleCAD as a library
|
|
341
|
-
- **[Marketplace Guide](https://cyclecad.com/docs/marketplace)** โ Publish and sell designs
|
|
342
|
-
|
|
343
|
-
---
|
|
344
|
-
|
|
345
|
-
## ๐ Recognition
|
|
346
|
-
|
|
347
|
-
- ๐๏ธ **Product Hunt** โ #3 on launch day (Jan 2026)
|
|
348
|
-
- โญ **GitHub** โ 15K stars (rapidly growing)
|
|
349
|
-
- ๐ฐ **Press** โ Featured in "Best Open Source CAD" by Hacker News
|
|
350
|
-
- ๐ค **Built for cycleWASH** โ Real-world production machine with 400+ parts
|
|
351
|
-
|
|
352
|
-
---
|
|
353
|
-
|
|
354
|
-
## ๐ License
|
|
355
|
-
|
|
356
|
-
MIT ยฉ [Sachin Kumar](https://github.com/vvlars-cmd)
|
|
357
|
-
|
|
358
|
-
You are free to use, modify, and distribute cycleCAD for any purpose (commercial or personal). See [LICENSE](./LICENSE) for details.
|
|
179
|
+
```bash
|
|
180
|
+
git clone https://github.com/vvlars-cmd/cyclecad.git
|
|
181
|
+
cd cyclecad && npm run dev # opens on localhost:3000
|
|
182
|
+
```
|
|
359
183
|
|
|
360
|
-
|
|
184
|
+
Pick an issue labeled `good-first-issue`, make your changes, open a PR with before/after screenshots. We especially need help with UI polish, AI improvements, mobile interactions, testing, and translations.
|
|
361
185
|
|
|
362
|
-
|
|
186
|
+
<br>
|
|
363
187
|
|
|
364
|
-
|
|
365
|
-
2. Try the 30-second tutorial ("New" โ "Tutorial")
|
|
366
|
-
3. Type: `"create a 50mm cube with a 20mm hole"`
|
|
367
|
-
4. Watch the AI build it in real-time
|
|
368
|
-
5. Join our [Discord community](https://discord.gg/cyclecad)
|
|
188
|
+
## License
|
|
369
189
|
|
|
370
|
-
|
|
190
|
+
MIT ยฉ [Sachin Kumar](https://github.com/vvlars-cmd) โ free for any use, commercial or personal.
|
|
371
191
|
|
|
372
192
|
---
|
|
373
193
|
|
|
374
|
-
<
|
|
375
|
-
<
|
|
376
|
-
<
|
|
377
|
-
</
|
|
194
|
+
<div align="center">
|
|
195
|
+
<a href="https://cyclecad.com/app/"><b>Open cycleCAD</b></a>
|
|
196
|
+
<br><br>
|
|
197
|
+
<sub>Built for <a href="https://cyclewash.com">cycleWASH</a> โ a real production machine with 400+ parts.</sub>
|
|
198
|
+
</div>
|
package/app/index.html
CHANGED
|
@@ -1414,6 +1414,8 @@
|
|
|
1414
1414
|
<script src="./js/misumi-catalog.js"></script>
|
|
1415
1415
|
<script src="./js/cad-vr.js"></script>
|
|
1416
1416
|
<script src="./js/generative-design.js"></script>
|
|
1417
|
+
<!-- Drawing Module (2D Engineering Drawings) โ LEGO block architecture -->
|
|
1418
|
+
<script type="module" src="./js/modules/drawing-module.js?v=1"></script>
|
|
1417
1419
|
</head>
|
|
1418
1420
|
<body>
|
|
1419
1421
|
<div id="app">
|