def is_point_inside_solid(point, solid):
line = Line.CreateBound(point, XYZ(point.X, point.Y, point.Z + 0.01))
tolerance = 0.00001
opts = SolidCurveIntersectionOptions()
opts.ResultType = SolidCurveIntersectionMode.CurveSegmentsInside
sci = solid.IntersectWithCurve(line, opts)
if sci:
return True