IO操作
IO操作包括文件的导入、导出、文件类型转换
1. 文件打开
将外部文件打开到数采软件当前场景中:
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支持的格式
2. 文件导出
将数采软件场景中的文件导出为指定格式:
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)
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()
# 关闭文件
await client.close_file(file_id=files[0].id)
print("文件已关闭")
if __name__ == '__main__':
asyncio.run(main())
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.close_file(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:
# 1. 打开文件
print("打开文件...")
file_path = "D:/temp/test.dtm"
file_info = await client.open_file(file_path)
print(f"已打开: {file_info.name}, ID: {file_info.id}")
# 2. 获取文件列表
files = await client.get_files()
print(f"\n当前文件数: {len(files)}")
# 3. 导出文件
if len(files) > 0:
print("导出文件...")
await client.export_file(
file_id=files[0].id,
file_path="D:/temp/test_export.dwg"
)
print("导出成功")
# 4. 关闭文件
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对象文件