Skip to content

IO操作

IO操作包括文件的导入、导出、文件类型转换

1. 文件新建

在数采软件中创建新文件:

import asyncio
from dimine_python_sdk.conn import open_client

async def main():
    async with open_client() as client:
        # 新建文件
        await client.create_file("D:/temp/new_project.dmf")
        print("文件新建成功")

if __name__ == '__main__':
    asyncio.run(main())

参数说明: - file_path: 新建文件的完整路径,需包含扩展名(如 .dmf

2. 文件打开

将外部文件打开到数采软件当前场景中:

import asyncio
from dimine_python_sdk.conn import open_client

async def main():
    async with open_client() as client:
        # 打开文件(支持多种格式:dmf、dmm、dtm、dwg等)
        file_path = "D:/temp/test_export.dtm"
        file_info = await client.open_file(file_path)
        print(f"打开文件: {file_info.name}, ID: {file_info.id}")

if __name__ == '__main__':
    asyncio.run(main())

支持的打开文件格式: - .dtm - Dimine地形模型文件 - .dmf - Dimine标准工程文件格式 - .dmm - Dimine模型文件格式 - .dwg / .dxf - AutoCAD文件格式 - 以及其他Dimine支持的格式

3. 文件导出

将数采软件场景中的文件导出为指定格式:

import asyncio
from dimine_python_sdk.conn import open_client

async def main():
    async with open_client() as client:
        # 获取文件列表
        files = await client.get_files()

        if len(files) > 0:
            # 导出文件(根据文件扩展名自动识别格式)
            await client.export_file(
                file_id=files[0].id,
                file_path="D:/temp/test_export.dwg"
            )
            print("文件导出成功")

if __name__ == '__main__':
    asyncio.run(main())

支持的导出文件格式: - .dwg / .dxf - AutoCAD格式 - .dmf - Dimine工程文件 - .dmm - Dimine模型文件 - .dtm - Dimine地形模型 - 以及其他Dimine支持的格式

参数说明: - file_id: 文件ID或文件名称 - file_path: 导出目标路径 - mkdir: 是否自动创建目录(默认为True)

4. 文件关闭

关闭当前场景中的指定文件:

import asyncio
from dimine_python_sdk.conn import open_client

async def main():
    async with open_client() as client:
        # 获取文件列表
        files = await client.get_files()

        # 关闭文件
        await client.close_file(file_id=files[0].id)
        print("文件已关闭")

if __name__ == '__main__':
    asyncio.run(main())

4. 文件关闭

关闭当前场景中的指定文件:

import asyncio
from dimine_python_sdk.conn import open_client

async def main():
    async with open_client() as client:
        # 获取文件列表
        files = await client.get_files()

        # 关闭文件
        if len(files) > 0:
            await client.close_file(files[0].id)
            print("文件已关闭")

if __name__ == '__main__':
    asyncio.run(main())

5. 文件操作完整示例

import asyncio
from dimine_python_sdk.conn import open_client

async def main():
    async with open_client() as client:
        # 1. 新建文件
        print("新建文件...")
        await client.create_file("D:/temp/new_project.dmf")
        print("新建成功")

        # 2. 打开文件
        print("打开文件...")
        file_path = "D:/temp/test.dtm"
        file_info = await client.open_file(file_path)
        print(f"已打开: {file_info.name}, ID: {file_info.id}")

        # 3. 获取文件列表
        files = await client.get_files()
        print(f"\n当前文件数: {len(files)}")

        # 4. 导出文件
        if len(files) > 0:
            print("导出文件...")
            await client.export_file(
                file_id=files[0].id,
                file_path="D:/temp/test_export.dwg"
            )
            print("导出成功")

        # 5. 关闭文件
        if len(files) > 0:
            print("关闭文件...")
            await client.close_file(files[0].id)

if __name__ == '__main__':
    asyncio.run(main())

支持的文件格式

Dimine软件支持多种文件格式的导入导出:

  • DMF: Dimine标准工程文件格式
  • DMM: Dimine模型文件格式
  • CAD: AutoCAD文件格式(.dwg, .dxf等)
  • DMB: Dimine块定义文件
  • DMD: Dimine数据文件
  • DMO: Dimine对象文件