Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

2183 rader
68 KiB

  1. {
  2. "id": "116",
  3. "code": "BRIDGE-005-AUTHORING-PILOT",
  4. "name": "005 液压泵应急切换(编排验证)",
  5. "description": "独立编排验证,不替换现有005",
  6. "channel": "VIRTUAL",
  7. "assignmentKind": "TRAINING",
  8. "executionMode": "PRACTICE",
  9. "audienceType": "COMMON",
  10. "collaborationMode": "INDIVIDUAL",
  11. "digitalHumanAllowed": false,
  12. "digitalInstructorAgentSlug": "",
  13. "digitalInstructorAgentName": "",
  14. "digitalInstructorKnowledgeSource": "AGENT",
  15. "contentProjectId": "458",
  16. "contentVersionId": "552",
  17. "definitionSnapshot": {
  18. "schema": "digital-workshop-training-project",
  19. "version": 1,
  20. "trainingMode": "VIRTUAL",
  21. "enabledChannels": [
  22. "VIRTUAL"
  23. ],
  24. "channelProfiles": {
  25. "VIRTUAL": {
  26. "type": "VIRTUAL",
  27. "renderMode": "三维实时仿真",
  28. "interactionMode": "三维操作、动画引导与规则自动判定",
  29. "assistance": "演示、训练与模拟考试"
  30. }
  31. },
  32. "level": "标准",
  33. "durationMinutes": 10,
  34. "totalScore": 100,
  35. "objectives": [],
  36. "steps": [
  37. {
  38. "id": "front-pump-step-01",
  39. "stepCode": "front-pump-step-01",
  40. "order": 1,
  41. "title": "根据故障现象确定是哪一个液压泵发生故障",
  42. "summary": "根据故障现象确定是哪一个液压泵发生故障(注:模型_1液压泵标记出来。例如显红色)",
  43. "score": 10,
  44. "actionCode": "COMPLETE_FRONT-PUMP-STEP-01",
  45. "allowedPositions": [],
  46. "physicalEventRule": {},
  47. "targetId": "front-pump-hydraulic-pump",
  48. "targetName": "液压泵",
  49. "mode": "inspect",
  50. "interaction": "rule-check",
  51. "instruction": "根据故障现象确定是哪一个液压泵发生故障(注:模型_1液压泵标记出来。例如显红色)",
  52. "guidance": "根据故障现象确定是哪一个液压泵发生故障(注:模型_1液压泵标记出来。例如显红色)",
  53. "warning": "",
  54. "destination": "液压泵",
  55. "success": "根据故障现象确定是哪一个液压泵发生故障",
  56. "action": {
  57. "kind": "mechanism-operation",
  58. "targetId": "front-pump-hydraulic-pump",
  59. "mode": "inspect",
  60. "durationMs": 900,
  61. "tolerance": 0,
  62. "requiresPlacement": false,
  63. "cameraPolicy": "exterior",
  64. "mechanism": {
  65. "type": "identify",
  66. "axisSpace": "world",
  67. "highlightColor": "#e53935",
  68. "steps": [
  69. {
  70. "targetId": "front-pump-hydraulic-pump",
  71. "axis": [
  72. 0,
  73. 1,
  74. 0
  75. ],
  76. "toleranceDegrees": 6,
  77. "directionHint": "点击并确认发生故障的液压泵"
  78. }
  79. ]
  80. }
  81. },
  82. "toolId": "",
  83. "safetyRules": [
  84. {
  85. "id": "ppeConfirmed",
  86. "label": "个人防护用品齐全",
  87. "required": true
  88. },
  89. {
  90. "id": "routeAuthorized",
  91. "label": "作业路线已授权",
  92. "required": true
  93. }
  94. ],
  95. "audio": {
  96. "narrationText": "第1步,确定故障液压泵。根据故障现象确定发生故障的液压泵。",
  97. "narrationAssetCode": "PILOT-005-1-AUDIO",
  98. "safetyText": "安全提示:请按规定顺序操作并远离危险区域。",
  99. "safetyAssetCode": "",
  100. "successCue": "ui",
  101. "errorCue": "collision-error",
  102. "narrationSource": "offline",
  103. "offlineSource": "upload",
  104. "offlineMediaType": "video",
  105. "offlineFileName": "",
  106. "offlineAssetKey": "",
  107. "offlineMimeType": "",
  108. "offlineSizeBytes": 0,
  109. "narrationVideoAssetCode": "PILOT-005-1-VIDEO",
  110. "narrationUrl": "",
  111. "safetyUrl": "",
  112. "digitalHuman": {
  113. "enabled": false,
  114. "mode": "video",
  115. "videoSource": "upload",
  116. "videoId": "",
  117. "appId": "",
  118. "videoUrl": "",
  119. "videoFileName": "",
  120. "folderId": "equipment-hydraulic-fault",
  121. "folderPath": "装备维修 / 液压系统 / 故障排查",
  122. "videoName": "",
  123. "avatarId": "",
  124. "avatarName": "",
  125. "backgroundImage": "",
  126. "backgroundName": "",
  127. "audioUrl": "",
  128. "audioName": "",
  129. "voiceId": "",
  130. "voiceName": "",
  131. "scriptText": "",
  132. "generatedVideoId": "",
  133. "generatedVideoUrl": "",
  134. "generatedAt": "",
  135. "generationStatus": "generated"
  136. }
  137. },
  138. "animationBinding": null,
  139. "faultIds": [],
  140. "assessment": {
  141. "weight": 20,
  142. "requiredDimensions": [
  143. "action",
  144. "sequence"
  145. ],
  146. "passPolicy": "all-required"
  147. },
  148. "cameraPolicy": "exterior",
  149. "number": 1,
  150. "targetRef": {
  151. "sceneId": "front-pump-rescue-vehicle",
  152. "sceneObjectId": "front-pump-rescue-vehicle",
  153. "interactionId": "front-pump-hydraulic-pump",
  154. "sourceInteractionId": "front-pump-hydraulic-pump",
  155. "editorId": "bridge-0916-node-92",
  156. "nodePath": "0/46/0",
  157. "sourceNodeName": "1_24柱塞泵3_05前泵3_08新泵",
  158. "capabilities": [
  159. "select",
  160. "inspect"
  161. ],
  162. "visible": true
  163. },
  164. "toolRequirements": [],
  165. "targetNodeId": "front-pump-hydraulic-pump",
  166. "targetNodeName": "1_24柱塞泵3_05前泵3_08新泵",
  167. "toolPlacement": {
  168. "placed": false,
  169. "position": [
  170. -3.2,
  171. 0.18,
  172. 1.8
  173. ],
  174. "rotation": [
  175. 0,
  176. 0,
  177. 0
  178. ],
  179. "scale": 1,
  180. "attachedTargetId": "",
  181. "pose": "tray"
  182. }
  183. },
  184. {
  185. "id": "front-pump-step-02",
  186. "stepCode": "front-pump-step-02",
  187. "order": 2,
  188. "title": "断开架桥车取力器",
  189. "summary": "断开架桥车取力器。(注:显示模型2取力器和2取力器开关,摇动模型2取力器开关。特别说明这个这边是早上随手补的不准确,车外看就行,不要拉近)",
  190. "score": 10,
  191. "actionCode": "COMPLETE_FRONT-PUMP-STEP-02",
  192. "allowedPositions": [],
  193. "physicalEventRule": {},
  194. "targetId": "front-pump-pto-switch",
  195. "targetName": "取力器开关",
  196. "mode": "inspect",
  197. "interaction": "rule-check",
  198. "instruction": "断开架桥车取力器。(注:显示模型2取力器和2取力器开关,摇动模型2取力器开关。特别说明这个这边是早上随手补的不准确,车外看就行,不要拉近)",
  199. "guidance": "断开架桥车取力器。(注:显示模型2取力器和2取力器开关,摇动模型2取力器开关。特别说明这个这边是早上随手补的不准确,车外看就行,不要拉近)",
  200. "warning": "",
  201. "destination": "取力器开关",
  202. "success": "断开架桥车取力器",
  203. "action": {
  204. "kind": "mechanism-operation",
  205. "targetId": "front-pump-pto-switch",
  206. "mode": "inspect",
  207. "durationMs": 900,
  208. "tolerance": 0,
  209. "requiresPlacement": false,
  210. "cameraPolicy": "exterior",
  211. "mechanism": {
  212. "type": "rotate",
  213. "axisSpace": "world",
  214. "visualTargetIds": [
  215. "front-pump-power-take-off"
  216. ],
  217. "steps": [
  218. {
  219. "targetId": "front-pump-pto-switch",
  220. "axis": [
  221. 1,
  222. 0,
  223. 0
  224. ],
  225. "deltaDegrees": -30,
  226. "toleranceDegrees": 6,
  227. "directionHint": "向断开方向摇动"
  228. }
  229. ]
  230. }
  231. },
  232. "toolId": "",
  233. "safetyRules": [
  234. {
  235. "id": "ppeConfirmed",
  236. "label": "个人防护用品齐全",
  237. "required": true
  238. },
  239. {
  240. "id": "routeAuthorized",
  241. "label": "作业路线已授权",
  242. "required": true
  243. }
  244. ],
  245. "audio": {
  246. "narrationText": "第2步,断开架桥车取力器。将架桥车取力器断开。",
  247. "narrationAssetCode": "PILOT-005-2-AUDIO",
  248. "safetyText": "安全提示:请确认压力归零并可靠支承后再进行拆卸。",
  249. "safetyAssetCode": "",
  250. "successCue": "ui",
  251. "errorCue": "collision-error",
  252. "narrationSource": "offline",
  253. "offlineSource": "upload",
  254. "offlineMediaType": "video",
  255. "offlineFileName": "",
  256. "offlineAssetKey": "",
  257. "offlineMimeType": "",
  258. "offlineSizeBytes": 0,
  259. "narrationVideoAssetCode": "PILOT-005-2-VIDEO",
  260. "narrationUrl": "",
  261. "safetyUrl": "",
  262. "digitalHuman": {
  263. "enabled": false,
  264. "mode": "video",
  265. "videoSource": "upload",
  266. "videoId": "",
  267. "appId": "",
  268. "videoUrl": "",
  269. "videoFileName": "",
  270. "folderId": "equipment-hydraulic-fault",
  271. "folderPath": "装备维修 / 液压系统 / 故障排查",
  272. "videoName": "",
  273. "avatarId": "",
  274. "avatarName": "",
  275. "backgroundImage": "",
  276. "backgroundName": "",
  277. "audioUrl": "",
  278. "audioName": "",
  279. "voiceId": "",
  280. "voiceName": "",
  281. "scriptText": "",
  282. "generatedVideoId": "",
  283. "generatedVideoUrl": "",
  284. "generatedAt": "",
  285. "generationStatus": "generated"
  286. }
  287. },
  288. "animationBinding": null,
  289. "faultIds": [],
  290. "assessment": {
  291. "weight": 20,
  292. "requiredDimensions": [
  293. "action",
  294. "sequence"
  295. ],
  296. "passPolicy": "all-required"
  297. },
  298. "cameraPolicy": "exterior",
  299. "number": 2,
  300. "targetRef": {
  301. "sceneId": "front-pump-rescue-vehicle",
  302. "sceneObjectId": "front-pump-rescue-vehicle",
  303. "interactionId": "front-pump-pto-switch",
  304. "sourceInteractionId": "front-pump-pto-switch",
  305. "editorId": "bridge-0916-node-82",
  306. "nodePath": "0/41/0",
  307. "sourceNodeName": "1_25和1_27和2_03和2_08取力器开关",
  308. "capabilities": [
  309. "select",
  310. "inspect",
  311. "mechanism"
  312. ],
  313. "visible": true
  314. },
  315. "toolRequirements": [],
  316. "targetNodeId": "front-pump-pto-switch",
  317. "targetNodeName": "1_25和1_27和2_03和2_08取力器开关",
  318. "toolPlacement": {
  319. "placed": false,
  320. "position": [
  321. -3.2,
  322. 0.18,
  323. 1.8
  324. ],
  325. "rotation": [
  326. 0,
  327. 0,
  328. 0
  329. ],
  330. "scale": 1,
  331. "attachedTargetId": "",
  332. "pose": "tray"
  333. }
  334. },
  335. {
  336. "id": "front-pump-step-03",
  337. "stepCode": "front-pump-step-03",
  338. "order": 3,
  339. "title": "将架桥车备胎斜上方链接两个红色滤油器的球阀打开",
  340. "summary": "将架桥车备胎斜上方链接两个红色滤油器的球阀打开。(注;把模型3球阀开关由垂直与官道方向旋转至平行于管道方向)",
  341. "score": 10,
  342. "actionCode": "COMPLETE_FRONT-PUMP-STEP-03",
  343. "allowedPositions": [],
  344. "physicalEventRule": {},
  345. "targetId": "front-pump-ball-valve-switch",
  346. "targetName": "球阀开关",
  347. "mode": "inspect",
  348. "interaction": "rule-check",
  349. "instruction": "将架桥车备胎斜上方链接两个红色滤油器的球阀打开。(注;把模型3球阀开关由垂直与官道方向旋转至平行于管道方向)",
  350. "guidance": "将架桥车备胎斜上方链接两个红色滤油器的球阀打开。(注;把模型3球阀开关由垂直与官道方向旋转至平行于管道方向)",
  351. "warning": "",
  352. "destination": "球阀开关",
  353. "success": "将架桥车备胎斜上方链接两个红色滤油器的球阀打开",
  354. "action": {
  355. "kind": "mechanism-operation",
  356. "targetId": "front-pump-ball-valve-switch",
  357. "mode": "inspect",
  358. "durationMs": 900,
  359. "tolerance": 0,
  360. "requiresPlacement": false,
  361. "cameraPolicy": "focus",
  362. "mechanism": {
  363. "type": "rotate",
  364. "axisSpace": "world",
  365. "steps": [
  366. {
  367. "targetId": "front-pump-ball-valve-switch",
  368. "axis": [
  369. 0,
  370. 1,
  371. 0
  372. ],
  373. "deltaDegrees": 90,
  374. "toleranceDegrees": 8,
  375. "directionHint": "由垂直与官道方向旋转至平行于管道方向"
  376. }
  377. ]
  378. }
  379. },
  380. "toolId": "",
  381. "safetyRules": [
  382. {
  383. "id": "ppeConfirmed",
  384. "label": "个人防护用品齐全",
  385. "required": true
  386. },
  387. {
  388. "id": "routeAuthorized",
  389. "label": "作业路线已授权",
  390. "required": true
  391. }
  392. ],
  393. "audio": {
  394. "narrationText": "第3步,打开互救球阀。打开备胎上方两个红色滤油器之间的连通球阀,手柄由垂直管道转为平行管道。",
  395. "narrationAssetCode": "PILOT-005-3-AUDIO",
  396. "safetyText": "安全提示:请按规定顺序操作并远离危险区域。",
  397. "safetyAssetCode": "",
  398. "successCue": "ui",
  399. "errorCue": "collision-error",
  400. "narrationSource": "offline",
  401. "offlineSource": "upload",
  402. "offlineMediaType": "video",
  403. "offlineFileName": "",
  404. "offlineAssetKey": "",
  405. "offlineMimeType": "",
  406. "offlineSizeBytes": 0,
  407. "narrationVideoAssetCode": "PILOT-005-3-VIDEO",
  408. "narrationUrl": "",
  409. "safetyUrl": "",
  410. "digitalHuman": {
  411. "enabled": false,
  412. "mode": "video",
  413. "videoSource": "upload",
  414. "videoId": "",
  415. "appId": "",
  416. "videoUrl": "",
  417. "videoFileName": "",
  418. "folderId": "equipment-hydraulic-fault",
  419. "folderPath": "装备维修 / 液压系统 / 故障排查",
  420. "videoName": "",
  421. "avatarId": "",
  422. "avatarName": "",
  423. "backgroundImage": "",
  424. "backgroundName": "",
  425. "audioUrl": "",
  426. "audioName": "",
  427. "voiceId": "",
  428. "voiceName": "",
  429. "scriptText": "",
  430. "generatedVideoId": "",
  431. "generatedVideoUrl": "",
  432. "generatedAt": "",
  433. "generationStatus": "generated"
  434. }
  435. },
  436. "animationBinding": null,
  437. "faultIds": [],
  438. "assessment": {
  439. "weight": 20,
  440. "requiredDimensions": [
  441. "action",
  442. "sequence"
  443. ],
  444. "passPolicy": "all-required"
  445. },
  446. "cameraPolicy": "focus",
  447. "number": 3,
  448. "targetRef": {
  449. "sceneId": "front-pump-rescue-vehicle",
  450. "sceneObjectId": "front-pump-rescue-vehicle",
  451. "interactionId": "front-pump-ball-valve-switch",
  452. "sourceInteractionId": "front-pump-ball-valve-switch",
  453. "editorId": "bridge-0916-node-96",
  454. "nodePath": "0/48/0",
  455. "sourceNodeName": "1_26球阀开关",
  456. "capabilities": [
  457. "select",
  458. "inspect",
  459. "mechanism"
  460. ],
  461. "visible": true
  462. },
  463. "toolRequirements": [],
  464. "targetNodeId": "front-pump-ball-valve-switch",
  465. "targetNodeName": "1_26球阀开关",
  466. "toolPlacement": {
  467. "placed": false,
  468. "position": [
  469. -3.2,
  470. 0.18,
  471. 1.8
  472. ],
  473. "rotation": [
  474. 0,
  475. 0,
  476. 0
  477. ],
  478. "scale": 1,
  479. "attachedTargetId": "",
  480. "pose": "tray"
  481. }
  482. },
  483. {
  484. "id": "front-pump-step-04",
  485. "stepCode": "front-pump-step-04",
  486. "order": 4,
  487. "title": "重新联通取力器",
  488. "summary": "重新联通取力器(注:把步骤2的2取力器开关摇回去:还是不要拉近)",
  489. "score": 10,
  490. "actionCode": "COMPLETE_FRONT-PUMP-STEP-04",
  491. "allowedPositions": [],
  492. "physicalEventRule": {},
  493. "targetId": "front-pump-pto-switch",
  494. "targetName": "取力器开关",
  495. "mode": "inspect",
  496. "interaction": "rule-check",
  497. "instruction": "重新联通取力器(注:把步骤2的2取力器开关摇回去:还是不要拉近)",
  498. "guidance": "重新联通取力器(注:把步骤2的2取力器开关摇回去:还是不要拉近)",
  499. "warning": "",
  500. "destination": "取力器开关",
  501. "success": "重新联通取力器",
  502. "action": {
  503. "kind": "mechanism-operation",
  504. "targetId": "front-pump-pto-switch",
  505. "mode": "inspect",
  506. "durationMs": 900,
  507. "tolerance": 0,
  508. "requiresPlacement": false,
  509. "cameraPolicy": "exterior",
  510. "mechanism": {
  511. "type": "rotate",
  512. "axisSpace": "world",
  513. "visualTargetIds": [
  514. "front-pump-power-take-off"
  515. ],
  516. "steps": [
  517. {
  518. "targetId": "front-pump-pto-switch",
  519. "axis": [
  520. 1,
  521. 0,
  522. 0
  523. ],
  524. "deltaDegrees": 30,
  525. "toleranceDegrees": 6,
  526. "directionHint": "按步骤2的相反方向摇回去"
  527. }
  528. ]
  529. }
  530. },
  531. "toolId": "",
  532. "safetyRules": [
  533. {
  534. "id": "ppeConfirmed",
  535. "label": "个人防护用品齐全",
  536. "required": true
  537. },
  538. {
  539. "id": "routeAuthorized",
  540. "label": "作业路线已授权",
  541. "required": true
  542. }
  543. ],
  544. "audio": {
  545. "narrationText": "第4步,重新接通取力器。将架桥车取力器重新接通。",
  546. "narrationAssetCode": "PILOT-005-4-AUDIO",
  547. "safetyText": "安全提示:请按规定顺序操作并远离危险区域。",
  548. "safetyAssetCode": "",
  549. "successCue": "ui",
  550. "errorCue": "collision-error",
  551. "narrationSource": "offline",
  552. "offlineSource": "upload",
  553. "offlineMediaType": "video",
  554. "offlineFileName": "",
  555. "offlineAssetKey": "",
  556. "offlineMimeType": "",
  557. "offlineSizeBytes": 0,
  558. "narrationVideoAssetCode": "PILOT-005-4-VIDEO",
  559. "narrationUrl": "",
  560. "safetyUrl": "",
  561. "digitalHuman": {
  562. "enabled": false,
  563. "mode": "video",
  564. "videoSource": "upload",
  565. "videoId": "",
  566. "appId": "",
  567. "videoUrl": "",
  568. "videoFileName": "",
  569. "folderId": "equipment-hydraulic-fault",
  570. "folderPath": "装备维修 / 液压系统 / 故障排查",
  571. "videoName": "",
  572. "avatarId": "",
  573. "avatarName": "",
  574. "backgroundImage": "",
  575. "backgroundName": "",
  576. "audioUrl": "",
  577. "audioName": "",
  578. "voiceId": "",
  579. "voiceName": "",
  580. "scriptText": "",
  581. "generatedVideoId": "",
  582. "generatedVideoUrl": "",
  583. "generatedAt": "",
  584. "generationStatus": "generated"
  585. }
  586. },
  587. "animationBinding": null,
  588. "faultIds": [],
  589. "assessment": {
  590. "weight": 20,
  591. "requiredDimensions": [
  592. "action",
  593. "sequence"
  594. ],
  595. "passPolicy": "all-required"
  596. },
  597. "cameraPolicy": "exterior",
  598. "number": 4,
  599. "targetRef": {
  600. "sceneId": "front-pump-rescue-vehicle",
  601. "sceneObjectId": "front-pump-rescue-vehicle",
  602. "interactionId": "front-pump-pto-switch",
  603. "sourceInteractionId": "front-pump-pto-switch",
  604. "editorId": "bridge-0916-node-82",
  605. "nodePath": "0/41/0",
  606. "sourceNodeName": "1_25和1_27和2_03和2_08取力器开关",
  607. "capabilities": [
  608. "select",
  609. "inspect",
  610. "mechanism"
  611. ],
  612. "visible": true
  613. },
  614. "toolRequirements": [],
  615. "targetNodeId": "front-pump-pto-switch",
  616. "targetNodeName": "1_25和1_27和2_03和2_08取力器开关",
  617. "toolPlacement": {
  618. "placed": false,
  619. "position": [
  620. -3.2,
  621. 0.18,
  622. 1.8
  623. ],
  624. "rotation": [
  625. 0,
  626. 0,
  627. 0
  628. ],
  629. "scale": 1,
  630. "attachedTargetId": "",
  631. "pose": "tray"
  632. }
  633. },
  634. {
  635. "id": "front-pump-step-05",
  636. "stepCode": "front-pump-step-05",
  637. "order": 5,
  638. "title": "打开辅助控制盒内的“互救”开关",
  639. "summary": "打开辅助控制盒内的“互救”开关(注:打开5辅助控制盒盖在5辅助控制盒面板上,把5互救开关往上搬)",
  640. "score": 10,
  641. "actionCode": "COMPLETE_FRONT-PUMP-STEP-05",
  642. "allowedPositions": [],
  643. "physicalEventRule": {},
  644. "targetId": "front-pump-aux-control-box-cover",
  645. "targetName": "辅助控制盒盖",
  646. "mode": "inspect",
  647. "interaction": "rule-check",
  648. "instruction": "打开辅助控制盒内的“互救”开关(注:打开5辅助控制盒盖在5辅助控制盒面板上,把5互救开关往上搬)",
  649. "guidance": "打开辅助控制盒内的“互救”开关(注:打开5辅助控制盒盖在5辅助控制盒面板上,把5互救开关往上搬)",
  650. "warning": "",
  651. "destination": "辅助控制盒盖",
  652. "success": "打开辅助控制盒内的“互救”开关",
  653. "action": {
  654. "kind": "mechanism-operation",
  655. "targetId": "front-pump-aux-control-box-cover",
  656. "mode": "inspect",
  657. "durationMs": 1600,
  658. "tolerance": 0,
  659. "requiresPlacement": false,
  660. "cameraPolicy": "focus",
  661. "mechanism": {
  662. "type": "sequence",
  663. "axisSpace": "world",
  664. "visualTargetIds": [
  665. "front-pump-aux-control-box"
  666. ],
  667. "steps": [
  668. {
  669. "targetId": "front-pump-aux-control-box-cover",
  670. "axis": [
  671. 0,
  672. 1,
  673. 0
  674. ],
  675. "deltaDegrees": 100,
  676. "toleranceDegrees": 8,
  677. "directionHint": "沿控制盒盖边缘铰链打开",
  678. "pivotEdge": {
  679. "space": "world",
  680. "axis": [
  681. 0,
  682. 1,
  683. 0
  684. ],
  685. "edge": "nearest-vertical-edge"
  686. }
  687. },
  688. {
  689. "targetId": "front-pump-rescue-switch",
  690. "axis": [
  691. 0,
  692. 0,
  693. 1
  694. ],
  695. "deltaDegrees": 30,
  696. "toleranceDegrees": 6,
  697. "directionHint": "往上搬"
  698. }
  699. ]
  700. }
  701. },
  702. "toolId": "",
  703. "safetyRules": [
  704. {
  705. "id": "ppeConfirmed",
  706. "label": "个人防护用品齐全",
  707. "required": true
  708. },
  709. {
  710. "id": "routeAuthorized",
  711. "label": "作业路线已授权",
  712. "required": true
  713. }
  714. ],
  715. "audio": {
  716. "narrationText": "第5步,打开辅助控制盒互救开关。打开辅助控制盒盖,再打开互救开关,进入单泵作业状态。",
  717. "narrationAssetCode": "PILOT-005-5-AUDIO",
  718. "safetyText": "安全提示:请确认压力归零并可靠支承后再进行拆卸。",
  719. "safetyAssetCode": "",
  720. "successCue": "ui",
  721. "errorCue": "collision-error",
  722. "narrationSource": "offline",
  723. "offlineSource": "upload",
  724. "offlineMediaType": "video",
  725. "offlineFileName": "",
  726. "offlineAssetKey": "",
  727. "offlineMimeType": "",
  728. "offlineSizeBytes": 0,
  729. "narrationVideoAssetCode": "PILOT-005-5-VIDEO",
  730. "narrationUrl": "",
  731. "safetyUrl": "",
  732. "digitalHuman": {
  733. "enabled": false,
  734. "mode": "video",
  735. "videoSource": "upload",
  736. "videoId": "",
  737. "appId": "",
  738. "videoUrl": "",
  739. "videoFileName": "",
  740. "folderId": "equipment-hydraulic-fault",
  741. "folderPath": "装备维修 / 液压系统 / 故障排查",
  742. "videoName": "",
  743. "avatarId": "",
  744. "avatarName": "",
  745. "backgroundImage": "",
  746. "backgroundName": "",
  747. "audioUrl": "",
  748. "audioName": "",
  749. "voiceId": "",
  750. "voiceName": "",
  751. "scriptText": "",
  752. "generatedVideoId": "",
  753. "generatedVideoUrl": "",
  754. "generatedAt": "",
  755. "generationStatus": "generated"
  756. }
  757. },
  758. "animationBinding": null,
  759. "faultIds": [],
  760. "assessment": {
  761. "weight": 20,
  762. "requiredDimensions": [
  763. "action",
  764. "sequence"
  765. ],
  766. "passPolicy": "all-required"
  767. },
  768. "cameraPolicy": "focus",
  769. "number": 5,
  770. "targetRef": {
  771. "sceneId": "front-pump-rescue-vehicle",
  772. "sceneObjectId": "front-pump-rescue-vehicle",
  773. "interactionId": "front-pump-aux-control-box-cover",
  774. "sourceInteractionId": "front-pump-aux-control-box-cover",
  775. "editorId": "bridge-0916-node-78",
  776. "nodePath": "0/39/0",
  777. "sourceNodeName": "1_28辅助控制盒盖",
  778. "capabilities": [
  779. "select",
  780. "inspect",
  781. "mechanism"
  782. ],
  783. "visible": true
  784. },
  785. "toolRequirements": [],
  786. "targetNodeId": "front-pump-aux-control-box-cover",
  787. "targetNodeName": "1_28辅助控制盒盖",
  788. "toolPlacement": {
  789. "placed": false,
  790. "position": [
  791. -3.2,
  792. 0.18,
  793. 1.8
  794. ],
  795. "rotation": [
  796. 0,
  797. 0,
  798. 0
  799. ],
  800. "scale": 1,
  801. "attachedTargetId": "",
  802. "pose": "tray"
  803. }
  804. }
  805. ],
  806. "modeConfig": {
  807. "type": "VIRTUAL",
  808. "renderMode": "三维实时仿真",
  809. "interactionMode": "三维操作、动画引导与规则自动判定",
  810. "assistance": "演示、训练与模拟考试"
  811. },
  812. "task": {
  813. "code": "BRIDGE-005-AUTHORING-PILOT",
  814. "title": "005 液压泵应急切换(编排验证)",
  815. "category": "小修",
  816. "level": "标准",
  817. "duration": 10,
  818. "description": "前泵损坏的情况下如何操作。",
  819. "skills": [
  820. "液压泵故障识别",
  821. "取力器断开与联通",
  822. "球阀开启",
  823. "互救开关操作"
  824. ],
  825. "id": "TR-FRONT-PUMP-RESCUE-001",
  826. "categoryId": "minor-repair",
  827. "image": "/models/step-model-front-pump-thumb.png"
  828. },
  829. "scenario": {
  830. "environmentName": "真实野外训练场",
  831. "sceneLayout": "2 个场景对象 · 设备与物模型绑定已继承",
  832. "equipmentState": "压力不足 · 内泄待定位",
  833. "sceneTags": [],
  834. "visibleParts": [
  835. "front-pump-hydraulic-pump",
  836. "front-pump-pto-switch",
  837. "front-pump-ball-valve-switch",
  838. "front-pump-aux-control-box-cover"
  839. ],
  840. "operableParts": [
  841. "front-pump-hydraulic-pump",
  842. "front-pump-pto-switch",
  843. "front-pump-ball-valve-switch",
  844. "front-pump-aux-control-box-cover"
  845. ],
  846. "sensorFeeds": [
  847. {
  848. "id": "STATE",
  849. "label": "装备状态",
  850. "value": "就绪",
  851. "unit": "",
  852. "state": "ok"
  853. },
  854. {
  855. "id": "STEP",
  856. "label": "流程节点",
  857. "value": "1 / 8",
  858. "unit": "",
  859. "state": "ready"
  860. },
  861. {
  862. "id": "RULE",
  863. "label": "规则判定",
  864. "value": "等待操作",
  865. "unit": "",
  866. "state": "ready"
  867. }
  868. ],
  869. "id": "hydraulic-fault-scenario",
  870. "publishedSceneId": "457@551",
  871. "publishedSceneVersion": "7",
  872. "sceneResource": {
  873. "sceneId": "457@551",
  874. "sourceProjectId": "457",
  875. "sourceVersionId": "551",
  876. "version": "7",
  877. "sourceKind": "published",
  878. "status": "已发布",
  879. "publishedAt": "2026-09-17T14:33:41.000Z",
  880. "objectCount": 2,
  881. "assetKey": "",
  882. "presetId": "terrain-1",
  883. "type": "outdoor",
  884. "name": "005 液压泵应急切换(编排验证)",
  885. "environment": {
  886. "schema": "edit3dv4.scene-environment",
  887. "version": "1.0",
  888. "presetId": "terrain-1",
  889. "type": "outdoor",
  890. "floorOnly": false,
  891. "useModelFloor": true
  892. },
  893. "objects": [
  894. {
  895. "id": "front-pump-training-yard",
  896. "sceneId": "front-pump-training-yard",
  897. "interactionId": "scene:front-pump-training-yard",
  898. "type": "imported",
  899. "name": "野外山地训练场",
  900. "deviceId": "front-pump-training-yard",
  901. "modelId": "front-pump-field-terrain",
  902. "semantic": "环境地形",
  903. "assetRole": "environment",
  904. "builtinAssetId": "front-pump-field-terrain",
  905. "modelEditorAssetId": "",
  906. "modelEditorModelId": "",
  907. "modelEditorRevision": 0,
  908. "modelOverrides": {},
  909. "materialPreset": null,
  910. "modelPartTargets": [],
  911. "partOverrides": {},
  912. "operable": false,
  913. "capabilities": [
  914. "select",
  915. "inspect"
  916. ],
  917. "splitGroupId": "",
  918. "splitParts": [],
  919. "sourceNodeName": "",
  920. "assetKey": "",
  921. "resourceUrl": "/models/terrain-005-20260917.glb",
  922. "sourceName": "terrain-005-20260917.glb",
  923. "sizeBytes": 0,
  924. "mimeType": "model/gltf-binary",
  925. "fitToScene": false,
  926. "fitSize": 7,
  927. "groundLevelY": null,
  928. "visible": true,
  929. "position": [
  930. -3.1597256741842212,
  931. 10.30528511389146,
  932. -40.10715876774236
  933. ],
  934. "rotation": [
  935. 0,
  936. 0,
  937. 0
  938. ],
  939. "scale": [
  940. 1.7159231079037875,
  941. 1.7159231079037875,
  942. 1.7159231079037875
  943. ]
  944. },
  945. {
  946. "id": "front-pump-rescue-vehicle",
  947. "sceneId": "front-pump-rescue-vehicle",
  948. "interactionId": "scene:front-pump-rescue-vehicle",
  949. "type": "imported",
  950. "name": "架桥车前泵互救操作整车模型",
  951. "deviceId": "front-pump-rescue-vehicle",
  952. "modelId": "front-pump-step-vehicle",
  953. "semantic": "实训装备",
  954. "assetRole": "equipment",
  955. "builtinAssetId": "front-pump-step-vehicle",
  956. "modelEditorAssetId": "bridge-erector-0916",
  957. "modelEditorModelId": "front-pump-step-vehicle",
  958. "modelEditorRevision": 2,
  959. "modelOverrides": {},
  960. "materialPreset": null,
  961. "modelPartTargets": [
  962. {
  963. "sceneId": "front-pump-hydraulic-pump",
  964. "interactionId": "front-pump-hydraulic-pump",
  965. "sourceInteractionId": "front-pump-hydraulic-pump",
  966. "editorId": "bridge-0916-node-92",
  967. "nodePath": "0/46/0",
  968. "sourceNodeName": "1_24柱塞泵3_05前泵3_08新泵",
  969. "name": "液压泵",
  970. "operable": true,
  971. "capabilities": [
  972. "select",
  973. "inspect"
  974. ],
  975. "visible": true
  976. },
  977. {
  978. "sceneId": "front-pump-power-take-off",
  979. "interactionId": "front-pump-power-take-off",
  980. "sourceInteractionId": "front-pump-power-take-off",
  981. "editorId": "bridge-0916-node-80",
  982. "nodePath": "0/40/0",
  983. "sourceNodeName": "1_25取力器",
  984. "name": "取力器",
  985. "operable": true,
  986. "capabilities": [
  987. "select",
  988. "inspect"
  989. ],
  990. "visible": true
  991. },
  992. {
  993. "sceneId": "front-pump-pto-switch",
  994. "interactionId": "front-pump-pto-switch",
  995. "sourceInteractionId": "front-pump-pto-switch",
  996. "editorId": "bridge-0916-node-82",
  997. "nodePath": "0/41/0",
  998. "sourceNodeName": "1_25和1_27和2_03和2_08取力器开关",
  999. "name": "取力器开关",
  1000. "operable": true,
  1001. "capabilities": [
  1002. "select",
  1003. "inspect",
  1004. "mechanism"
  1005. ],
  1006. "visible": true
  1007. },
  1008. {
  1009. "sceneId": "front-pump-ball-valve-switch",
  1010. "interactionId": "front-pump-ball-valve-switch",
  1011. "sourceInteractionId": "front-pump-ball-valve-switch",
  1012. "editorId": "bridge-0916-node-96",
  1013. "nodePath": "0/48/0",
  1014. "sourceNodeName": "1_26球阀开关",
  1015. "name": "球阀开关",
  1016. "operable": true,
  1017. "capabilities": [
  1018. "select",
  1019. "inspect",
  1020. "mechanism"
  1021. ],
  1022. "visible": true
  1023. },
  1024. {
  1025. "sceneId": "front-pump-aux-control-box",
  1026. "interactionId": "front-pump-aux-control-box",
  1027. "sourceInteractionId": "front-pump-aux-control-box",
  1028. "editorId": "bridge-0916-node-84",
  1029. "nodePath": "0/42/0",
  1030. "sourceNodeName": "1_28辅助控制盒内",
  1031. "name": "辅助控制盒",
  1032. "operable": true,
  1033. "capabilities": [
  1034. "select",
  1035. "inspect"
  1036. ],
  1037. "visible": true
  1038. },
  1039. {
  1040. "sceneId": "front-pump-aux-control-box-cover",
  1041. "interactionId": "front-pump-aux-control-box-cover",
  1042. "sourceInteractionId": "front-pump-aux-control-box-cover",
  1043. "editorId": "bridge-0916-node-78",
  1044. "nodePath": "0/39/0",
  1045. "sourceNodeName": "1_28辅助控制盒盖",
  1046. "name": "辅助控制盒盖",
  1047. "operable": true,
  1048. "capabilities": [
  1049. "select",
  1050. "inspect",
  1051. "mechanism"
  1052. ],
  1053. "visible": true
  1054. },
  1055. {
  1056. "sceneId": "front-pump-rescue-switch",
  1057. "interactionId": "front-pump-rescue-switch",
  1058. "sourceInteractionId": "front-pump-rescue-switch",
  1059. "editorId": "bridge-0916-node-86",
  1060. "nodePath": "0/43/0",
  1061. "sourceNodeName": "1_28和2_06互救开关",
  1062. "name": "互救开关",
  1063. "operable": true,
  1064. "capabilities": [
  1065. "select",
  1066. "inspect",
  1067. "mechanism"
  1068. ],
  1069. "visible": true
  1070. }
  1071. ],
  1072. "partOverrides": {
  1073. "front-pump-hydraulic-pump": {
  1074. "position": [
  1075. 0,
  1076. 0,
  1077. 0
  1078. ],
  1079. "rotation": [
  1080. 0,
  1081. 0,
  1082. 0
  1083. ],
  1084. "scale": [
  1085. 0.01,
  1086. 0.01,
  1087. 0.01
  1088. ],
  1089. "visible": true,
  1090. "operable": true,
  1091. "capabilities": [
  1092. "select",
  1093. "inspect"
  1094. ]
  1095. },
  1096. "front-pump-power-take-off": {
  1097. "position": [
  1098. 0,
  1099. 0,
  1100. 0
  1101. ],
  1102. "rotation": [
  1103. 0,
  1104. 0,
  1105. 0
  1106. ],
  1107. "scale": [
  1108. 0.01,
  1109. 0.01,
  1110. 0.01
  1111. ],
  1112. "visible": true,
  1113. "operable": true,
  1114. "capabilities": [
  1115. "select",
  1116. "inspect"
  1117. ]
  1118. },
  1119. "front-pump-pto-switch": {
  1120. "position": [
  1121. 0,
  1122. 0,
  1123. 0
  1124. ],
  1125. "rotation": [
  1126. 0,
  1127. 0,
  1128. 0
  1129. ],
  1130. "scale": [
  1131. 0.01,
  1132. 0.01,
  1133. 0.01
  1134. ],
  1135. "visible": true,
  1136. "operable": true,
  1137. "capabilities": [
  1138. "select",
  1139. "inspect",
  1140. "mechanism"
  1141. ]
  1142. },
  1143. "front-pump-ball-valve-switch": {
  1144. "position": [
  1145. 0,
  1146. 0,
  1147. 0
  1148. ],
  1149. "rotation": [
  1150. 0,
  1151. 0,
  1152. 0
  1153. ],
  1154. "scale": [
  1155. 0.01,
  1156. 0.01,
  1157. 0.01
  1158. ],
  1159. "visible": true,
  1160. "operable": true,
  1161. "capabilities": [
  1162. "select",
  1163. "inspect",
  1164. "mechanism"
  1165. ]
  1166. },
  1167. "front-pump-aux-control-box": {
  1168. "position": [
  1169. 0,
  1170. 0,
  1171. 0
  1172. ],
  1173. "rotation": [
  1174. 0,
  1175. 0,
  1176. 0
  1177. ],
  1178. "scale": [
  1179. 0.01,
  1180. 0.01,
  1181. 0.01
  1182. ],
  1183. "visible": true,
  1184. "operable": true,
  1185. "capabilities": [
  1186. "select",
  1187. "inspect"
  1188. ]
  1189. },
  1190. "front-pump-aux-control-box-cover": {
  1191. "position": [
  1192. 0,
  1193. 0,
  1194. 0
  1195. ],
  1196. "rotation": [
  1197. 0,
  1198. 0,
  1199. 0
  1200. ],
  1201. "scale": [
  1202. 0.01,
  1203. 0.01,
  1204. 0.01
  1205. ],
  1206. "visible": true,
  1207. "operable": true,
  1208. "capabilities": [
  1209. "select",
  1210. "inspect",
  1211. "mechanism"
  1212. ]
  1213. },
  1214. "front-pump-rescue-switch": {
  1215. "position": [
  1216. 0,
  1217. 0,
  1218. 0
  1219. ],
  1220. "rotation": [
  1221. 0,
  1222. 0,
  1223. 0
  1224. ],
  1225. "scale": [
  1226. 0.01,
  1227. 0.01,
  1228. 0.01
  1229. ],
  1230. "visible": true,
  1231. "operable": true,
  1232. "capabilities": [
  1233. "select",
  1234. "inspect",
  1235. "mechanism"
  1236. ]
  1237. }
  1238. },
  1239. "operable": false,
  1240. "capabilities": [
  1241. "select",
  1242. "inspect"
  1243. ],
  1244. "splitGroupId": "",
  1245. "splitParts": [],
  1246. "sourceNodeName": "Group",
  1247. "assetKey": "",
  1248. "resourceUrl": "/models/bridge-erector-20260916.glb",
  1249. "sourceName": "0916架桥车.glb",
  1250. "sizeBytes": 37160920,
  1251. "mimeType": "model/gltf-binary",
  1252. "fitToScene": false,
  1253. "fitSize": 7,
  1254. "groundLevelY": null,
  1255. "visible": true,
  1256. "position": [
  1257. 1.5698558846140135e-16,
  1258. 0.00012730681329620186,
  1259. 0.13180482636746585
  1260. ],
  1261. "rotation": [
  1262. 3.0865583248298285e-17,
  1263. -3.96331642134641e-33,
  1264. -2.568113739801058e-16
  1265. ],
  1266. "scale": [
  1267. 0.9715696607300419,
  1268. 0.9715696607300419,
  1269. 0.9715696607300419
  1270. ]
  1271. }
  1272. ],
  1273. "assetReferences": [
  1274. {
  1275. "assetKey": "",
  1276. "resourceUrl": "/models/terrain-005-20260917.glb",
  1277. "sourceName": "terrain-005-20260917.glb",
  1278. "sizeBytes": 0,
  1279. "mimeType": "model/gltf-binary",
  1280. "assetRole": "environment",
  1281. "builtinAssetId": "front-pump-field-terrain"
  1282. },
  1283. {
  1284. "assetKey": "",
  1285. "resourceUrl": "/models/bridge-erector-20260916.glb",
  1286. "sourceName": "0916架桥车.glb",
  1287. "sizeBytes": 37160920,
  1288. "mimeType": "model/gltf-binary",
  1289. "assetRole": "equipment",
  1290. "builtinAssetId": "front-pump-step-vehicle"
  1291. }
  1292. ],
  1293. "snapshot": {
  1294. "schema": "edit3dv4.scene",
  1295. "version": "7",
  1296. "presetId": "terrain-1",
  1297. "name": "真实野外训练场",
  1298. "type": "outdoor",
  1299. "assetKey": "",
  1300. "environment": {
  1301. "schema": "edit3dv4.scene-environment",
  1302. "version": "1.0",
  1303. "presetId": "terrain-1",
  1304. "type": "outdoor",
  1305. "floorOnly": false,
  1306. "useModelFloor": true
  1307. },
  1308. "rendering": {
  1309. "schema": "edit3dv4.scene-rendering",
  1310. "version": "1.0",
  1311. "background": 11062241,
  1312. "fog": {
  1313. "color": 11062241,
  1314. "near": 34,
  1315. "far": 88
  1316. },
  1317. "toneMappingExposure": 1.05,
  1318. "environment": {
  1319. "type": "room",
  1320. "sigma": 0.04
  1321. },
  1322. "camera": {
  1323. "fov": 45,
  1324. "near": 0.05,
  1325. "far": 800,
  1326. "position": [
  1327. 7.138234886169582,
  1328. 3.695554761077557,
  1329. 7.955160424286649
  1330. ],
  1331. "target": [
  1332. 2.220446049250313e-16,
  1333. 0.9835682527980127,
  1334. 0
  1335. ]
  1336. },
  1337. "lights": {
  1338. "hemisphere": {
  1339. "skyColor": 15594743,
  1340. "groundColor": 6910582,
  1341. "intensity": 1.45
  1342. },
  1343. "directional": {
  1344. "color": 16777215,
  1345. "intensity": 2,
  1346. "position": [
  1347. 12,
  1348. 18,
  1349. 10
  1350. ],
  1351. "castShadow": true,
  1352. "shadowMapSize": 2048,
  1353. "shadowBounds": 82
  1354. }
  1355. }
  1356. },
  1357. "objects": [
  1358. {
  1359. "id": "front-pump-training-yard",
  1360. "sceneId": "front-pump-training-yard",
  1361. "interactionId": "scene:front-pump-training-yard",
  1362. "type": "imported",
  1363. "name": "野外山地训练场",
  1364. "deviceId": "front-pump-training-yard",
  1365. "modelId": "front-pump-field-terrain",
  1366. "semantic": "环境地形",
  1367. "assetRole": "environment",
  1368. "builtinAssetId": "front-pump-field-terrain",
  1369. "modelEditorAssetId": "",
  1370. "modelEditorModelId": "",
  1371. "modelEditorRevision": 0,
  1372. "modelOverrides": {},
  1373. "materialPreset": null,
  1374. "modelPartTargets": [],
  1375. "partOverrides": {},
  1376. "operable": false,
  1377. "capabilities": [
  1378. "select",
  1379. "inspect"
  1380. ],
  1381. "splitGroupId": "",
  1382. "splitParts": [],
  1383. "sourceNodeName": "",
  1384. "assetKey": "",
  1385. "resourceUrl": "/models/terrain-005-20260917.glb",
  1386. "sourceName": "terrain-005-20260917.glb",
  1387. "sizeBytes": 0,
  1388. "mimeType": "model/gltf-binary",
  1389. "fitToScene": false,
  1390. "fitSize": 7,
  1391. "groundLevelY": null,
  1392. "visible": true,
  1393. "position": [
  1394. -3.1597256741842212,
  1395. 10.30528511389146,
  1396. -40.10715876774236
  1397. ],
  1398. "rotation": [
  1399. 0,
  1400. 0,
  1401. 0
  1402. ],
  1403. "scale": [
  1404. 1.7159231079037875,
  1405. 1.7159231079037875,
  1406. 1.7159231079037875
  1407. ]
  1408. },
  1409. {
  1410. "id": "front-pump-rescue-vehicle",
  1411. "sceneId": "front-pump-rescue-vehicle",
  1412. "interactionId": "scene:front-pump-rescue-vehicle",
  1413. "type": "imported",
  1414. "name": "架桥车前泵互救操作整车模型",
  1415. "deviceId": "front-pump-rescue-vehicle",
  1416. "modelId": "front-pump-step-vehicle",
  1417. "semantic": "实训装备",
  1418. "assetRole": "equipment",
  1419. "builtinAssetId": "front-pump-step-vehicle",
  1420. "modelEditorAssetId": "bridge-erector-0916",
  1421. "modelEditorModelId": "front-pump-step-vehicle",
  1422. "modelEditorRevision": 2,
  1423. "modelOverrides": {},
  1424. "materialPreset": null,
  1425. "modelPartTargets": [
  1426. {
  1427. "sceneId": "front-pump-hydraulic-pump",
  1428. "interactionId": "front-pump-hydraulic-pump",
  1429. "sourceInteractionId": "front-pump-hydraulic-pump",
  1430. "editorId": "bridge-0916-node-92",
  1431. "nodePath": "0/46/0",
  1432. "sourceNodeName": "1_24柱塞泵3_05前泵3_08新泵",
  1433. "name": "液压泵",
  1434. "operable": true,
  1435. "capabilities": [
  1436. "select",
  1437. "inspect"
  1438. ],
  1439. "visible": true
  1440. },
  1441. {
  1442. "sceneId": "front-pump-power-take-off",
  1443. "interactionId": "front-pump-power-take-off",
  1444. "sourceInteractionId": "front-pump-power-take-off",
  1445. "editorId": "bridge-0916-node-80",
  1446. "nodePath": "0/40/0",
  1447. "sourceNodeName": "1_25取力器",
  1448. "name": "取力器",
  1449. "operable": true,
  1450. "capabilities": [
  1451. "select",
  1452. "inspect"
  1453. ],
  1454. "visible": true
  1455. },
  1456. {
  1457. "sceneId": "front-pump-pto-switch",
  1458. "interactionId": "front-pump-pto-switch",
  1459. "sourceInteractionId": "front-pump-pto-switch",
  1460. "editorId": "bridge-0916-node-82",
  1461. "nodePath": "0/41/0",
  1462. "sourceNodeName": "1_25和1_27和2_03和2_08取力器开关",
  1463. "name": "取力器开关",
  1464. "operable": true,
  1465. "capabilities": [
  1466. "select",
  1467. "inspect",
  1468. "mechanism"
  1469. ],
  1470. "visible": true
  1471. },
  1472. {
  1473. "sceneId": "front-pump-ball-valve-switch",
  1474. "interactionId": "front-pump-ball-valve-switch",
  1475. "sourceInteractionId": "front-pump-ball-valve-switch",
  1476. "editorId": "bridge-0916-node-96",
  1477. "nodePath": "0/48/0",
  1478. "sourceNodeName": "1_26球阀开关",
  1479. "name": "球阀开关",
  1480. "operable": true,
  1481. "capabilities": [
  1482. "select",
  1483. "inspect",
  1484. "mechanism"
  1485. ],
  1486. "visible": true
  1487. },
  1488. {
  1489. "sceneId": "front-pump-aux-control-box",
  1490. "interactionId": "front-pump-aux-control-box",
  1491. "sourceInteractionId": "front-pump-aux-control-box",
  1492. "editorId": "bridge-0916-node-84",
  1493. "nodePath": "0/42/0",
  1494. "sourceNodeName": "1_28辅助控制盒内",
  1495. "name": "辅助控制盒",
  1496. "operable": true,
  1497. "capabilities": [
  1498. "select",
  1499. "inspect"
  1500. ],
  1501. "visible": true
  1502. },
  1503. {
  1504. "sceneId": "front-pump-aux-control-box-cover",
  1505. "interactionId": "front-pump-aux-control-box-cover",
  1506. "sourceInteractionId": "front-pump-aux-control-box-cover",
  1507. "editorId": "bridge-0916-node-78",
  1508. "nodePath": "0/39/0",
  1509. "sourceNodeName": "1_28辅助控制盒盖",
  1510. "name": "辅助控制盒盖",
  1511. "operable": true,
  1512. "capabilities": [
  1513. "select",
  1514. "inspect",
  1515. "mechanism"
  1516. ],
  1517. "visible": true
  1518. },
  1519. {
  1520. "sceneId": "front-pump-rescue-switch",
  1521. "interactionId": "front-pump-rescue-switch",
  1522. "sourceInteractionId": "front-pump-rescue-switch",
  1523. "editorId": "bridge-0916-node-86",
  1524. "nodePath": "0/43/0",
  1525. "sourceNodeName": "1_28和2_06互救开关",
  1526. "name": "互救开关",
  1527. "operable": true,
  1528. "capabilities": [
  1529. "select",
  1530. "inspect",
  1531. "mechanism"
  1532. ],
  1533. "visible": true
  1534. }
  1535. ],
  1536. "partOverrides": {
  1537. "front-pump-hydraulic-pump": {
  1538. "position": [
  1539. 0,
  1540. 0,
  1541. 0
  1542. ],
  1543. "rotation": [
  1544. 0,
  1545. 0,
  1546. 0
  1547. ],
  1548. "scale": [
  1549. 0.01,
  1550. 0.01,
  1551. 0.01
  1552. ],
  1553. "visible": true,
  1554. "operable": true,
  1555. "capabilities": [
  1556. "select",
  1557. "inspect"
  1558. ]
  1559. },
  1560. "front-pump-power-take-off": {
  1561. "position": [
  1562. 0,
  1563. 0,
  1564. 0
  1565. ],
  1566. "rotation": [
  1567. 0,
  1568. 0,
  1569. 0
  1570. ],
  1571. "scale": [
  1572. 0.01,
  1573. 0.01,
  1574. 0.01
  1575. ],
  1576. "visible": true,
  1577. "operable": true,
  1578. "capabilities": [
  1579. "select",
  1580. "inspect"
  1581. ]
  1582. },
  1583. "front-pump-pto-switch": {
  1584. "position": [
  1585. 0,
  1586. 0,
  1587. 0
  1588. ],
  1589. "rotation": [
  1590. 0,
  1591. 0,
  1592. 0
  1593. ],
  1594. "scale": [
  1595. 0.01,
  1596. 0.01,
  1597. 0.01
  1598. ],
  1599. "visible": true,
  1600. "operable": true,
  1601. "capabilities": [
  1602. "select",
  1603. "inspect",
  1604. "mechanism"
  1605. ]
  1606. },
  1607. "front-pump-ball-valve-switch": {
  1608. "position": [
  1609. 0,
  1610. 0,
  1611. 0
  1612. ],
  1613. "rotation": [
  1614. 0,
  1615. 0,
  1616. 0
  1617. ],
  1618. "scale": [
  1619. 0.01,
  1620. 0.01,
  1621. 0.01
  1622. ],
  1623. "visible": true,
  1624. "operable": true,
  1625. "capabilities": [
  1626. "select",
  1627. "inspect",
  1628. "mechanism"
  1629. ]
  1630. },
  1631. "front-pump-aux-control-box": {
  1632. "position": [
  1633. 0,
  1634. 0,
  1635. 0
  1636. ],
  1637. "rotation": [
  1638. 0,
  1639. 0,
  1640. 0
  1641. ],
  1642. "scale": [
  1643. 0.01,
  1644. 0.01,
  1645. 0.01
  1646. ],
  1647. "visible": true,
  1648. "operable": true,
  1649. "capabilities": [
  1650. "select",
  1651. "inspect"
  1652. ]
  1653. },
  1654. "front-pump-aux-control-box-cover": {
  1655. "position": [
  1656. 0,
  1657. 0,
  1658. 0
  1659. ],
  1660. "rotation": [
  1661. 0,
  1662. 0,
  1663. 0
  1664. ],
  1665. "scale": [
  1666. 0.01,
  1667. 0.01,
  1668. 0.01
  1669. ],
  1670. "visible": true,
  1671. "operable": true,
  1672. "capabilities": [
  1673. "select",
  1674. "inspect",
  1675. "mechanism"
  1676. ]
  1677. },
  1678. "front-pump-rescue-switch": {
  1679. "position": [
  1680. 0,
  1681. 0,
  1682. 0
  1683. ],
  1684. "rotation": [
  1685. 0,
  1686. 0,
  1687. 0
  1688. ],
  1689. "scale": [
  1690. 0.01,
  1691. 0.01,
  1692. 0.01
  1693. ],
  1694. "visible": true,
  1695. "operable": true,
  1696. "capabilities": [
  1697. "select",
  1698. "inspect",
  1699. "mechanism"
  1700. ]
  1701. }
  1702. },
  1703. "operable": false,
  1704. "capabilities": [
  1705. "select",
  1706. "inspect"
  1707. ],
  1708. "splitGroupId": "",
  1709. "splitParts": [],
  1710. "sourceNodeName": "Group",
  1711. "assetKey": "",
  1712. "resourceUrl": "/models/bridge-erector-20260916.glb",
  1713. "sourceName": "0916架桥车.glb",
  1714. "sizeBytes": 37160920,
  1715. "mimeType": "model/gltf-binary",
  1716. "fitToScene": false,
  1717. "fitSize": 7,
  1718. "groundLevelY": null,
  1719. "visible": true,
  1720. "position": [
  1721. 1.5698558846140135e-16,
  1722. 0.00012730681329620186,
  1723. 0.13180482636746585
  1724. ],
  1725. "rotation": [
  1726. 3.0865583248298285e-17,
  1727. -3.96331642134641e-33,
  1728. -2.568113739801058e-16
  1729. ],
  1730. "scale": [
  1731. 0.9715696607300419,
  1732. 0.9715696607300419,
  1733. 0.9715696607300419
  1734. ]
  1735. }
  1736. ]
  1737. }
  1738. },
  1739. "baseVisualKey": "diagnostic-bay",
  1740. "environment": {
  1741. "type": "outdoor",
  1742. "mode": "external",
  1743. "sourceName": "005 液压泵应急切换(编排验证) · 场景发布包",
  1744. "resourceUrl": "/models/terrain-005-20260917.glb",
  1745. "assetKey": "",
  1746. "mimeType": "model/gltf-binary",
  1747. "sizeBytes": 0,
  1748. "lastModified": 0,
  1749. "embeddedDataUrl": ""
  1750. },
  1751. "accent": "#e98a2f",
  1752. "background": 12178915,
  1753. "fog": 12178915,
  1754. "ground": 6450803,
  1755. "camera": {
  1756. "position": [
  1757. 9.6,
  1758. 6.2,
  1759. 12.3
  1760. ],
  1761. "target": [
  1762. -0.25,
  1763. 2.45,
  1764. 0
  1765. ]
  1766. },
  1767. "retainStoredParts": false
  1768. },
  1769. "tools": [
  1770. {
  1771. "id": "pressure-gauge",
  1772. "name": "数字压力表",
  1773. "purpose": "卸压确认与压力复测",
  1774. "thumbnailKey": "pressure-gauge",
  1775. "modelKind": "pressure-gauge",
  1776. "defaultScale": 1
  1777. },
  1778. {
  1779. "id": "leak-detector",
  1780. "name": "泄漏检测灯",
  1781. "purpose": "油管与密封外泄检查",
  1782. "thumbnailKey": "leak-detector",
  1783. "modelKind": "leak-detector",
  1784. "defaultScale": 1
  1785. },
  1786. {
  1787. "id": "leakage-tester",
  1788. "name": "内泄保压仪",
  1789. "purpose": "压力衰减诊断",
  1790. "thumbnailKey": "leakage-tester",
  1791. "modelKind": "leakage-tester",
  1792. "defaultScale": 1
  1793. },
  1794. {
  1795. "id": "hose-wrench",
  1796. "name": "油管扳手",
  1797. "purpose": "接头拆装",
  1798. "thumbnailKey": "hose-wrench",
  1799. "modelKind": "hose-wrench",
  1800. "defaultScale": 1
  1801. },
  1802. {
  1803. "id": "pin-puller",
  1804. "name": "液压拔销器",
  1805. "purpose": "销轴同轴分离",
  1806. "thumbnailKey": "pin-puller",
  1807. "modelKind": "pin-puller",
  1808. "defaultScale": 1
  1809. },
  1810. {
  1811. "id": "lifting-sling",
  1812. "name": "起吊带与平衡梁",
  1813. "purpose": "液压缸总成吊运",
  1814. "thumbnailKey": "lifting-sling",
  1815. "modelKind": "lifting-sling",
  1816. "defaultScale": 1
  1817. },
  1818. {
  1819. "id": "seal-kit",
  1820. "name": "密封拆装工具",
  1821. "purpose": "密封组件更换",
  1822. "thumbnailKey": "seal-kit",
  1823. "modelKind": "seal-kit",
  1824. "defaultScale": 1
  1825. },
  1826. {
  1827. "id": "torque-wrench",
  1828. "name": "数字扭矩扳手",
  1829. "purpose": "规范力矩紧固",
  1830. "thumbnailKey": "torque-wrench",
  1831. "modelKind": "torque-wrench",
  1832. "defaultScale": 1
  1833. },
  1834. {
  1835. "id": "checklist-terminal",
  1836. "name": "数字点检终端",
  1837. "purpose": "路线签到与清单确认",
  1838. "thumbnailKey": "checklist-terminal",
  1839. "modelKind": "checklist-terminal",
  1840. "defaultScale": 1
  1841. },
  1842. {
  1843. "id": "feeler-gauge",
  1844. "name": "间隙规",
  1845. "purpose": "销轴配合间隙测量",
  1846. "thumbnailKey": "feeler-gauge",
  1847. "modelKind": "feeler-gauge",
  1848. "defaultScale": 1
  1849. },
  1850. {
  1851. "id": "lock-tool",
  1852. "name": "锁止件拆装钳",
  1853. "purpose": "解除与恢复锁止件",
  1854. "thumbnailKey": "lock-tool",
  1855. "modelKind": "lock-tool",
  1856. "defaultScale": 1
  1857. },
  1858. {
  1859. "id": "alignment-tool",
  1860. "name": "同轴装配导向器",
  1861. "purpose": "反向复装校准",
  1862. "thumbnailKey": "alignment-tool",
  1863. "modelKind": "alignment-tool",
  1864. "defaultScale": 1
  1865. }
  1866. ],
  1867. "faults": [],
  1868. "authoring": {
  1869. "schema": "unreal-tran.training-authoring/v1",
  1870. "version": 1,
  1871. "nodes": [
  1872. {
  1873. "id": "flow-start",
  1874. "type": "start",
  1875. "title": "训练开始",
  1876. "x": 32,
  1877. "y": 120,
  1878. "config": {}
  1879. },
  1880. {
  1881. "id": "step-node:front-pump-step-01",
  1882. "type": "step",
  1883. "title": "根据故障现象确定是哪一个液压泵发生故障",
  1884. "stepId": "front-pump-step-01",
  1885. "x": 240,
  1886. "y": 120,
  1887. "config": {}
  1888. },
  1889. {
  1890. "id": "step-node:front-pump-step-02",
  1891. "type": "step",
  1892. "title": "断开架桥车取力器",
  1893. "stepId": "front-pump-step-02",
  1894. "x": 500,
  1895. "y": 120,
  1896. "config": {}
  1897. },
  1898. {
  1899. "id": "step-node:front-pump-step-03",
  1900. "type": "step",
  1901. "title": "将架桥车备胎斜上方链接两个红色滤油器的球阀打开",
  1902. "stepId": "front-pump-step-03",
  1903. "x": 760,
  1904. "y": 120,
  1905. "config": {}
  1906. },
  1907. {
  1908. "id": "step-node:front-pump-step-04",
  1909. "type": "step",
  1910. "title": "重新联通取力器",
  1911. "stepId": "front-pump-step-04",
  1912. "x": 240,
  1913. "y": 270,
  1914. "config": {}
  1915. },
  1916. {
  1917. "id": "step-node:front-pump-step-05",
  1918. "type": "step",
  1919. "title": "打开辅助控制盒内的“互救”开关",
  1920. "stepId": "front-pump-step-05",
  1921. "x": 500,
  1922. "y": 270,
  1923. "config": {}
  1924. },
  1925. {
  1926. "id": "flow-end",
  1927. "type": "end",
  1928. "title": "训练结束",
  1929. "x": 760,
  1930. "y": 270,
  1931. "config": {}
  1932. }
  1933. ],
  1934. "edges": [
  1935. {
  1936. "id": "edge:flow-start:step-node:front-pump-step-01",
  1937. "from": "flow-start",
  1938. "to": "step-node:front-pump-step-01",
  1939. "label": "",
  1940. "kind": "base-sequence",
  1941. "rule": ""
  1942. },
  1943. {
  1944. "id": "edge:step-node:front-pump-step-01:step-node:front-pump-step-02",
  1945. "from": "step-node:front-pump-step-01",
  1946. "to": "step-node:front-pump-step-02",
  1947. "label": "",
  1948. "kind": "base-sequence",
  1949. "rule": ""
  1950. },
  1951. {
  1952. "id": "edge:step-node:front-pump-step-02:step-node:front-pump-step-03",
  1953. "from": "step-node:front-pump-step-02",
  1954. "to": "step-node:front-pump-step-03",
  1955. "label": "",
  1956. "kind": "base-sequence",
  1957. "rule": ""
  1958. },
  1959. {
  1960. "id": "edge:step-node:front-pump-step-03:step-node:front-pump-step-04",
  1961. "from": "step-node:front-pump-step-03",
  1962. "to": "step-node:front-pump-step-04",
  1963. "label": "",
  1964. "kind": "base-sequence",
  1965. "rule": ""
  1966. },
  1967. {
  1968. "id": "edge:step-node:front-pump-step-04:step-node:front-pump-step-05",
  1969. "from": "step-node:front-pump-step-04",
  1970. "to": "step-node:front-pump-step-05",
  1971. "label": "",
  1972. "kind": "base-sequence",
  1973. "rule": ""
  1974. },
  1975. {
  1976. "id": "edge:step-node:front-pump-step-05:flow-end",
  1977. "from": "step-node:front-pump-step-05",
  1978. "to": "flow-end",
  1979. "label": "",
  1980. "kind": "base-sequence",
  1981. "rule": ""
  1982. }
  1983. ],
  1984. "timeline": {
  1985. "currentTime": 0,
  1986. "tracks": {
  1987. "front-pump-step-01": {
  1988. "duration": 8,
  1989. "action": "mechanism-operation",
  1990. "camera": "跟随目标",
  1991. "audioAssetCode": "PILOT-005-1-AUDIO",
  1992. "animationAssetId": "",
  1993. "animationName": ""
  1994. },
  1995. "front-pump-step-02": {
  1996. "duration": 8,
  1997. "action": "mechanism-operation",
  1998. "camera": "跟随目标",
  1999. "audioAssetCode": "PILOT-005-2-AUDIO",
  2000. "animationAssetId": "",
  2001. "animationName": ""
  2002. },
  2003. "front-pump-step-03": {
  2004. "duration": 8,
  2005. "action": "mechanism-operation",
  2006. "camera": "跟随目标",
  2007. "audioAssetCode": "PILOT-005-3-AUDIO",
  2008. "animationAssetId": "",
  2009. "animationName": ""
  2010. },
  2011. "front-pump-step-04": {
  2012. "duration": 8,
  2013. "action": "mechanism-operation",
  2014. "camera": "跟随目标",
  2015. "audioAssetCode": "PILOT-005-4-AUDIO",
  2016. "animationAssetId": "",
  2017. "animationName": ""
  2018. },
  2019. "front-pump-step-05": {
  2020. "duration": 8,
  2021. "action": "mechanism-operation",
  2022. "camera": "跟随目标",
  2023. "audioAssetCode": "PILOT-005-5-AUDIO",
  2024. "animationAssetId": "",
  2025. "animationName": ""
  2026. }
  2027. }
  2028. }
  2029. },
  2030. "assessment": {
  2031. "passScore": 80,
  2032. "maxScore": 100,
  2033. "scoringMode": "weighted-rules",
  2034. "allowRetry": true,
  2035. "recordProcess": true
  2036. },
  2037. "runtime": {
  2038. "startMode": "practice",
  2039. "teacherEnabled": true,
  2040. "teacherVoiceEnabled": true,
  2041. "actionSoundEnabled": true,
  2042. "showStepPanel": true,
  2043. "showProgress": true,
  2044. "allowReplay": true,
  2045. "language": "zh-CN"
  2046. },
  2047. "id": "front-pump-rescue-operation-v1",
  2048. "projectId": "front-pump-rescue-operation-v1",
  2049. "name": "重型支援桥液压泵应急切换",
  2050. "status": "published",
  2051. "executionPlan": {
  2052. "schema": "digital-workshop.training-execution-plan",
  2053. "version": 1,
  2054. "entryNodeId": "front-pump-step-01",
  2055. "traversalOrder": [
  2056. "front-pump-step-01",
  2057. "front-pump-step-02",
  2058. "front-pump-step-03",
  2059. "front-pump-step-04",
  2060. "front-pump-step-05"
  2061. ]
  2062. },
  2063. "schemaVersion": 1,
  2064. "source": "桥梁/文件2/4.jpg",
  2065. "resources": {
  2066. "models": [],
  2067. "animations": []
  2068. },
  2069. "legacyBridge": {
  2070. "schema": "unreal-tran.training-legacy-bridge/v1",
  2071. "uris": [],
  2072. "tracks": {
  2073. "front-pump-step-01": {
  2074. "audio": ""
  2075. },
  2076. "front-pump-step-02": {
  2077. "audio": ""
  2078. },
  2079. "front-pump-step-03": {
  2080. "audio": ""
  2081. },
  2082. "front-pump-step-04": {
  2083. "audio": ""
  2084. },
  2085. "front-pump-step-05": {
  2086. "audio": ""
  2087. }
  2088. }
  2089. },
  2090. "teachingScene": {
  2091. "version": "1.5",
  2092. "schema": "edit3dv4.scene",
  2093. "sourceVersionId": "551",
  2094. "name": "真实野外训练场",
  2095. "sceneType": "OUTDOOR",
  2096. "sourceProjectId": "457",
  2097. "objects": [
  2098. {
  2099. "semantic": "环境地形",
  2100. "rotation": [
  2101. 0,
  2102. 0,
  2103. 0
  2104. ],
  2105. "position": [
  2106. -3.1597256741842212,
  2107. 10.30528511389146,
  2108. -40.10715876774236
  2109. ],
  2110. "scale": [
  2111. 1.7159231079037875,
  2112. 1.7159231079037875,
  2113. 1.7159231079037875
  2114. ],
  2115. "contentUri": "/models/terrain-005-20260917.glb",
  2116. "mimeType": "model/gltf-binary",
  2117. "visible": true,
  2118. "sourceVersionId": "551",
  2119. "assetCode": "PILOT-TERRAIN-005",
  2120. "sourceName": "terrain-005-20260917.glb",
  2121. "sourceNodeName": "",
  2122. "name": "野外山地训练场",
  2123. "id": "scene-object-1",
  2124. "type": "imported",
  2125. "splitGroupId": ""
  2126. },
  2127. {
  2128. "semantic": "实训装备",
  2129. "rotation": [
  2130. 3.0865583248298285e-17,
  2131. -3.96331642134641e-33,
  2132. -2.568113739801058e-16
  2133. ],
  2134. "position": [
  2135. 1.5698558846140135e-16,
  2136. 0.00012730681329620186,
  2137. 0.13180482636746585
  2138. ],
  2139. "scale": [
  2140. 0.9715696607300419,
  2141. 0.9715696607300419,
  2142. 0.9715696607300419
  2143. ],
  2144. "contentUri": "/models/bridge-erector-20260916.glb",
  2145. "mimeType": "model/gltf-binary",
  2146. "visible": true,
  2147. "sourceVersionId": "551",
  2148. "assetCode": "PILOT-VEHICLE-0916",
  2149. "sourceName": "0916架桥车.glb",
  2150. "sourceNodeName": "Group",
  2151. "name": "架桥车前泵互救操作整车模型",
  2152. "id": "scene-object-2",
  2153. "type": "imported",
  2154. "splitGroupId": ""
  2155. }
  2156. ],
  2157. "templateRevision": 1,
  2158. "rendering": {
  2159. "background": 11062241
  2160. }
  2161. }
  2162. },
  2163. "definitionChecksum": "5d7d01134c9ef3960cc92788b7b69547132e4b7334fbf18b964f6916f596f883",
  2164. "ownerUserId": "99",
  2165. "ownerUsername": "root",
  2166. "ownerName": "内部维护",
  2167. "departmentId": "1",
  2168. "departmentName": "",
  2169. "status": "DRAFT",
  2170. "scheduleStartAt": null,
  2171. "dueAt": null,
  2172. "publishedAt": null,
  2173. "withdrawnAt": null,
  2174. "archivedAt": null,
  2175. "lifecycleReason": "",
  2176. "version": 7,
  2177. "addTime": 1789566632,
  2178. "updateTime": "2026-09-16T21:50:33",
  2179. "serverNow": 1789663317,
  2180. "members": [],
  2181. "runCount": 0,
  2182. "pendingReviewCount": 0
  2183. }