InterpretQuery#

class InterpretQuery(model_id: str, client: Client)#

Bases: object

Examples: Code Snippet: Interpret Query

Interpret Query menu: point-based slip surface query, graph series, and slice data.

getQueryData(point: Point2D, queryContext: QueryContext | None = None) → QueryData#

Returns query data for the slip surface at the point. Uses an existing query when one is already at that location; otherwise resolves the closest surface that Add Query would pick. query_index is -1 when the surface was resolved implicitly (not a saved query).

getQueryGraphData(point: Point2D, options: QueryGraphOptions, queryContext: QueryContext | None = None) → list[QueryGraphSeries]#
getGlobalMinSliceCount(queryContext: QueryContext | None = None) → int#

Returns the number of slices on the global minimum slip surface for the active analysis method.

getSliceData(slice_number: int, queryContext: QueryContext | None = None) → SliceData#

Returns slice data for one slice on the global minimum slip surface. slice_number is 1-based. Respects the current slice data filter settings in Interpret.

getAllSliceData(queryContext: QueryContext | None = None) → list[SliceData]#

Fetches slice data one slice at a time and returns the combined result. Use this for export/clipboard when the full dataset would exceed gRPC message limits.

class InterpretSlideGraphType(*values)#

Bases: Enum

X_COORDINATE_BOTTOM = 5#
X_COORDINATE_TOP = 6#
SLICE_ANGLE = 7#
Y_COORDINATE_BOTTOM = 10#
Y_COORDINATE_TOP = 11#
THRUST_LINE_ELEVATION = 12#
FRICTIONAL_STRENGTH = 13#
COHESIVE_STRENGTH = 14#
BASE_NORMAL_FORCE = 15#
BASE_FRICTION_ANGLE = 16#
INTERSLICE_NORMAL_FORCE = 17#
INTERSLICE_SHEAR_FORCE = 18#
SLICE_WEIGHT = 19#
PORE_PRESSURE = 20#
M_ALPHA = 21#
ANGLE_OF_SLICE_BASE = 22#
SHEAR_STRENGTH = 23#
SHEAR_STRESS = 24#
BASE_NORMAL_STRESS = 25#
BASE_COHESION = 26#
INTERSLICE_RESULTANT_FORCE = 27#
SLICE_WEIGHT_DIVIDED_BY_SLICE_WIDTH = 28#
HORIZONTAL_SEISMIC_FORCE = 29#
VERTICAL_SEISMIC_FORCE = 30#
RESULTANT_SEISMIC_FORCE = 31#
HORIZONTAL_SEISMIC_FORCE_DIVIDED_BY_SLICE_WIDTH = 32#
INTERSLICE_FORCE_ANGLE = 33#
BASE_SHEAR_FORCE = 34#
POSITIVE_PORE_PRESSURE = 45#
MATRIC_SUCTION = 46#
EFFECTIVE_NORMAL_STRESS = 47#
EXCESS_PORE_PRESSURE = 48#
INITIAL_PORE_PRESSURE = 49#
PHIB = 50#
BASE_MATERIAL = 51#
GHB_GSI = 58#
GHB_MI = 59#
GHB_D = 60#
GHB_UCS = 61#
BASE_VERTICAL_STRESS = 63#
EFFECTIVE_VERTICAL_STRESS = 64#
class InterpretSlideGraphXAxisType(*values)#

Bases: Enum

DISTANCE = 1#
SLICE_NUMBER = 2#
X_COORDINATE = 3#
class GraphPoint(x: 'float', y: 'float')#

Bases: object

x: float#
y: float#
class Point2D(x: 'float', y: 'float')#

Bases: object

x: float#
y: float#
class QueryContext(stage: int | None = None, method_index: int | None = None)#

Bases: object

Omit stage/method_index to use the session active values (set via InterpretData.setActiveStage / setActiveAnalysisMethod).

stage: int | None = None#
method_index: int | None = None#
class QueryData(query_index: 'int', fs: 'float', valid: 'bool', xc: 'float', yc: 'float', r: 'float', x1: 'float', y1: 'float', x2: 'float', y2: 'float', summary_text: 'str')#

Bases: object

query_index: int#
fs: float#
valid: bool#
xc: float#
yc: float#
r: float#
x1: float#
y1: float#
x2: float#
y2: float#
summary_text: str#
class QueryGraphOptions(primary_data_type: 'InterpretSlideGraphType', x_axis_type: 'InterpretSlideGraphXAxisType', secondary_data_type: 'Optional[InterpretSlideGraphType]' = None, use_secondary: 'bool' = False)#

Bases: object

primary_data_type: InterpretSlideGraphType#
x_axis_type: InterpretSlideGraphXAxisType#
secondary_data_type: InterpretSlideGraphType | None = None#
use_secondary: bool = False#
class QueryGraphSeries(series_name: 'str', points: 'list[GraphPoint]')#

Bases: object

series_name: str#
points: list[GraphPoint]#
class SliceData(slice_number: 'int', rows: 'list[SliceDataRow]')#

Bases: object

slice_number: int#
rows: list[SliceDataRow]#
class SliceDataRow(name: 'str', value: 'str')#

Bases: object

name: str#
value: str#