CAD 轻量化数据可视化

LiteView3D

自研 3dxml 快速读取库和大场景渲染,专为大型装配体而生。
整机 3DXML 数字样机,从 "打开要等几小时" 变成 "几分钟就能转起来"。

⬇ Download 📖 User Manual
89×
大装配模型读取提速
(1323 个 3DRep)
2.7min
同一模型打开耗时
旧方案约 4.1 小时
9862
单模型 3DRep 文件数
整机全模实测
3.8~6.7×
多线程解析加速比
16 线程实测
LiteView3D 主界面截图

主界面:左侧装配树、中间三维视图、右上角罗盘、统计数据面板

核心技术

Lib3dXMLRapid:一次分配、一次解析、直接填充

01

XML文件归档,先算总条目

QuaZip不落地解压

统计所有 XML 文件展开后的总字节数,为下一步的一次性分配做准备。

02

一次性分配内存,顺序拼接

单次分配顺序 I/O

单次大块分配的页开销与系统调用次数,远小于上千次小分配。

03

生成一棵"虚拟大 XML"

整包驻留

内存变成工作区,代价是占用上升,收益是解析路径最短。

04

零拷贝原地解析

零拷贝全模型 1 次解析

解析阶段不产生任何一次堆分配、不拷贝任何一个字节。

05

Visitor 遍历,边解析边填充

Visitor 模式无中间结构3DRep 级并行

每个 3DRep 由线程池并行处理,顶点直接写入预分配数组。

06

按 id 关系组装场景图

场景图输出渲染层解耦

把各节点挂接成完整场景树,直接送入渲染器。

支撑"分钟级打开"的八项优化

01

零拷贝原地解析

直接在原始缓冲区上原地切分,节点只记录指针与长度,所有字符串"访问即读取"。

解析阶段 0 次堆分配
02

整包只解析一次

全模型共享一棵XML树,解析次数从"文件数"降为 1。

解析次数:上千次 → 1 次
03

一次大块内存

大块分配的页开销远小于上千次小分配,磁盘与 CPU 配合效率最高。

用内存换时间
04

取消中间数据层

在 Visitor 回调里直接把数据填进场景对象,中间结构彻底取消,遍历与分配同时减半。

遍历 2 遍 → 1 遍
05

手写字符串转数字

逐字符累加的转换函数替代通用库函数,省掉函数调用与通用分支判断,收益在千万级调用上累积。

千万级数字转换
06

顶点数组预分配

避免逐个追加时数组反复扩容与内存搬移,对动辄数百万顶点的模型,这一步省下的搬移量非常可观。

消除扩容搬移
07

3DRep 级多线程并行

线程池 + 工作队列取出任务,各线程解析并填充各自的对象,线程间无数据竞争,最后统一组装。

16 线程 3.8~6.7×
08

只处理关心的节点

遍历器只识别解析需要的少数标签,其余节点直接跳过、不创建对象,无用节点开销为零。

跳过即零成本

读得快,还要转得动

🌳

场景图同构映射

装配结构与 3DXML 的引用实例树一一对应,位姿矩阵直接挂到变换节点上,不需要额外的组织层。

✂️

视锥裁剪先行

渲染前先做视锥体裁剪与距离裁剪,只把视口内可见节点送进 GPU 绘制队列。

⚡

LOD 帧率自适应

每个几何同时构建完整精度与 LOD 两套索引,顶点数组共享。交互时监测帧率,跌破阈值自动切到低精度。

🎨

两种显示风格

渲染风格参考 CATIA,带线框、明亮简洁、不使用阴影,适合长时间模型预览。

🧵

多线程渲染循环

场景遍历、裁剪与绘制拆分到不同线程执行,多核 CPU 上裁剪与 GPU 绘制并行推进,CPU 与 GPU 之间的等待间隙被填满。

💻

不吃硬件

渲染管线简单,入门独显甚至核显即可流畅浏览;工业现场普通工作站够用,不必配游戏级显卡。

为什么不用游戏引擎?游戏引擎的画面表现力更强,但内置 PBR、动态全局光照、体积雾、后处理、阴影等一整套管线,每一项都是持续的 CPU/GPU 开销;且为控制内存普遍采用关卡分区与流式加载,模型规模受加载策略约束。工业可视化的需求是"结构清晰、规模尽可能大",简单管线 + 整包驻留 + 视锥裁剪反而是更优解。

演进方向:OpenGL 已停止功能演进,新一代场景图引擎 vsg(VulkanSceneGraph) 继承同样的场景图思想、底层换成 Vulkan —— 显式 GPU 资源管理、多线程命令缓冲、更低的提交开销。本项目的"快速读取 + 大内存驻留"方案可直接对接 vsg 场景图,当前发行版即采用 VSG 渲染后端。
产品功能

九个功能模块,只做"看模型"

01

UI 用户界面

3D 可视化界面、工具栏、结构树、设置框四个入口齐备;

图标统一设计并提供黑白两套主题。

02

模型导入

支持3DXML导入;

同时支持Step、Obj、STL、IFC、DXF、FBX、GLTF、DAE、PLY、3DS、Vtk、PointCloud-ASCII等格式。

03

渲染

渲染风格参考 CATIA,带线框、明亮简洁、不使用阴影。

04

场景操作

中键平移、左键旋转、滚轮缩放;

一键模型居中显示,随时回到完整视野。

05

装配树

完整层级;可折叠展开、一键全展全收;

树选高亮、模型反查定位、装配树搜索。

06

罗盘

右上角罗盘跟随场景同步旋转;

点击立方体六个面,视角一键切换到标准视图。

07

模型操作

左键点选高亮;

支持对选中模型执行平移、旋转、缩放。

08

统计

数据面板实时显示渲染帧数。

09

安装包

单文件安装包,内置全部运行依赖,装完即用。

装配树与场景双向联动 CAD 线框渲染 六视图罗盘 场景操作 模型操作

谁在用它看模型

🔍 设计评审与方案比对

评审会上直接打开整机样机,按装配树逐层展开,边看边定位问题零件,不必等设计员开 CAD 软件。

🔧 装配工艺与维修

隐藏外层壳体、只看内部结构,配合装配树搜索快速找到目标零件,用于工艺文件编制与维修培训。

📦 供应商交付物审核

供应商交付的 3DXML 直接打开核对结构、零件数量与外观,不必安装对方使用的 CAD 环境。

🎬 VR / 引擎数据前置

作为 CAD 轻量化数据进入 Unreal、VR 系统前的快速检查环节,确认装配层级与几何完整后再做格式转换。

🏭 车间与展厅浏览

普通办公机与一体机即可运行,不需要专业图形工作站,适合放在车间终端或展厅触摸屏上。