Skip to content

lane_way

应用层:lib/exploitation/lane_way.py

井巷工程 — 断面/巷道/竖井生成。 直接调用 native/exploitation.py,不经过 _adapter。 允许类型:np.ndarray、List、Pydantic 模型、标量 禁止类型:Dm*

Laneway

井巷工程 — 断面/巷道/竖井生成

推荐用法(无需实例化)

Laneway.get_section(SectionParam(type=0, width=2.0)) Laneway.get_lane_way_model(LanewayParam(section=..., polylines_set=...)) Laneway.get_lane_way_model(LanewayParam(section=..., polylines_set=..., shaft=True, angle=45.0))

Source code in dimine_python_sdk\lib\exploitation\lane_way.py
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
class Laneway:
    """
    井巷工程 — 断面/巷道/竖井生成

    推荐用法(无需实例化)
    --------------------
    >>> Laneway.get_section(SectionParam(type=0, width=2.0))
    >>> Laneway.get_lane_way_model(LanewayParam(section=..., polylines_set=...))
    >>> Laneway.get_lane_way_model(LanewayParam(section=..., polylines_set=..., shaft=True, angle=45.0))
    """

    @staticmethod
    def get_section(param: Union[Dict[str, Any], SectionParam]) -> np.ndarray:
        """
        获取断面轮廓

        Parameters
        ----------
        param : SectionParam or dict
            断面参数(dict 已废弃,会发出 DeprecationWarning)

        Returns
        -------
        np.ndarray
            断面轮廓点数组

        Raises
        ------
        SectionGenerateError
            底层返回空结果或抛出异常时包装
        """
        return get_section_contour_impl(param)

    @staticmethod
    def get_lane_way_model(param: Union[Dict[str, Any], "LanewayParam"]) -> List[TINGeometry]:
        """
        根据断面 + 中心线生成巷道或竖井

        Parameters
        ----------
        param : LanewayParam or dict
            巷道/竖井建模参数(dict 已废弃,会发出 DeprecationWarning)。
            当 ``shaft=True`` 时切换为竖井建模,由 C++ 侧根据 ``shaft`` 字段区分;
            ``angle`` 控制竖井水平旋转角度(度),范围 ``[0, 360)``。

        Returns
        -------
        List[TINGeometry]
            生成的巷道/竖井模型三角网列表

        Raises
        ------
        LanewayModelingError
            底层返回空结果或抛出异常时包装
        """
        return laneway_modeling_impl(param)

get_lane_way_model(param) staticmethod

根据断面 + 中心线生成巷道或竖井

Parameters

param : LanewayParam or dict 巷道/竖井建模参数(dict 已废弃,会发出 DeprecationWarning)。 当 shaft=True 时切换为竖井建模,由 C++ 侧根据 shaft 字段区分; angle 控制竖井水平旋转角度(度),范围 [0, 360)

Returns

List[TINGeometry] 生成的巷道/竖井模型三角网列表

Raises

LanewayModelingError 底层返回空结果或抛出异常时包装

Source code in dimine_python_sdk\lib\exploitation\lane_way.py
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
@staticmethod
def get_lane_way_model(param: Union[Dict[str, Any], "LanewayParam"]) -> List[TINGeometry]:
    """
    根据断面 + 中心线生成巷道或竖井

    Parameters
    ----------
    param : LanewayParam or dict
        巷道/竖井建模参数(dict 已废弃,会发出 DeprecationWarning)。
        当 ``shaft=True`` 时切换为竖井建模,由 C++ 侧根据 ``shaft`` 字段区分;
        ``angle`` 控制竖井水平旋转角度(度),范围 ``[0, 360)``。

    Returns
    -------
    List[TINGeometry]
        生成的巷道/竖井模型三角网列表

    Raises
    ------
    LanewayModelingError
        底层返回空结果或抛出异常时包装
    """
    return laneway_modeling_impl(param)

get_section(param) staticmethod

获取断面轮廓

Parameters

param : SectionParam or dict 断面参数(dict 已废弃,会发出 DeprecationWarning)

Returns

np.ndarray 断面轮廓点数组

Raises

SectionGenerateError 底层返回空结果或抛出异常时包装

Source code in dimine_python_sdk\lib\exploitation\lane_way.py
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
@staticmethod
def get_section(param: Union[Dict[str, Any], SectionParam]) -> np.ndarray:
    """
    获取断面轮廓

    Parameters
    ----------
    param : SectionParam or dict
        断面参数(dict 已废弃,会发出 DeprecationWarning)

    Returns
    -------
    np.ndarray
        断面轮廓点数组

    Raises
    ------
    SectionGenerateError
        底层返回空结果或抛出异常时包装
    """
    return get_section_contour_impl(param)

LanewayError

Bases: RuntimeError

井巷工程异常基类

Source code in dimine_python_sdk\lib\exploitation\lane_way.py
34
35
class LanewayError(RuntimeError):
    """井巷工程异常基类"""

LanewayModelingError

Bases: LanewayError

巷道建模失败

Source code in dimine_python_sdk\lib\exploitation\lane_way.py
42
43
class LanewayModelingError(LanewayError):
    """巷道建模失败"""

SectionGenerateError

Bases: LanewayError

断面生成失败

Source code in dimine_python_sdk\lib\exploitation\lane_way.py
38
39
class SectionGenerateError(LanewayError):
    """断面生成失败"""

get_section_contour_impl(param)

获取断面轮廓

Source code in dimine_python_sdk\lib\exploitation\lane_way.py
146
147
148
149
150
151
152
153
154
155
156
def get_section_contour_impl(param: Union[Dict[str, Any], SectionParam]) -> np.ndarray:
    """获取断面轮廓"""
    section = _coerce_section_param(param)
    json_str = _serialize_param(section)
    try:
        result = _native_get_section_contour(json_str)
    except Exception as exc:
        raise SectionGenerateError(f"断面生成失败: {exc}") from exc
    if result is None:
        raise SectionGenerateError("断面生成失败: 返回空结果")
    return result

laneway_modeling_impl(param)

根据断面 + 中心线生成巷道或竖井

Source code in dimine_python_sdk\lib\exploitation\lane_way.py
159
160
161
162
163
164
165
166
167
168
169
170
171
172
def laneway_modeling_impl(param: Union[Dict[str, Any], LanewayParam]) -> List[TINGeometry]:
    """根据断面 + 中心线生成巷道或竖井"""
    lw = _coerce_laneway_param(param)

    # 三心拱断面自动设置轮廓采集点数为27
    if lw.section.type == 4 and lw.section.point_count != 27:
        lw.section.point_count = 27

    json_str = _serialize_param(lw)
    try:
        result = _native_laneway_modeling(json_str)
    except Exception as exc:
        raise LanewayModelingError(f"巷道建模失败: {exc}") from exc
    return [_native_tin_to_tingeometry(item) for item in result]