2525class InputSchema (BaseModel ):
2626 """Input schema for bar geometry design and SDF generation."""
2727
28- differentiable_bar_parameters : Differentiable [
28+ differentiable_parameters : Differentiable [
2929 Array [
30- (None , None ),
30+ (None ,),
3131 Float32 ,
3232 ]
3333 ] = Field (
@@ -40,19 +40,19 @@ class InputSchema(BaseModel):
4040 )
4141 )
4242
43- differentiable_plane_parameters : Differentiable [
44- Array [
45- (None ,),
46- Float32 ,
47- ]
48- ] = Field (
49- description = (
50- "Two cutting plane z point heights which combine with a fixed third point "
51- "centered on the grid at z = grid_height / 2. "
52- "The shape is (2) "
53- "The two points are orthognal at the maximum extemts of the grid (+X and +Y)."
54- )
55- )
43+ # differentiable_plane_parameters: Differentiable[
44+ # Array[
45+ # (None,),
46+ # Float32,
47+ # ]
48+ # ] = Field(
49+ # description=(
50+ # "Two cutting plane z point heights which combine with a fixed third point "
51+ # "centered on the grid at z = grid_height / 2. "
52+ # "The shape is (2) "
53+ # "The two points are orthognal at the maximum extemts of the grid (+X and +Y)."
54+ # )
55+ # )
5656
5757 non_differentiable_parameters : Array [
5858 (None ,),
@@ -65,12 +65,9 @@ class InputSchema(BaseModel):
6565 )
6666 )
6767
68- """static_parameters: list[int] = Field(
69- description=(
70- "List of integers used to construct the geometry. "
71- "The first integer is the number of bars."
72- )
73- )"""
68+ static_parameters : list [int ] = Field (
69+ description = ("List of integers used to construct the geometry. " )
70+ )
7471
7572 string_parameters : list [str ] = Field (
7673 description = (
@@ -104,8 +101,7 @@ class OutputSchema(BaseModel):
104101
105102
106103def build_geometry (
107- differentiable_bar_parameters : np .ndarray ,
108- differentiable_plane_parameters : np .ndarray ,
104+ differentiable_parameters : np .ndarray ,
109105 non_differentiable_parameters : np .ndarray ,
110106 string_parameters : list [str ],
111107) -> list [trimesh .Trimesh ]:
@@ -123,8 +119,7 @@ def build_geometry(
123119 prepped_script_path , output_file = _prep_scscript (
124120 temp_dir ,
125121 spaceclaim_script ,
126- differentiable_bar_parameters ,
127- differentiable_plane_parameters ,
122+ differentiable_parameters ,
128123 non_differentiable_parameters ,
129124 )
130125 run_spaceclaim (spaceclaim_exe , prepped_script_path )
@@ -137,8 +132,7 @@ def build_geometry(
137132def _prep_scscript (
138133 temp_dir : TemporaryDirectory ,
139134 spaceclaim_script : Path ,
140- differentiable_bar_parameters : np .ndarray ,
141- differentiable_plane_parameters : np .ndarray ,
135+ differentiable_parameters : np .ndarray ,
142136 non_differentiable_parameters : np .ndarray ,
143137) -> list [str ]:
144138 """Take tesseract inputs and place into a temp .scscript that will be used to run Spaceclaim.
@@ -155,16 +149,16 @@ def _prep_scscript(
155149 # Define dict used to input params to .scscript
156150 keyvalues = {}
157151 keyvalues ["__output__" ] = output_file
158- keyvalues ["__params__.z2" ] = str (differentiable_plane_parameters [0 ])
159- keyvalues ["__params__.z3" ] = str (differentiable_plane_parameters [1 ])
152+ keyvalues ["__params__.z2" ] = str (differentiable_parameters [0 ])
153+ keyvalues ["__params__.z3" ] = str (differentiable_parameters [1 ])
160154 keyvalues ["__params__.height" ] = non_differentiable_parameters [0 ]
161155 keyvalues ["__params__.thickness" ] = non_differentiable_parameters [1 ]
162156
163- num_of_bars = len (differentiable_bar_parameters )
157+ num_of_bars = len (differentiable_parameters ) - 2
164158
165159 for i in range (num_of_bars ):
166- keyvalues [f"__params__.s{ i + 1 } " ] = str (differentiable_bar_parameters [ i ][ 0 ])
167- keyvalues [f"__params__.e{ i + 1 } " ] = str (differentiable_bar_parameters [ i ][ 1 ])
160+ keyvalues [f"__params__.s{ i + 1 } " ] = str (differentiable_parameters [ i * 2 + 0 ])
161+ keyvalues [f"__params__.e{ i + 1 } " ] = str (differentiable_parameters [ i * 2 + 1 ])
168162
169163 _find_and_replace_keys_in_archive (prepped_script_path , keyvalues )
170164
@@ -256,8 +250,7 @@ def apply(inputs: InputSchema) -> OutputSchema:
256250 Returns TraingularMesh obj and exports a .stl.
257251 """
258252 mesh = build_geometry (
259- differentiable_bar_parameters = inputs .differentiable_bar_parameters ,
260- differentiable_plane_parameters = inputs .differentiable_plane_parameters ,
253+ differentiable_plane_parameters = inputs .differentiable_parameters ,
261254 non_differentiable_parameters = inputs .non_differentiable_parameters ,
262255 string_parameters = inputs .string_parameters ,
263256 )
0 commit comments