Skip to content

convert

文件格式转换相关 CLI 命令(本地操作,无需 Dimine 运行)。

cmd_convert_file(fmt, source, target, overwrite=True)

在采矿文件格式之间转换(本地操作)。

dmf <-> dwg, dmf <-> dtm (Surpac), dmf <-> STR (MicroMine),

dmf <-> DAT (DataMine), dmf <-> mgis (MapGIS)

Source code in dimine_python_sdk\cli\commands\convert.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
def cmd_convert_file(fmt: str, source: str, target: str, overwrite: bool = True) -> None:
    """在采矿文件格式之间转换(本地操作)。

    支持格式: dmf <-> dwg, dmf <-> dtm (Surpac), dmf <-> STR (MicroMine),
             dmf <-> DAT (DataMine), dmf <-> mgis (MapGIS)
    """
    err = require_local_sdk()
    if err:
        output_error(err, fmt)

    source_path = resolve_path(source)
    target_path = resolve_path(target)

    from dimine_python_sdk.lib.io.convert import convert_file

    try:
        result = convert_file(source_path, target_path, overwrite=overwrite)
        output_result({
            "success": True,
            "source": source_path,
            "target": target_path,
            "overwrite": overwrite,
            "result": str(result),
            "message": f"文件已转换: {source_path} -> {target_path}",
        }, fmt)
    except Exception as e:
        output_error(f"文件转换失败: {e}", fmt)

register_commands(subparsers, format_parent)

向 subparsers 注册转换相关子命令。

Source code in dimine_python_sdk\cli\commands\convert.py
40
41
42
43
44
45
def register_commands(subparsers, format_parent) -> None:
    """向 subparsers 注册转换相关子命令。"""
    p = subparsers.add_parser("convert-file", parents=[format_parent], help="转换采矿文件格式")
    p.add_argument("--source", required=True, help="源文件路径")
    p.add_argument("--target", required=True, help="目标文件路径(扩展名决定格式)")
    p.add_argument("--overwrite", type=bool, default=True, help="是否覆盖已存在的目标文件(默认: true)")