Skip to content

types

BaseType

Bases: BaseModel

基础类型

Source code in dimine_python_sdk\models\types.py
36
37
38
class BaseType(BaseModel):
    """基础类型"""
    related: Optional[bool] = Field(default=False, description="表示此python端的对象是否关联到数采端对象,即修改数值后,会自动同步到数采端对象中")

FeatureInfo

Bases: BaseType

要素定义,也是一组属性的定义,比如:巷道要素,包含属性如名称、长度、宽度、高度等

Source code in dimine_python_sdk\models\types.py
77
78
79
80
class FeatureInfo(BaseType):
    """要素定义,也是一组属性的定义,比如:巷道要素,包含属性如名称、长度、宽度、高度等"""
    name: str = Field(description="要素名称", validation_alias="feature_name")
    properties: List[PropertyInfo] = Field(default_factory=list, description="要素属性", validation_alias="feature_define")

FileInfo

Bases: BaseType

数采文件信息

Source code in dimine_python_sdk\models\types.py
42
43
44
45
46
47
48
49
50
51
52
class FileInfo(BaseType):
    """数采文件信息"""
    id: str = Field(description="文件id")
    name: str = Field(description="文件名")


    async def close(self):
        """关闭文件"""
        from dimine_python_sdk.conn import open_client
        with open_client() as conn:
            await conn.close_file(file_id=self.id)

close() async

关闭文件

Source code in dimine_python_sdk\models\types.py
48
49
50
51
52
async def close(self):
    """关闭文件"""
    from dimine_python_sdk.conn import open_client
    with open_client() as conn:
        await conn.close_file(file_id=self.id)

LayerInfo

Bases: BaseType

图层信息

Source code in dimine_python_sdk\models\types.py
56
57
58
59
class LayerInfo(BaseType):
    """图层信息"""
    id: str = Field(description="图层id")
    name: str = Field(description="图层名称")

PropertyInfo

Bases: BaseType

属性定义信息:单个属性的定义,比如:属性名称、数据类型

Source code in dimine_python_sdk\models\types.py
62
63
64
65
class PropertyInfo(BaseType):
    """属性定义信息:单个属性的定义,比如:属性名称、数据类型"""
    name: str = Field(description="属性名称")
    type: Literal["byte", "string", "short", "int", "long", "float", "double", "char", "color", "date", "binary"] = Field(description="数据类型")

PropertyValue

Bases: PropertyInfo

属性值信息

Source code in dimine_python_sdk\models\types.py
67
68
69
70
71
72
73
74
75
class PropertyValue(PropertyInfo):
    """属性值信息"""
    value: str|int|float|None = Field(default=None, description="属性值")

    def to_dict(self):
        return {
            "name": self.name,
            "value": self.value
        }

SelectedItem

Bases: BaseType

当前选择对象信息

Source code in dimine_python_sdk\models\types.py
 96
 97
 98
 99
100
101
102
class SelectedItem(BaseType):
    """当前选择对象信息"""
    id: str = Field(description="实体ID")
    file: str = Field(description="所属文件")
    layer: str = Field(description="所属图层")
    entity_type: Literal["point", "line", "polyline", "shell"] = Field(description="实体类型")
    feature: Optional[str] = Field(default=None, description="关联要素")

SelectedResult

Bases: BaseType

当前选择对象查询结果

Source code in dimine_python_sdk\models\types.py
105
106
107
108
109
110
class SelectedResult(BaseType):
    """当前选择对象查询结果"""
    ids: List[SelectedItem] = Field(default_factory=list, description="选中对象列表")
    page_size: int = Field(default=0, description="每页大小")
    page_num: int = Field(default=0, description="当前页码")
    total_count: int = Field(default=0, description="总数量")

TextInfo

Bases: BaseType

文字标注信息

Source code in dimine_python_sdk\models\types.py
83
84
85
86
87
88
89
90
91
92
93
class TextInfo(BaseType):
    """文字标注信息"""
    file: Optional[str] = Field(default=None, description="所属文件id")
    layer: Optional[str] = Field(default=None, description="所在图层id")
    feature: Optional[str] = Field(default=None, description="所属要素名")
    text: str = Field(description="文字内容")
    position: List[float] = Field(description="文字位置 [x, y, z]")
    color: List[int] = Field(default=[255, 255, 255], description="颜色 [r, g, b]")
    size: float = Field(default=20, description="文字大小")
    normal: List[float] = Field(default=[0, 0, 1], description="法向量 [x, y, z]")
    rotate: float = Field(default=0, description="旋转角度")

__getattr__(name)

PEP 562:按需转发几何类型到 models.geometry。

Source code in dimine_python_sdk\models\types.py
27
28
29
30
31
32
33
def __getattr__(name: str):
    """PEP 562:按需转发几何类型到 models.geometry。"""
    if name in _GEOMETRY_NAMES:
        from dimine_python_sdk.models import geometry as _geometry

        return getattr(_geometry, name)
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")