karthikmn commited on
Commit
87373a4
·
verified ·
1 Parent(s): b7a90b6

Update modules/cad_generation.py

Browse files
Files changed (1) hide show
  1. modules/cad_generation.py +41 -6
modules/cad_generation.py CHANGED
@@ -1,10 +1,45 @@
1
- from solid import cube, scad_render
 
2
 
3
  def create_cad_model(size):
4
  try:
5
- model = cube(size)
6
- with open("output_model.scad", "w") as f:
7
- f.write(scad_render(model))
8
- return "CAD model created successfully: output_model.scad"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  except Exception as e:
10
- return f"Error in CAD generation: {str(e)}"
 
1
+ from stl import mesh
2
+ import numpy as np
3
 
4
  def create_cad_model(size):
5
  try:
6
+ # Define 8 vertices of a cube
7
+ vertices = np.array([
8
+ [0, 0, 0],
9
+ [size, 0, 0],
10
+ [size, size, 0],
11
+ [0, size, 0],
12
+ [0, 0, size],
13
+ [size, 0, size],
14
+ [size, size, size],
15
+ [0, size, size],
16
+ ])
17
+
18
+ # Define 12 triangles composing the cube
19
+ faces = np.array([
20
+ [0, 3, 1],
21
+ [1, 3, 2],
22
+ [0, 4, 7],
23
+ [0, 7, 3],
24
+ [4, 5, 6],
25
+ [4, 6, 7],
26
+ [5, 1, 2],
27
+ [5, 2, 6],
28
+ [2, 3, 6],
29
+ [3, 7, 6],
30
+ [0, 1, 5],
31
+ [0, 5, 4],
32
+ ])
33
+
34
+ # Create the mesh
35
+ cube_mesh = mesh.Mesh(np.zeros(faces.shape[0], dtype=mesh.Mesh.dtype))
36
+ for i, face in enumerate(faces):
37
+ for j in range(3):
38
+ cube_mesh.vectors[i][j] = vertices[face[j], :]
39
+
40
+ # Save to file
41
+ stl_file = "output_cube.stl"
42
+ cube_mesh.save(stl_file)
43
+ return f"STL file created successfully: {stl_file}"
44
  except Exception as e:
45
+ return f"Error during STL generation: {str(e)}"