Skip to content

🧊 3D、CAD 与数据大屏 ​

Microi吾码提供多条可视化路线。界面引擎、报表引擎、go-view 大屏、Three.js 3D 场景和 CAD 预览各有边界,不需要把所有需求都做成一套重型设计器。

📸 预览图 ​

Microi吾码数据大屏设计器,展示可视化组件库、图层、Unity 3D 场景和属性配置
数据大屏设计器:将图表、图片、数据组件与 Unity WebGL 场景组合到同一块可视化画布。

能力选择 ​

需求推荐能力数据来源
表单页中的指标、图表与布局界面引擎表单、数据源、接口引擎
常规统计表、ECharts 报表报表引擎模块、SQL/接口数据源
驾驶舱、监控大屏、自由拖拽图表go-view 数据大屏mic_data_dashboard.ContentData
产品/设备模型、灯光、材质与镜头3D 引擎.glb / .gltf 或场景 JSON
型材规格检索与单根型材预览3D 引擎的 LIS 型材库Tekla .lis 截面参数 + 用户输入长度
可操控游戏、沉浸展厅、复杂数字孪生Unity WebGLUnity 场景 + V8 接口引擎
DWG、DXF、STEP/STP、STL 文件预览CAD 预览与 HDFS 转换原文件与 _preview 转换文件

go-view 数据大屏 ​

源码位于 Microi.Client/src/views/go-view/,入口包括:

  • /mic/data-dashboard/design/:Id:大屏设计;
  • /mic/data-dashboard/preview/:Id:大屏预览。

集成版复用 Microi 的 Vue、Pinia 与鉴权上下文,不使用 go-view 原项目自己的登录和后端接口。项目名称保存在 mic_data_dashboard.ProjectName,设计 JSON 保存在 ContentData,其中包含画布、全局请求配置和组件列表。

保存或发布前应检查数据源权限、刷新频率、首屏资源体积、字体与图片跨域。大屏页面能打开,不代表每个图表的数据范围都符合当前用户权限。

3D 引擎 ​

通用 3D 引擎由官方 Platform 应用 app.microi.3d-engine 拥有,并内含独立微服务 microi-3d-engine。它包含设计器、渲染器、场景树、属性面板、材质、灯光、后处理、模型爆炸和相机路径;源码与编译产物分别进入私有源码区和不可变运行资产。批量“安装/更新全部平台应用”只选择 Platform 包,因而安装的是通用引擎,不会附带某个客户的楼宇模型或演示数据。

通用微服务运行版本为 v1.10.0,官方平台包装应用版本为 v1.2.1。安装后的“3D引擎”设计器通过统一宿主页打开 /micro-app/microi-3d-engine/designer;独立入口 https://file.microi.net/itdos/micro-app/microi-3d-engine/index.html 默认进入设计器,需登录使用。渲染页 /renderer 是内部路由,由设计器或业务页面传入配置后复用。历史 v1.8.1 及更早版本曾将城市摩尔项目错误混入该微服务与商城包;更新到拆分后的版本时,不应再从通用引擎取得城市摩尔页面。旧版本应用安装到目标租户后,平台包升级不会自动删除该租户原有的城市摩尔业务表、数据或旧菜单;须另做目标租户库存盘点及用户授权的数据迁移/清理。

源码与应用自身回归测试由 Microi.Server/Microi.Tests/V8/official-application-source-contract.json 中 microi-3d-engine 的 SourceRoot 定位,位于 Microi-V8-Engine/{系统名称} ({ApiBase域名})/{OsClient}.{OsClientType}.{OsClientNetwork}/AI应用/microi-3d-engine/。不再从旧 Microi.Client/src/views/3d-engine/ 副本构建;线上运行和跨租户安装以 AI 应用的私有源码、v3 committed runtime 与商城不可变安装快照为准。

设计器的模型导入接受 .glb、.gltf 与 .lis。GLB/GLTF 继续使用 GLTFLoader 并支持 Draco;LIS 使用下面的参数化型材流程,不经过 GLTF 加载器。场景配置可以保存模型位置、旋转、缩放、材质、灯光、环境、后处理和镜头路径。若业务需要 OBJ/FBX 等格式,应先确认当前分支是否已有对应 Loader,不要仅根据旧宣传文字判断已支持。

LIS 型材库导入与拉伸预览 ​

Tekla .lis 是截面/型材库文本,包含规格名称、截面类型和尺寸参数。它没有整栋工程的构件长度、位置、连接与装配关系,不能直接还原钢结构工程。此入口用于选择一个规格并生成单根型材的浏览器 3D 预览。

  1. 在设计器“LIS 型材库”选择本地 .lis 文件。浏览器解析文件后展示规格列表,可搜索并分页;导入不会自动添加全部型材,也不会自动选择第一项。
  2. 手动选择一个可预览规格,检查尺寸与支持状态,在“预览长度(mm)”输入 1–1000000 mm 范围内的长度,默认 1000 mm。例如 H100*50*5*7 配合 3000 mm 表示三米长型材,长度来自当前输入。
  3. 点击“添加到场景”,使用既有场景树、移动、旋转、缩放、材质和镜头工具操作。毫米参数按 1000 mm = 1 m 转换到场景单位。
  4. 沿用现有场景保存、导出、导入与渲染流程。保存的是所选规格的尺寸参数及长度;重新打开场景时重新生成几何,不依赖原电脑的 LIS 文件路径。
截面类型可预览范围精度边界
H/I,PROFILE_TYPE=1PROFILE_SUB_TYPE=1001圆角、翼缘等采用近似截面,显示“近似预览”
L,PROFILE_TYPE=2子类型 2001 的角钢圆角等采用近似截面,显示“近似预览”
圆形空心,PROFILE_TYPE=7子类型 7001 的圆管按尺寸生成分段圆轮廓并保留内孔,不支持实心圆钢
矩形空心,PROFILE_TYPE=8子类型 8002 的方管、矩形管保留内孔,圆角采用近似截面,显示“近似预览”
C/T,PROFILE_TYPE=9/10子类型 9001/10001 的槽钢、T 型钢斜翼缘、圆角等采用近似截面,显示“近似预览”
BP,PROFILE_TYPE=20;H 特殊子类型 1002 及其它未支持类型显示规格与不支持原因,不允许添加不根据名称猜测或用其它形状代替

工程精度与安全边界

型材预览用于选型、空间展示与业务关联,不作为加工、结构计算或施工尺寸依据。需要准确圆角、斜翼缘、特殊截面或整个构件装配时,应提供已核验的几何模型或另行扩展解析协议。

默认文件上限 20 MiB、规格上限 10000 条。只生成已支持的类型与子类型组合,变截面及非零截面坐标偏移当前不支持;无效壁厚、负值、非有限尺寸和超限内容会明确拒绝。

LIS 按不可信文本解析,不执行文件里的脚本、宏或表达式,也不根据内容加载外部资源。首次预览不需要上传原文件;将场景保存到服务器仍沿用当前帐号、租户与场景权限。

升级时先发布官方 3D 引擎应用的私有源码与编译产物,再制作并回读包含该运行版本的 app.microi.3d-engine 包。目标租户通过应用商城安装/更新后,确认“LIS 型材库”入口与真实导入操作;仅更新 Docker 镜像、只看到商城新版本或本地预览通过,都不代表该租户已经安装此能力。

吾码引擎之城 · 三维架构导览 ​

进入引擎之城|查看应用介绍

官网首页通过独立微服务 microi-engine-city 展示吾码架构:中央 AI 塔连接六大展区,48 项引擎与特色能力各有文档入口。场景以 ChatGPT 原创概念为设计参考,采用 Blender 建模、共享窗格材质与 Three.js 渲染,模型约 1.9 MB;模型、材质和预览图通过官方 CDN 交付,源码中仅保存资源清单、哈希和重建脚本。

加载完成后自动巡游,镜头在同一座城中连续移动。拖动场景、选择机位或打开控制台会停止巡游,只有点击播放才恢复。顶部控制台提供场景、全部 59 个机位、搜索、播放速度与画质设置;引擎气泡的文档按钮在新标签打开说明,旁边的定位按钮进入对应机位。支持全屏、手机布局和键盘操作,资源加载失败时仍可查看全部文档并重试。

首页内嵌时,手机单指滑动浏览网页、双指探索场景;进入全屏后可单指旋转。页面离开视口或切到后台会停止绘制,开启“减少动态效果”时不自动巡游。NuGet 数字读取官网公开快照,并标明采集日期。

3D 数字孪生 · 城市摩尔示范 ​

“3D 数字孪生 · 城市摩尔”现由独立 MicroService AI 应用 microi-ningbo-city-mall 承载,菜单 /micro-app/microi-ningbo-city-mall/digital-twin,免登录公开入口为 https://file.microi.net/itdos/micro-app/microi-ningbo-city-mall/index.html。它不是通用引擎的子页面,也不随“全部更新平台应用”安装;需要在应用商城单独安装。/digital-twin 使用 Three.js 程序化场景重建红褐色公寓高楼、连续低层商业街与中央拱门,场景包含蓝天白云、道路、树木、32 名循环步态行人和 7 辆双向循环的曲面车体。造型参考用户提供的多角度照片与现场沙盘照片,另附 AI 生成的概念参考图;它是可交互的演示模型,不是实测 BIM/CAD、汽车厂商数字样车或精确施工图复刻。

此类浏览器内楼层/住户点选采用 Three.js:可直接嵌入 MicroService,且能与吾码菜单、主题和接口引擎共用宿主能力。Blender 可用于日后制作替换用的 GLB 美术资产;当前演示不依赖 Unity WebGL 或外部 BIM 文件。

页面可从整栋进入楼层,再选中楼层内住户或商铺;三维空间气泡、右侧设备列表和运行指标同步更新。每层至少 20 户公寓;重复点击同一楼层或空间不重建整个场景。浅色及深色宿主主题的楼层、工具栏、图例和聊天输入保持可读,窄视口可纵向滚动。建筑空间智能体“小吾”提供文字问答,不提供方言语音服务。

整栋视图的车流、车轮与行人步态默认循环播放,包括系统或浏览器开启“减少动态效果”时;该设置只抑制装饰性过渡,不隐式关闭演示所需的动态街景。需要静止画面时点击场景工具栏“暂停”,或按 P;再次点击“播放”或按 P 恢复。页面隐藏、切换楼层及返回整栋时会冻结并校正动画时钟,避免恢复后车辆或行人瞬移。

独立项目 v1.1.0 增加有厚度的半透明三维 IoT 标牌、边缘高光、空间锚点和连线;标牌保留键盘可操作的 DOM 命中区及读屏文本,窄屏分栏避让。通过“街景”按钮或 G 键近看车辆的轮拱、弧面玻璃、座舱和轮毂,以及人物的服饰、肘膝关节与落脚步态。人物使用共享几何的 GPU 实例化降低绘制开销,近景与整栋切换不重建车流。新增模型由免费 Three.js 自制,属于更细化的原创演示资产,不是品牌厂商精确样车或照片扫描人物。普通和减少动态效果两种浏览器设置均须做时间序列回归,不能只凭截图宣称动画正常。

独立项目 v1.2.0 将近景 28 棵交叉照片贴片树替换为共享几何的真实 GLB 树,并按实际周长修正远景树带贴图比例,避免山/树林被横向拉伸。树木来自 Poly Haven 的 Tree Small 02(CC0 许可),经 glTF-Transform 简化并转 WebP 后约 3.68 MB;原始资产和处理工具不进入公开运行包。树木失载有本地几何降级,首次加载、街景、移动端及切换楼层后返回整栋均需在真实浏览器验证。本次并未让户内 2.5D 材质变为完整可漫游室内,也未获得概念图相似度的美术签收。

楼栋、楼层、空间、设备及问答记录分别保存在 mci_twin_building、mci_twin_floor、mci_twin_space、mci_twin_device、mci_twin_query_log;mci_twin_bootstrap 与 mci_twin_ask 接口引擎允许匿名读取/问答,匿名问答不写日志。独立城市摩尔应用 v1.3.0 安装包含前四张表的 828 条演示种子记录(1 栋、12 层、280 个空间、535 台设备),问答日志不作为种子。这些业务资源只属于城市摩尔包,不属于 app.microi.3d-engine。商业街东西短侧墙避免照片立面与墙体共面造成 z-fighting:外露侧墙保留独立纹理面并拉开深度,内部相交的侧面不另画;多视角视觉回归不能只看正面。天空改用真正 2:1 经纬球的 Rustig Koppie Pure Sky(Poly Haven CC0),正面及两侧观察确认蓝天、自然云层与远景树带相接,避免普通横图的拼缝、摄影树冠或草地被投到天空。设备运行值与用能值为模拟数据,不代表实时 BMS/IoT 接入。当前混合实模与原创园区资产可演示交互,但尚未达到概念图 90%–95% 的商业级视觉相似度。

需要 Unity 物理、角色控制、复杂交互或现有 Unity 工程时,使用独立的 Unity 3D 与 WebGL 集成。Unity 客户端通过 UPM SDK 与宿主桥接,业务通讯继续进入 V8 接口引擎,不需要为每个项目新增专用 Server Controller。

3D 页面应限制模型大小、贴图分辨率和同时加载数量;移动设备还需要测试 GPU 内存、弱网加载、页面离开后的资源释放与低性能降级。

CAD 与工程文件预览 ​

CAD 入口位于文件管理、上传控件和 /mic/cad-preview。当前链路按格式区分:

  • DWG 在后端转换为 _preview.dxf,前端使用 DXF 预览;
  • STEP/STP 通过可用的 FreeCAD/Python OCC 转换链生成 _preview.stl;
  • STL 由 Three.js STLLoader 渲染;
  • 已有 DXF/STL 可直接进入对应查看器。

后端转换实现在 Microi.Server/Microi.HDFS/CadFileConverter.cs。FreeCAD 是可选外部依赖;服务器没有可执行文件、权限不足或转换失败时,原文件仍可保留,但不能把“上传成功”报告成“CAD 预览成功”。

文件与租户边界 ​

  1. 原文件、转换文件与预览 URL 都必须绑定当前 OsClient、桶和对象路径。
  2. 私有文件通过后端签名/代理能力获取,不把对象存储密钥交给前端。 上传字段的派生预览必须使用 FormFieldDerivedPreview 权威上下文:服务端先确认业务字段精确引用原 DWG/STEP/STP,再按转换器同源规则重算同目录 _preview.dxf/_preview.stl 并确认对象存在;任意后缀、跨目录或只传派生路径都会失败关闭。
  3. 外部 MinIO 迁移先探测源/目标,再按相对路径复制并做对象回读。
  4. 后台转换适合进入可恢复任务;多节点环境同时扫描时需要分布式租约与幂等键。
  5. 文件上传 HTTP 200、任务记录成功、对象存在和浏览器真实渲染是四项不同证据。

验收清单 ​

  • 大屏:桌面与移动视口、全屏、刷新、数据源失败、长时间运行内存。
  • 3D:本地文件与远程 URL、Draco 模型、材质/灯光、相机路径、页面退出释放。
  • LIS:正常文件与非法输入、规格搜索/分页、无自动选择、各支持类型与不支持原因、孔洞与毫米换算、长度校验、场景保存后重新打开,以及 GLB/GLTF 兼容;另做桌面/窄屏、明暗主题和真实 WebGL 渲染验收。
  • CAD:DWG→DXF、STEP/STP→STL、转换器缺失、中文文件名、大文件与私有 URL。
  • 权限:普通角色不能通过直接路由或对象 URL 读取未授权数据/文件。
  • 部署:两节点并发转换不重复写对象,节点中断后任务可恢复。

引擎之城 v1.2:大型科技城与完整能力地图 ​

围绕中央 AI 塔重建 300 米主岛、六大引擎街区、独立 V8 枢纽和三个交付港,包含 48 座能力地标、239 栋街区建筑、399 株植被与 9 座桥梁。玻璃立面、暖色窗格、金色双螺旋、透明基础设施截面、列车、数据流与扫描环共同呈现开源 AI 开发框架。它是架构导览的原创演示城市,并非实测城市或工程 BIM。

控制台新增“能力地图”,覆盖技术架构版全部 44 项条目,并补充数据源引擎、AI CAD、AI 员工中心、数字人直播,共 48 项能力、122 条功能说明和 164 个标签;支持搜索、进入机位及新标签打开官方文档。59 个机位在同一场景内连续飞行。

桌面默认展示城市全貌:左键旋转、右键平移,鼠标在 3D 区域内滚动可放大缩小;全屏按钮左侧另有放大、缩小按钮。拖动、缩放和手动选机位都会停止自动巡游,点击播放才恢复。手机采用沿城市长轴的独立总览机位,内嵌时单指浏览网页、双指探索场景,支持全屏。

Draco 模型约 1.9 MB,完整运行资源约 3.5 MB;共享材质与几何合批减少绘制,手机关闭辉光和阴影、限制像素比,离屏或后台自动暂停渲染。模型、可编辑 Blender 原件和实机预览图均通过官方 MCP 上传 CDN,源码只保留清单、哈希与重建脚本。

品牌使用原始 SVG;平台发展口径为 12年:始于2014年,2018年重构,2025年开源。

MIT License.