任务中心
转换任务队列 · 状态机:排队 → 解析 → 转换 → 压缩 → 编码 → 完成
任务列表
—
| 任务号 | 源文件 | 输出目标 | 状态 | 耗时 | 创建时间 | 完成时间 | 操作 |
|---|---|---|---|---|---|---|---|
连接服务中… | |||||||
新建转换
输入源 → 输出目标 → 参数 → 预估 → 提交
① 输入源
浏览器直传或服务器路径 · 支持工业模型、GIS 数据、PLY / LAS / LAZ / XYZ / PTS 点云与高斯源
拖入模型文件,或点击选择
模型或 ZIP 资源包 · 流式上传 · 单次上限 8GB
服务器样本源:
批量转换模型路径
每行填写一个本机服务可访问的完整模型路径,最多 128 个。各模型使用下方相同输出目标与参数;不同参数请分批提交。转换按配置并发执行,任务列表自动刷新。
② 输出目标
多选 · 产物按目标生成,实际耗时以任务结果为准
Gaussian
高斯保真包
PLY / SPLAT / LCC · 原始字节、球谐与 LOD 保留 · 可叠加真高斯瓦片
Gaussian Tiles
真高斯瓦片
PLY / SPLAT / LCC2 → 压缩或浮点高斯切片 · 地理锚点、私有服务发布与预览
.dpepack
DPE 编辑器
原生格式 · 实例化 + 4 档 LOD + 列式属性 · 编辑器内一键置入
.glb
glTF 2.0 通用
普通节点保留构件位置 · 单文件模型交付
3D Tiles
大场景流式
OGC 1.1 · 扇区→tile、LOD→geometricError 阶梯 · 孪大师大场景 / GIS 生态
.fbx
静态模型交换 API
FBX 7.4 · 编码与材质范围依输入通道 · 查看导出接口
③ 转换参数
按输出目标与源格式显示
兼容单模型 V8 的受验配对圆柱实体、索引网格与三维折线;坐标为显示单位。当前状态、完整原生外观及完整导入按兼容说明解释。
独立 JT10.1/10.3 兼容静态三角场景及单一内含根分区,仅 GLB / DPEPack;无法解释的节点状态或嵌套分区停止任务。原始单位须可完整且一致地解析;保留源局部矩阵、属性和发生路径。源顺序首个分支不代表原生当前配置或最高精度。源轴向按原数值方向显示,完整原生外观、外部引用及 B-Rep 工程精度不在等价保证范围。Windows x64 服务需配置独立读取运行时;不接受 ZIP 入口。
用于模型显示与评审。保留已核验的源发生项、局部变换及原 RGB 面颜色,名称使用源实体编号。复杂曲面的工程精度尚未核验,请勿用于精密测量、加工或尺寸验收。需要服务端已配置受控 Windows x64 转换组件;请使用独立 .x_t 文件,ZIP 入口不受此通道支持。仅接受组件已核验的文本 XT 版本,其他版本会明确拒绝。
GLB 导出档位
GLB 只导出所选档位;选择 LOD1–3 会生成所需的网格简化层级。
GLB 节点组织
静态 GLB 场景保留完整保留名称、节点局部坐标、属性、相机与内嵌 PNG / JPEG 原图,支持原 PBR 与 unlit 材质,仅无损压缩几何;体积无收益时保留原文件,输出 GLB / DPEPack。RVM / ASCII REV 默认使用场景保留及 LOD0,输出 GLB / DPEPack。高效实例化会重组节点与轴心,源装配目录不保证原局部轴心。
瓦片构件属性
将构件属性写入 3D Tiles,支持按构件拾取与查询。
FBX 静态姿态
用于输出空间瓦片,保留几何、层级与材质。需要骨骼动画交付时请选择 GLB / DPEPack。
瓦片坐标
地理锚点
将模型局部坐标放置到此经纬度与椭球高;请填写核实后的值。
按空间分块并保留全部点;达到最大深度或点重合时可能超出目标。
0 表示单瓦片。分块不生成网格简化 LOD。
PLY / LAS / LAZ / XYZ / PTS 按点云输出,不使用网格焊接或三角面简化。LAS/LAZ 保留分类、回波序号与强度属性;地理定位需核实源坐标系和高程基准。
支持空格、制表符或逗号分隔。PTS 首个有效行填写点数;无表头的多列 XYZ 请按源数据选择列序。
保留源颜色数值;16 位颜色映射为 8 位显示。强度保留原始数值;无 RGB 的点云使用统一显示色。
覆盖文件 CRS 时请先核对测绘资料;未声明且不填写时仅能按已确认的源单位输出局部坐标。
仅影响预览颜色;原文件与 16 位强度仍保留。若自动判为 8 位但后续值超出范围,任务会拒绝并提示改选 16 位。
按源 CRS 地理定位
将 LAS/LAZ 点逐点转为 ECEF,再在文件中心建立局部 ENU;不与手工锚点叠加。
确认高程基准
测绘数据常为正高。未经核实不要勾选,否则地理高度可能错误。
每片目标点数
100–100000 点。按空间继续分块;达到最大深度或源点重合时可能超出目标。
最大分块深度
1–10 层。控制空间分块;LCC2 保留源层级。
浮点属性避免再次压缩造成的系数钳制和旋转量化;保留源格式本身的误差,预览仍受渲染精度限制。
精细档减少视角变化时的颜色量化,产物更大;不改变点数和几何精度。无方向颜色的源数据不受影响;超范围颜色仍可能钳制。
精细层保留全部源高斯。生成的远景层为近似结果,需对照原包验收透明度和细节。
100 点起,不超过精细层每片目标点数。影响远景细节和加载量。
LCC2 保留原生层级和环境高斯,不生成 PLY/SPLAT 近似粗层。
高斯保真包保留源字节、球谐和原生层级。高斯切片保留全部最细层点,并保留 LCC2 原生 LOD;不使用网格简化参数。单位与坐标轴按声明记录到保真包,并用于瓦片转换。
LOD 档位
4 档(默认)仅 lod0
原型级简化 + 构件丢弃掩码
LOD 架构
proto(推荐)sector
按原型复用几何,实际体积与加载成本以本次产物为准
几何压缩
完整 GLB 场景保留时压缩 GLB 的几何视图,并逐字节回解核对;其他静态通道仅控制平台原生包,不控制 GLB 或 3D Tiles 的编码。
曲面显示精度
STEP / IGES / 场景保留 RVM / REV 使用此离散参数;RVM / REV 为绝对毫米值,原参数保留,显示离散不等于测量精度或检测认证。
源单位制
已声明单位的格式按其声明处理。OBJ 不自带可靠单位:请选择已核实的源单位;若暂时未知,明确选择“保留原数值”,产物比例仍需核尺,不能视为米制已验证。
坐标轴约定
OBJ/STL 等未声明向上轴,请按源模型选择。Z-up 转换为 (x,z,-y);已由读取器规范化的格式不重复旋转。
LOD 误差目标
简化误差容限缩放:数值越小越严格,实际三角数由源几何和误差上限共同决定。
反面显示保护
写入 GLB、原生包和 3D Tiles。双面显示不改变透明度,也不补造缺失的面;可能增加绘制开销。
光照法线
按现有顶点连接重算,不合并硬边。重算法线不改变面朝向;源壳体方向不一致时配合双面保护。动画模型仅支持视口排查。
网格焊接容差
近点焊接可能合并细节并减少三角;默认保留 LOD0 顶点与拓扑。
小构件过滤
三角数小于阈值的构件整体丢弃,请谨慎开启。
简化质量预设
控制网格简化误差,与 LOD 误差目标共同生效。
边界保留
简化时保留边界顶点,减少装配接缝开裂。
LOD 目标比例
比例是简化目标,受几何误差、接缝和构件完整性约束;以输出报告的实际面数为准。
④ 预估
提交后以本次转换实测为准
选择输入源与输出目标后显示预估
提交后进入任务队列 · 可通过 API / MCP 跟踪状态
产物仓库
已完成任务的输出产物 · 体积对比与交付
产物列表
—
| 产物 | 来源任务 | 体积对比(原始 → 产物) | 创建时间 | 操作 |
|---|---|---|---|---|
连接服务中… | ||||
体积对比取任务实测值;导出链在构建完成后独立执行(「一次构建、多目标导出」)。glb 产物经编码器内建读回验证(三角 / 实例守恒)。删除产物会同时移除该产物的磁盘文件与清单条目,任务记录保留并标注「产物已清理」;源文件与交付台账不受影响。
模型视口
一个视口看全部产物:glb / dpepack 本地渲染 · 3D Tiles 支持本地模式与地理模式(真实经纬度,地球底图)
对接管理
消费端连接 · 交付协议 · 凭据
DPE 编辑器
产物清单交付
离线客户端使用企业自行部署的 DPE 入口。接收端须能访问 PLW 服务地址,并配置资源访问凭据。
- 消费端
- DPE 编辑器(BS 架构 · 本机或局域网)
- 交付协议
- REST POST /api/v1/tasks/{id}/deliver → picimos-deliver-v1 产物清单
- 拉取方式
- glb 单文件直链;dpepack / 3dtiles 目录深路径(manifest.json / tileset.json)
- 装载校验
- 编辑器内置加载器运行时对账(三角 / 实例零偏差)
- 降级行为
- 编辑器离线时任务照常执行,产物转入仓库待领取
- 交付核验
- 在消费端验证模型加载、构件属性以及保存重开结果。
最近交付
| 任务 | 消费端 | 交付物 | 时间 |
|---|---|---|---|
暂无交付记录 · 产物仓库中点击「置入 DPE 编辑器」发起首次交付 | |||
孪大师客户端
标准格式输出 · 无专有协议
- 常规导入
- .glb(实例化保留)—「导入 glb」直接消费
- 大场景
- 3D Tiles 1.1 — 大场景模式流式加载(SSE 驱动 LOD)
- 导出预设
- glb · Y-up · 单位米 · 纹理嵌入(可修改)
API 凭据
私有化 / 云端形态启用
- 当前服务
- 等待连接
访问令牌由部署管理员配置。使用顶栏鉴权入口连接服务;本页不列出服务端密钥,也不提供密钥创建或权限分配。
变更审计
业务属性回写台账 · 谁在何时改了哪个构件的什么
回写记录
按时间倒序 · 最近 12 条
| 任务 | 消费端 | 构件 | 变更键 | 时间 |
|---|---|---|---|---|
暂无回写记录 · 在 DPE 编辑器属性卡双击业务属性值,或通过 PATCH 端点发起首次回写 | ||||
回写协议:PATCH /api/v1/tasks/{id}/artifacts/dpepack/attributes/biz/rows/{cid}(单构件)·
PATCH …/biz/bulk(批量:多构件 × 多键原子应用,任一构件不存在整体拒绝)。
契约:键集不可变(仅允许改已有键的值)+ 类型强约束(schema 推导)+ 改后 schema 自动重算(消费端分组口径保持一致)。
台账随任务持久化(重启不丢,上限 100 条滚动);产物文件是唯一事实源,台账为审计辅助。
API · SDK · MCP
/api/v1 · 按服务配置鉴权;健康端点开放 · 完整接口与接入参考
REST 端点
以下端点均为本服务真实实现
POST/api/v1/tasks提交转换(sourcePath + targets + options)· 骨骼 FBX 仅 glb/dpepack 保留动画;静态 Tiles/FBX 需显式 bakeStaticPose=true
GET/api/v1/tasks · /{id}任务列表 / 详情(v2.3:列表支持 ?search=&status=&format= 三参过滤)
DEL/api/v1/tasks/{id}v2.3 新增:删除任务(取消运行 worker + 清产物目录 + 保留源文件)
GET/api/v1/tasks/{id}/artifacts产物清单(格式 / 体积 / 三角 / 验证标记)
GET/api/v1/tasks/{id}/artifacts/{a}[/*]产物下载(目录产物支持深路径)
POST/api/v1/tasks/{id}/deliver交付协议 picimos-deliver-v1(一键置入)
POST/api/v1/estimate源资源体积与产物估算边界
GET/api/v1/sources服务器样本源清单(输入源数据)
GET/api/v1/formats输出目标支持矩阵
GET/api/v1/health · /stats健康检查 / 队列与吞吐统计
MCP 工具集
独立 MCP 服务 · 15 个工具
| 工具 | 语义 |
|---|---|
| list_formats | 查询当前平台的输入/输出格式及读取边界 |
| upload_model | 上传单个模型或包含依赖资源的 ZIP(标准 base64,最多 64 MiB);格式以 list_formats 为准。更大文件请通过平台 HTTP 上传接口传输。 |
| convert_model | 提交转换任务;OBJ 必须明确 source_unit,ZIP 多入口用 entry 指定。独立 DGN 源显示须明确 dgn_profile=source-display 与 dgn_remainder_policy;使用诊断材质及显示比例,任务报告列出未输出元素。独立 JT 源显示须明确 jt_profile=source-display 与 jt_lod_policy=first-source-child,仅兼容静态 GLB/DPEPack;源轴向、当前配置与完整外观按兼容说明解释。.x_t 显示预览须明确 xt_profile=display-preview,仅 GLB/DPEPack LOD0,复杂曲面工程精度未核验且需要受控 Windows x64 组件。native-step-glb 需独占目标并明确源向上轴。返回任务 ID。 |
| get_task | 查询任务状态、产物和持久化警告;completed 不等于所有源特性均已保留,必须阅读 warnings 与产物 meta |
| list_tasks | 列出最近的转换任务(默认 10 条) |
| get_artifact_url | 获取产物下载 URL;启用鉴权时下载请求仍须携带凭证,URL 不包含 token |
| estimate_model | 读取真实服务器源资源体积及估算边界;网格产物 bytes 为 null,须转换后统计。高斯给出源资源下限,不含清单等开销。 |
| list_gis_services | 按名称/编号、类型和状态筛选当前身份可访问的私有 GIS 服务 |
| get_gis_service | 查询私有 GIS 服务状态、版本和不含凭据的稳定地址 |
| set_gis_vector_style | 保存点线面、属性分类、数值分段及 label 属性标注样式,同步 PLW 预览和 WMS/WMTS 图片。classification.mode=range 时区间 min 包含、max 不包含,null 边界表示无界,按下限升序且不重叠;只匹配数值。未匹配值用默认样式;expected_revision 防止覆盖并发修改 |
| rename_gis_service | 修改服务名称,保持固定地址、发布状态和所有版本不变;expected_name 用于防止覆盖并发改名 |
| create_gis_service | 从已完成 GIS 切片任务创建私有服务草稿;局部坐标需要地理锚点,已定位模型保留源定位 |
| add_gis_service_version | 从已完成 GIS 切片任务创建独立不可变版本;不会自动切换已发布版本 |
| publish_gis_service | 发布、恢复或回滚到指定有锚点版本;未指定版本时恢复当前版本或首次发布最新版本 |
| pause_gis_service | 暂停服务;根清单和所有版本瓦片停止分发 |
接入流程:先 list_formats 核对输入兼容范围与运行时限制,再 upload_model → convert_model → get_task 检查最终状态与 warnings → get_artifact_url。下载请求仍须携带服务凭证。
调用示例
REST 与 JavaScript 工作流 · 浏览器及 Node.js 接入
静态 FBX 使用 targets: ["fbx"] 导出几何与材质。含骨骼动画的模型使用 GLB / DPEPack 保留动态内容;需要静态姿态时明确设置 options.bakeStaticPose=true。请将示例中的服务地址、模型路径和授权码替换为实际配置。
# 提交转换并等待完成 curl -X POST http://localhost:8800/api/v1/tasks \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_PLW_AUTHORIZATION_CODE" \ -d '{ "sourcePath": "/data/big120.glb", "targets": ["dpepack", "glb", "3dtiles"], "options": { "compress": true, "lodArch": "proto" } }' # 交付协议(一键置入——DPE 编辑器消费) curl -X POST http://localhost:8800/api/v1/tasks/<id>/deliver \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_PLW_AUTHORIZATION_CODE" \ -d '{"consumer": "dpe-editor", "artifactId": "dpepack"}'
// 原生 fetch(控制台同款调用,浏览器 / Node 同构) const base = "http://localhost:8800"; const accessToken = "YOUR_PLW_AUTHORIZATION_CODE"; const headers = { "content-type": "application/json", authorization: "Bearer " + accessToken }; async function checked(response) { const value = await response.json(); if (!response.ok) throw new Error(value.error || response.status); return value; } const capabilities = await fetch(base + "/api/v1/formats", { headers }).then(checked); // 展示 inputSupport 和 formats 的 available/限制;输出目标存在不代表任意输入都可转换。 const task = await fetch(base + "/api/v1/tasks", { method: "POST", headers, body: JSON.stringify({ sourcePath: "/data/big120.glb", targets: ["dpepack", "glb"], options: { compress: true, lodArch: "proto" } }) }).then(checked); // 轮询至完成 → 拉产物清单 const done = await (async () => { const deadline = Date.now() + 300000; for (;;) { if (Date.now() >= deadline) throw new Error("等待超时,保留任务 ID 后查询:" + task.id); const t = await fetch(base + "/api/v1/tasks/" + encodeURIComponent(task.id), { headers, signal: AbortSignal.timeout(deadline - Date.now()) }) .then(checked); if (t.status !== "running" && t.status !== "queued") return t; await new Promise(r => setTimeout(r, 2000)); } })(); if (done.status !== "completed") throw new Error(JSON.stringify(done.error || done)); console.log(done.artifacts.map(a => a.name), done.warnings || []); // → ["big120.dpepack", "big120.glb"]
系统状态
服务 · 队列 · 存储 · 引擎能力
服务
运行中
—
队列深度
—任务
—
累计转换
—任务
—
产物输出
—
输入累计 —
运行时
- 平台版本
- —(引擎 m2-pack)
- 运行时长
- —
- 并发 Worker
- —
- 执行隔离
- worker_threads(build 链独立线程)
- 任务持久化
- tasks-index.json · 重启恢复 completed
- 鉴权
- —
转换与质量规则
具体结果以任务记录为准
- 实例复用
- 按几何、属性和材质判断;保留构件身份
- 几何压缩
- meshopt 编码;默认保留 LOD0 解析拓扑
- LOD
- 受几何误差与属性接缝约束,保留全部构件
- 体积 / 耗时
- 转换完成后显示本次实际结果
- 输出目标
- dpepack / GLB / 3D Tiles / FBX / 高斯源包
- 质量核对
- 查看构件、单位、图片、动画、任务警告及验证结果
GIS 切片与服务
模型 / 点云 · 高斯 · 影像 · 地形 · 矢量 · 版本发布与私有分发
正在载入 GIS 模块…