Skip to content

pilipala233/OSG-GIS-Plugins-Desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OSG GIS Plugins Desktop

Platform License Electron

一个基于 Electron 开发的桌面应用程序,用于处理和转换 3D 模型文件,特别针对 OSG (OpenSceneGraph) 和 GIS 相关的文件格式。

🖥️ 平台支持: 目前仅支持 Windows 10/11 x64 系统

📋 项目简介

OSG GIS Plugins Desktop 是一个跨平台的桌面应用程序,为 osgGISPlugin 项目提供了现代化的图形界面。本项目基于 osgGISPlugin 的核心工具,添加了用户友好的 GUI 界面,使 3D 模型处理变得更加简单直观。

🙏 致谢

本项目的核心处理工具来源于 @newpeople123osgGISPlugin 项目(基于 commit 17beb15)。感谢原作者提供的优秀 3D 模型处理工具。

🆚 与原项目的差异

  • 原项目: 命令行工具,需要手动输入复杂的参数
  • 本项目: 图形化界面,通过表单简化参数配置,提升用户体验

👨‍💻 本项目贡献

  • 设计并实现了基于 Electron 的现代化用户界面
  • 提供了参数表单化配置,替代复杂的命令行参数
  • 增加了实时输出显示和执行状态管理
  • 支持文件路径历史记录功能
  • 预留了 Cesium 3D 预览功能接口(暂时未实现)

✨ 主要功能

  • 模型转换: 支持多种 3D 模型格式之间的转换

    • model23dtiles: 将模型转换为 3D Tiles 格式
    • b3dm2gltf: B3DM 格式转换为 glTF 格式
  • 模型优化:

    • simplifier: 模型简化工具,减少模型复杂度
    • texturepacker: 纹理打包优化工具
  • 交互式界面: 基于 Web 技术构建的现代化用户界面

  • 预览支持: 提供预览建议和外部工具链接

  • 批量处理: 支持批量文件处理

  • 历史记录: 自动保存文件选择路径,提升使用体验

🛠️ 技术栈

  • 前端框架: Electron + HTML + CSS + JavaScript
  • 3D 引擎: Cesium.js (已集成但未启用)
  • 后端工具: OSG (OpenSceneGraph) 相关命令行工具
  • 打包工具: electron-packager
  • 支持平台: Windows x64 (界面支持跨平台,核心工具仅限Windows)

📦 项目结构

osgdesktop/
├── index.html          # 主界面文件
├── index.js            # Electron 主进程
├── renderer.js         # 渲染进程逻辑
├── styles.css          # 样式文件
├── tools/              # 工具可执行文件目录
│   ├── model23dtiles.exe
│   ├── b3dm2gltf.exe
│   ├── simplifier.exe
│   └── texturepacker.exe
├── package.json        # 项目配置
└── README.md          # 项目说明

🚀 快速开始

环境要求

  • 操作系统: Windows 10/11 x64 (必需)
  • Node.js: 版本 16.x 或更高
  • npm: 通常与 Node.js 一起安装

⚠️ 重要说明: 本应用目前仅支持 Windows 平台运行,因为核心的 3D 处理工具(tools目录下的.exe和.dll文件)只提供了 Windows 版本。虽然 Electron 界面可以在其他平台上运行,但无法执行实际的模型转换功能。并且本人也仅在windows 上做开发测试。

安装依赖

# 克隆项目后,进入项目目录
cd osgdesktop

# 安装项目依赖
npm install

开发运行

# 启动开发模式
npm start

应用程序将在开发模式下启动,支持热重载和开发者工具。

快捷键

  • F12: 打开开发者工具
  • F5: 重新加载应用程序

📦 打包部署

Windows 平台打包

# 打包 Windows x64 版本
npm run build

打包完成后,可执行文件将生成在 dist/osg-gis-plugins-desktop-win32-x64/ 目录中。

跨平台打包

# Linux 平台(仅界面,无法执行工具)
npm run build:linux

# macOS 平台(仅界面,无法执行工具)
npm run build:mac

⚠️ 注意: Linux 和 macOS 版本只能运行界面,无法执行实际的 3D 模型处理功能,因为缺少对应平台的工具程序。如需跨平台支持,需要获取 Linux/macOS 版本的工具文件。

🔧 使用说明

模型转换工具

  1. Model2 3DTiles

    • 选择输入的 3D 模型文件
    • 设置输出目录
    • 配置转换参数(纹理格式、分块方式等)
    • 点击执行转换
  2. B3DM to glTF

    • 选择 B3DM 格式文件
    • 选择输出目录
    • 执行转换
  3. 模型简化器

    • 选择需要简化的模型文件
    • 设置简化参数
    • 执行简化处理
  4. 纹理打包器

    • 选择纹理文件或目录
    • 配置打包设置
    • 执行纹理优化

界面操作

  • 文件选择: 点击"选择文件"按钮选择输入文件
  • 目录选择: 点击"选择目录"按钮选择输出目录
  • 参数配置: 在相应的输入框中设置转换参数
  • 执行处理: 点击"执行"按钮开始处理
  • 查看结果: 处理完成后可点击"打开输出文件夹"查看结果

🔨 开发说明

项目架构

  • 主进程 (index.js): 负责窗口管理、文件对话框、工具进程调用
  • 渲染进程 (renderer.js): 负责用户界面交互、参数管理、结果显示
  • 样式文件 (styles.css): 使用嵌套样式,提供现代化的用户界面

添加新工具

  1. 将新的可执行文件放入 tools/ 目录
  2. index.js 中的 tools 数组中添加工具名称
  3. getToolArgs 函数中添加参数处理逻辑
  4. index.html 中添加相应的用户界面
  5. renderer.js 中添加交互逻辑

🐛 故障排除

常见问题

  1. 打包失败:

    • 确保使用的是 electron-packager 而不是 electron-builder
    • 检查 Node.js 版本是否兼容
  2. 工具执行失败:

    • 确认 tools 目录中的可执行文件存在
    • 检查文件路径是否正确
    • 确保在 Windows 系统上运行
  3. 应用无法启动:

    • 清除 node_modules 并重新安装依赖
    • 检查 Electron 版本兼容性
  4. 在 Linux/macOS 上无法执行工具:

    • 这是正常现象,当前版本不支持非 Windows 平台
    • 界面可以正常显示,但无法执行实际的模型处理功能

清理重装

# 删除依赖
rm -rf node_modules package-lock.json

# 重新安装
npm install

📄 许可证与声明

本项目许可

ISC License

原始项目许可

本项目使用的核心工具(tools/目录下的可执行文件)来源于 osgGISPlugin 项目,请遵循原项目的许可证条款。

免责声明

  • 本项目仅为原始命令行工具提供图形化界面封装
  • 核心算法和处理逻辑的版权归原作者所有
  • 使用本项目时请同时遵守原项目的使用条款和限制

补充说明

对于核心工具的功能改进,建议直接向 原项目 贡献。

About

针对osgGISPlugins项目,基于 Electron 开发的桌面GUI应用程序。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published