BRepAlgoAPI_Cut operation results incorrect geometry

Hello everyone,

I am trying to use BRepAlgoAPI_Cut Algo to cut a cone (Topods_SOLID) with a cuboid (Topods_SOLID).
output shape of this function returns incorrect geometry (refer attached image for reference). But in some cases method returns correct shape (refer attached image)

do I need to make any preparations before calling .Build()?
or any ways to get proper output?

Code used in this case:

# Create a BRepAlgoAPI_Cut object
cut_algo = BRepAlgoAPI_Cut(shapes_input,shape_tool)

# Perform the cut operation
cut_algo.Build()

# Get the resulting shape
result_shape = cut_algo.Shape()

Attachments:
input_case_1.png: case 1 input shapes (Cone and cuboid Topods Solid)
out_case_1_correct_geom.png : case 1 output shape (cone cut by cuboid)

input_case_2.png: case 2 input shapes (Cone and cuboid Topods Solid)
out_case_2_distorted_geom.png : case 2 output shape (distorted geom)

Attachments: