@anov/3d 0.0.4-alpha25 → 0.0.4-alpha27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/factory/3d.d.ts +2 -2
- package/dist/factory/3d.js +2 -2
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/regionData.d.ts +2 -0
- package/dist/factory/regionData.js +377 -60
- package/dist/factory/regionData.js.map +1 -1
- package/dist/factory/unit/circle.js +8 -1
- package/dist/factory/unit/circle.js.map +1 -1
- package/dist/factory/unit/cylinder.js +55 -6
- package/dist/factory/unit/cylinder.js.map +1 -1
- package/dist/factory/unit/handle.d.ts +7 -0
- package/dist/factory/unit/handle.js +41 -0
- package/dist/factory/unit/handle.js.map +1 -0
- package/dist/factory/unit/poi copy.d.ts +15 -0
- package/dist/factory/unit/poi copy.js +144 -0
- package/dist/factory/unit/poi copy.js.map +1 -0
- package/dist/factory/utils/fontMesh.js +2 -2
- package/dist/factory/utils/fontMesh.js.map +1 -1
- package/dist/sdkEntry.d.ts +2 -0
- package/dist/sdkEntry.js +3 -0
- package/dist/sdkEntry.js.map +1 -1
- package/package.json +2 -2
package/dist/factory/3d.d.ts
CHANGED
|
@@ -11,8 +11,8 @@ export declare enum SceneStyle {
|
|
|
11
11
|
'tech' = 1
|
|
12
12
|
}
|
|
13
13
|
export declare enum SceneTag {
|
|
14
|
-
'overview' = "
|
|
15
|
-
'people-management' = "
|
|
14
|
+
'overview' = "Overview",
|
|
15
|
+
'people-management' = "Person"
|
|
16
16
|
}
|
|
17
17
|
declare class Factory3D {
|
|
18
18
|
position: Vector3;
|
package/dist/factory/3d.js
CHANGED
|
@@ -22,8 +22,8 @@ export var SceneStyle;
|
|
|
22
22
|
})(SceneStyle || (SceneStyle = {}));
|
|
23
23
|
export var SceneTag;
|
|
24
24
|
(function (SceneTag) {
|
|
25
|
-
SceneTag["overview"] = "
|
|
26
|
-
SceneTag["people-management"] = "
|
|
25
|
+
SceneTag["overview"] = "Overview";
|
|
26
|
+
SceneTag["people-management"] = "Person";
|
|
27
27
|
})(SceneTag || (SceneTag = {}));
|
|
28
28
|
var Factory3D = /*#__PURE__*/function () {
|
|
29
29
|
function Factory3D(option) {
|
package/dist/factory/3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EquirectangularReflectionMapping","InteractionManager","ModelLoader","Vector3","lib","use","utils","Camera","finirMaterialV1","handleUnit","globalEvents","switchMaterial","debounce","load","rgbeLoader","RGBELoader","emitter","SceneStyle","SceneTag","Factory3D","option","overview","real","Map","globalEventsAgent","scene","cameraUtil","camera","controls","control","model","loadGLTF","gltf","group","clone","traverse","child","type","material","add","visible","style","tech","techModel","realModl","interactionManager","renderer","domElement","storeManagement","set","useframe","update","addEventListener","e","position","point","call","setPath","texture","mapping","boxSkeyTexture","background","environment","params","toggleState","endCallBack","speed","start","end","callback","tag","toggleSceneStyle","wall","wallMesh","forEach","mesh","cylinder","cylinderMesh","poi","reset","circle","remove","poiMesh","setVisible","eventKey","on","args","eventHandleFn","get","fn","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { EquirectangularReflectionMapping, InteractionManager, ModelLoader, Vector3, lib, use, utils } from '@anov/3d-core'\nimport { Camera } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport { globalEvents } from './globalData'\nimport switchMaterial from './utils/switchMaterial'\nimport { debounce } from './utils'\n\ntype factory3dOption = {\n model?: string\n environment: string\n}\nconst load = new ModelLoader()\nconst rgbeLoader = new lib.RGBELoader()\nconst { emitter } = utils\n\nexport enum SceneStyle {\n 'real',\n 'tech',\n}\n\nexport enum SceneTag {\n 'overview' = 'overview',\n 'people-management' = 'people-management',\n}\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene!: SceneControl\n control!: OrbitControls\n cameraUtil!: Camera\n\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n private wall!: WallManage\n private line!: LineManage\n private cylinder!: CylinderManage\n private poi!: PoiManage\n private circle!: CircleManage\n areaBoundingBox!: AreaBoundingBoxManage\n\n private realModl!: Group\n private techModel!: Group\n\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n\n private toggleState = true\n private boxSkeyTexture!: DataTexture\n\n interactionManager!: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n this.scene = scene\n this.cameraUtil = new Camera(scene.camera!, scene.controls!)\n this.control = scene.controls!\n\n this.option.model && load.loadGLTF(this.option.model, false, true, './draco/', (gltf) => {\n const group = gltf.scene.clone()\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n })\n\n this.scene.add(gltf.scene)\n this.scene.add(group)\n\n gltf.scene.visible = SceneStyle.real === this.style\n group.visible = SceneStyle.tech === this.style\n\n this.techModel = group as Group\n this.realModl = gltf.scene as Group\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n // interactionManager.add(gltf.scene)\n\n gltf.scene.addEventListener('click', (e) => {\n this.position = e.point\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n rgbeLoader.setPath('./').load('quarry_01_1k.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n this.boxSkeyTexture = texture\n this.scene.scene.background = texture\n this.scene.scene.environment = texture\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n private toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n if (params === SceneStyle.tech)\n this.toggleState = false\n\n this.style = params\n\n const endCallBack = debounce(() => {\n this.realModl.visible = false\n this.toggleState = true\n })\n\n if (this.style === SceneStyle.tech) {\n this.realModl.traverse((child) => {\n if (child.type === 'Mesh') {\n switchMaterial(child as Object3D & { material: Material }, finirMaterialV1, {\n speed: 40,\n start: -500,\n end: 2000,\n callback: endCallBack,\n })\n }\n })\n }\n\n if (params === SceneStyle.real) {\n this.realModl.visible = SceneStyle.real === this.style\n this.scene.scene.background = this.boxSkeyTexture\n }\n else {\n this.scene.scene.background = null\n }\n\n this.techModel.visible = SceneStyle.tech === this.style\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.toggleState === false)\n return\n switch (tag) {\n case SceneTag.overview:\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = true\n })\n\n // this.line.lineMesh.forEach((mesh) => {\n // mesh.visible = false\n // })\n\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.poi.reset()\n this.circle.remove()\n break\n case SceneTag['people-management']:\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.poiMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n // this.line.lineMesh.forEach((mesh) => {\n // mesh.visible = true\n // })\n\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n this.poi.setVisible(false)\n break\n }\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["EquirectangularReflectionMapping","InteractionManager","ModelLoader","Vector3","lib","use","utils","Camera","finirMaterialV1","handleUnit","globalEvents","switchMaterial","debounce","load","rgbeLoader","RGBELoader","emitter","SceneStyle","SceneTag","Factory3D","option","overview","real","Map","globalEventsAgent","scene","cameraUtil","camera","controls","control","model","loadGLTF","gltf","group","clone","traverse","child","type","material","add","visible","style","tech","techModel","realModl","interactionManager","renderer","domElement","storeManagement","set","useframe","update","addEventListener","e","position","point","call","setPath","texture","mapping","boxSkeyTexture","background","environment","params","toggleState","endCallBack","speed","start","end","callback","tag","toggleSceneStyle","wall","wallMesh","forEach","mesh","cylinder","cylinderMesh","poi","reset","circle","remove","poiMesh","setVisible","eventKey","on","args","eventHandleFn","get","fn","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { EquirectangularReflectionMapping, InteractionManager, ModelLoader, Vector3, lib, use, utils } from '@anov/3d-core'\nimport { Camera } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport { globalEvents } from './globalData'\nimport switchMaterial from './utils/switchMaterial'\nimport { debounce } from './utils'\n\ntype factory3dOption = {\n model?: string\n environment: string\n}\nconst load = new ModelLoader()\nconst rgbeLoader = new lib.RGBELoader()\nconst { emitter } = utils\n\nexport enum SceneStyle {\n 'real',\n 'tech',\n}\n\nexport enum SceneTag {\n 'overview' = 'Overview',\n 'people-management' = 'Person',\n}\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene!: SceneControl\n control!: OrbitControls\n cameraUtil!: Camera\n\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n private wall!: WallManage\n private line!: LineManage\n private cylinder!: CylinderManage\n private poi!: PoiManage\n private circle!: CircleManage\n areaBoundingBox!: AreaBoundingBoxManage\n\n private realModl!: Group\n private techModel!: Group\n\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n\n private toggleState = true\n private boxSkeyTexture!: DataTexture\n\n interactionManager!: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n this.scene = scene\n this.cameraUtil = new Camera(scene.camera!, scene.controls!)\n this.control = scene.controls!\n\n this.option.model && load.loadGLTF(this.option.model, false, true, './draco/', (gltf) => {\n const group = gltf.scene.clone()\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n })\n\n this.scene.add(gltf.scene)\n this.scene.add(group)\n\n gltf.scene.visible = SceneStyle.real === this.style\n group.visible = SceneStyle.tech === this.style\n\n this.techModel = group as Group\n this.realModl = gltf.scene as Group\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n // interactionManager.add(gltf.scene)\n\n gltf.scene.addEventListener('click', (e) => {\n this.position = e.point\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n rgbeLoader.setPath('./').load('quarry_01_1k.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n this.boxSkeyTexture = texture\n this.scene.scene.background = texture\n this.scene.scene.environment = texture\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n private toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n if (params === SceneStyle.tech)\n this.toggleState = false\n\n this.style = params\n\n const endCallBack = debounce(() => {\n this.realModl.visible = false\n this.toggleState = true\n })\n\n if (this.style === SceneStyle.tech) {\n this.realModl.traverse((child) => {\n if (child.type === 'Mesh') {\n switchMaterial(child as Object3D & { material: Material }, finirMaterialV1, {\n speed: 40,\n start: -500,\n end: 2000,\n callback: endCallBack,\n })\n }\n })\n }\n\n if (params === SceneStyle.real) {\n this.realModl.visible = SceneStyle.real === this.style\n this.scene.scene.background = this.boxSkeyTexture\n }\n else {\n this.scene.scene.background = null\n }\n\n this.techModel.visible = SceneStyle.tech === this.style\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.toggleState === false)\n return\n switch (tag) {\n case SceneTag.overview:\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = true\n })\n\n // this.line.lineMesh.forEach((mesh) => {\n // mesh.visible = false\n // })\n\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.poi.reset()\n this.circle.remove()\n break\n case SceneTag['people-management']:\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.poiMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n // this.line.lineMesh.forEach((mesh) => {\n // mesh.visible = true\n // })\n\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n this.poi.setVisible(false)\n break\n }\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
@@ -10,9 +10,58 @@ export var regionMap = {
|
|
|
10
10
|
area: [[-483.562, 0, -225.624], [-145.997, 0, -225.624], [-145.997, 0, -59.401], [-483.562, 0, -59.401]],
|
|
11
11
|
poi: {
|
|
12
12
|
id: '1',
|
|
13
|
-
position: [-
|
|
14
|
-
content: '
|
|
15
|
-
}
|
|
13
|
+
position: [-314.01113070, 0.55000000, -146.54350582],
|
|
14
|
+
content: '通过直馏汽油和加氢石脑油,在催化剂存在的前提下,将原料的烷烃和环烷烃重构成为芳烃。并采用半再生固定床重整工艺,催化剂分段装填及两段混氢技术,装置采用了RIPP的粗汽油制氢技术。'
|
|
15
|
+
},
|
|
16
|
+
people: [{
|
|
17
|
+
id: '7',
|
|
18
|
+
name: '耿笑',
|
|
19
|
+
dep: '设备运维',
|
|
20
|
+
online: true,
|
|
21
|
+
position: [-352.00000000, 0.62500079, -177.20000000]
|
|
22
|
+
}, {
|
|
23
|
+
id: '2',
|
|
24
|
+
name: '李连贵',
|
|
25
|
+
dep: '工艺操作',
|
|
26
|
+
online: true,
|
|
27
|
+
position: [-275.70000000, 0.62500079, -137.10000000]
|
|
28
|
+
}, {
|
|
29
|
+
id: '8',
|
|
30
|
+
name: '吕萌',
|
|
31
|
+
dep: '质量检测',
|
|
32
|
+
online: true,
|
|
33
|
+
position: [-365.40000000, 0.62500079, -80.60000000]
|
|
34
|
+
}, {
|
|
35
|
+
id: '1',
|
|
36
|
+
name: '宋玉',
|
|
37
|
+
dep: '质量检测',
|
|
38
|
+
online: true,
|
|
39
|
+
position: [-436.90000000, 0.62500079, -121.50000000]
|
|
40
|
+
}, {
|
|
41
|
+
id: '5',
|
|
42
|
+
name: '王小雨',
|
|
43
|
+
dep: '运输装卸',
|
|
44
|
+
online: true,
|
|
45
|
+
position: [-238.70000000, 0.62500079, -205.10000000]
|
|
46
|
+
}, {
|
|
47
|
+
id: '6',
|
|
48
|
+
name: '张建国',
|
|
49
|
+
dep: '原料加工',
|
|
50
|
+
online: true,
|
|
51
|
+
position: [-436.50000000, 0.62500079, -182.30000000]
|
|
52
|
+
}, {
|
|
53
|
+
id: '3',
|
|
54
|
+
name: '张小萌',
|
|
55
|
+
dep: '生产技术',
|
|
56
|
+
online: true,
|
|
57
|
+
position: [-204.80000000, 0.62500079, -150.10000000]
|
|
58
|
+
}, {
|
|
59
|
+
id: '4',
|
|
60
|
+
name: '朱正',
|
|
61
|
+
dep: '设备运维',
|
|
62
|
+
online: true,
|
|
63
|
+
position: [-302.20000000, 0.62500079, -117.90000000]
|
|
64
|
+
}]
|
|
16
65
|
},
|
|
17
66
|
reduction: {
|
|
18
67
|
id: '2',
|
|
@@ -20,19 +69,87 @@ export var regionMap = {
|
|
|
20
69
|
area: [[-140.123, 0, -225.604], [206.547, 0, -225.624], [206.547, 0, -59.401], [-140.123, 0, -59.401]],
|
|
21
70
|
poi: {
|
|
22
71
|
id: '2',
|
|
23
|
-
position: [
|
|
24
|
-
content: '
|
|
25
|
-
}
|
|
72
|
+
position: [28.89784048, 0.55000000, -144.28157517],
|
|
73
|
+
content: '主要包括三个工序:原油的脱盐、脱水;常压蒸馏;减压蒸馏。从油田送往炼油厂的原油往往含盐(主要是氧化物)带水(溶于油或呈乳化状态),可导致设备的腐蚀,在设备内壁结垢和影响成品油的组成,需在加工前脱除。'
|
|
74
|
+
},
|
|
75
|
+
people: [{
|
|
76
|
+
id: '12',
|
|
77
|
+
name: '才新梁',
|
|
78
|
+
dep: '运输装卸',
|
|
79
|
+
online: true,
|
|
80
|
+
position: [26.50000000, 0.62500079, -155.00000000]
|
|
81
|
+
}, {
|
|
82
|
+
id: '13',
|
|
83
|
+
name: '何超盈',
|
|
84
|
+
dep: '生产技术',
|
|
85
|
+
online: true,
|
|
86
|
+
position: [198.50000000, 0.62500079, -169.20000000]
|
|
87
|
+
}, {
|
|
88
|
+
id: '11',
|
|
89
|
+
name: '李大为',
|
|
90
|
+
dep: '质量检测',
|
|
91
|
+
online: true,
|
|
92
|
+
position: [-79.80000000, 0.62500079, -218.20000000]
|
|
93
|
+
}, {
|
|
94
|
+
id: '15',
|
|
95
|
+
name: '孙建连',
|
|
96
|
+
dep: '工艺操作',
|
|
97
|
+
online: true,
|
|
98
|
+
position: [-19.50000000, 0.62500079, -174.60000000]
|
|
99
|
+
}, {
|
|
100
|
+
id: '9',
|
|
101
|
+
name: '孙强',
|
|
102
|
+
dep: '工艺操作',
|
|
103
|
+
online: true,
|
|
104
|
+
position: [-114.10000000, 0.62500079, -114.60000000]
|
|
105
|
+
}, {
|
|
106
|
+
id: '10',
|
|
107
|
+
name: '佟丽英',
|
|
108
|
+
dep: '运输装卸',
|
|
109
|
+
online: true,
|
|
110
|
+
position: [26.10000000, 0.62500079, -202.30000000]
|
|
111
|
+
}, {
|
|
112
|
+
id: '14',
|
|
113
|
+
name: '王超',
|
|
114
|
+
dep: '设备运维',
|
|
115
|
+
online: true,
|
|
116
|
+
position: [-14.90000000, 0.62500079, -116.90000000]
|
|
117
|
+
}]
|
|
26
118
|
},
|
|
27
119
|
crudeOil: {
|
|
28
120
|
id: '3',
|
|
29
|
-
title: '
|
|
121
|
+
title: '原油罐区',
|
|
30
122
|
area: [[240.584, 0, -225.624], [475.523, 0, -225.624], [475.543, 0, -59.401], [240.584, 0, -59.401]],
|
|
31
123
|
poi: {
|
|
32
124
|
id: '3',
|
|
33
|
-
position: [
|
|
34
|
-
content: '
|
|
35
|
-
}
|
|
125
|
+
position: [359.58372139, 0.55000000, -144.28157517],
|
|
126
|
+
content: '原油罐区应靠近相应的加工装置区,并利用地形将液体物料自留输送,性质相近的液体物料储物罐宜布置较近。原油罐区的占地面积较大,原油罐区应注意火灾防范,存储量大一旦发生火灾,如不及时处置,扑救十分困难。'
|
|
127
|
+
},
|
|
128
|
+
people: [{
|
|
129
|
+
id: '19',
|
|
130
|
+
name: '牛小灵',
|
|
131
|
+
dep: '生产技术',
|
|
132
|
+
online: true,
|
|
133
|
+
position: [404.70000000, 0.62500079, -190.30000000]
|
|
134
|
+
}, {
|
|
135
|
+
id: '17',
|
|
136
|
+
name: '彭旭',
|
|
137
|
+
dep: '运输装卸',
|
|
138
|
+
online: true,
|
|
139
|
+
position: [294.10000000, 0.62500079, -125.90000000]
|
|
140
|
+
}, {
|
|
141
|
+
id: '16',
|
|
142
|
+
name: '宋麒麟',
|
|
143
|
+
dep: '设备运维',
|
|
144
|
+
online: true,
|
|
145
|
+
position: [445.70000000, 0.62500079, -119.20000000]
|
|
146
|
+
}, {
|
|
147
|
+
id: '18',
|
|
148
|
+
name: '赵佳慧',
|
|
149
|
+
dep: '生产技术',
|
|
150
|
+
online: true,
|
|
151
|
+
position: [344.50000000, 0.62500079, -127.10000000]
|
|
152
|
+
}]
|
|
36
153
|
},
|
|
37
154
|
catalyticCracking: {
|
|
38
155
|
id: '4',
|
|
@@ -40,9 +157,70 @@ export var regionMap = {
|
|
|
40
157
|
area: [[-483.562, 0, -49.812], [-145.997, 0, -49.812], [-145.997, 0, 115.799], [-483.562, 0, 115.799]],
|
|
41
158
|
poi: {
|
|
42
159
|
id: '4',
|
|
43
|
-
position: [-
|
|
44
|
-
content: '
|
|
45
|
-
}
|
|
160
|
+
position: [-322.57300372, 0.55000000, 31.81516361],
|
|
161
|
+
content: '该区域主要危险因素为高温,重点部位:1. 催化剂循环系统磨穿泄漏着火;2. 再生器及沉降器油气互串爆炸;3. 高位管线及设备泄漏着火。同时催化裂化工艺过程需注意对环境造成的影响,生产过程中烟气会带走较多热烈造成热能浪费和污染,'
|
|
162
|
+
},
|
|
163
|
+
people: [{
|
|
164
|
+
id: '20',
|
|
165
|
+
name: '李刚',
|
|
166
|
+
dep: '运输装卸',
|
|
167
|
+
online: true,
|
|
168
|
+
position: [-339.40000000, 0.62500079, -1.90000000]
|
|
169
|
+
}, {
|
|
170
|
+
id: '24',
|
|
171
|
+
name: '李天一',
|
|
172
|
+
dep: '工艺操作',
|
|
173
|
+
online: true,
|
|
174
|
+
position: [-394.80000000, 0.62500079, 16.80000000]
|
|
175
|
+
}, {
|
|
176
|
+
id: '26',
|
|
177
|
+
name: '吕方',
|
|
178
|
+
dep: '设备运维',
|
|
179
|
+
online: true,
|
|
180
|
+
position: [-363.10000000, 0.62500079, 73.30000000]
|
|
181
|
+
}, {
|
|
182
|
+
id: '29',
|
|
183
|
+
name: '路笑',
|
|
184
|
+
dep: '运输装卸',
|
|
185
|
+
online: true,
|
|
186
|
+
position: [-214.00000000, 0.62500079, 39.10000000]
|
|
187
|
+
}, {
|
|
188
|
+
id: '22',
|
|
189
|
+
name: '淼杉',
|
|
190
|
+
dep: '运输装卸',
|
|
191
|
+
online: true,
|
|
192
|
+
position: [-175.10000000, 0.62500079, -12.80000000]
|
|
193
|
+
}, {
|
|
194
|
+
id: '25',
|
|
195
|
+
name: '孙江',
|
|
196
|
+
dep: '运输装卸',
|
|
197
|
+
online: true,
|
|
198
|
+
position: [-175.80000000, 0.62500079, 8.90000000]
|
|
199
|
+
}, {
|
|
200
|
+
id: '27',
|
|
201
|
+
name: '王衣衣',
|
|
202
|
+
dep: '运输装卸',
|
|
203
|
+
online: true,
|
|
204
|
+
position: [-394.60000000, 0.62500079, -37.80000000]
|
|
205
|
+
}, {
|
|
206
|
+
id: '28',
|
|
207
|
+
name: '张含义',
|
|
208
|
+
dep: '质量检测',
|
|
209
|
+
online: true,
|
|
210
|
+
position: [-436.90000000, 0.62500079, 69.40000000]
|
|
211
|
+
}, {
|
|
212
|
+
id: '21',
|
|
213
|
+
name: '张山一',
|
|
214
|
+
dep: '生产技术',
|
|
215
|
+
online: true,
|
|
216
|
+
position: [-325.30000000, 0.62500079, 86.20000000]
|
|
217
|
+
}, {
|
|
218
|
+
id: '23',
|
|
219
|
+
name: '张时柳',
|
|
220
|
+
dep: '运输装卸',
|
|
221
|
+
online: true,
|
|
222
|
+
position: [-211.20000000, 0.62500079, 95.80000000]
|
|
223
|
+
}]
|
|
46
224
|
},
|
|
47
225
|
hydrocrackingUnit: {
|
|
48
226
|
id: '5',
|
|
@@ -50,44 +228,87 @@ export var regionMap = {
|
|
|
50
228
|
area: [[-483.562, 0, 124.634], [-145.997, 0, 124.634], [-145.997, 0, 218.589], [-483.562, 0, 218.589]],
|
|
51
229
|
poi: {
|
|
52
230
|
id: '5',
|
|
53
|
-
position: [-
|
|
54
|
-
content: '
|
|
55
|
-
}
|
|
231
|
+
position: [-307.04992341, 0.55000000, 168.90578924],
|
|
232
|
+
content: '该区域主要注意器材的腐蚀,腐蚀类型主要有:氢损伤(包括高温氢腐蚀、氢脆、氢致剥离)、高温H2+H2S腐蚀、连多硫酸腐蚀、Cr-Mo钢的回火脆性、高温S腐蚀、低温部位的H2S+H2O腐蚀、H2S+NH3+H2O腐蚀。'
|
|
233
|
+
},
|
|
234
|
+
people: [{
|
|
235
|
+
id: '30',
|
|
236
|
+
name: '李梦雅',
|
|
237
|
+
dep: '生产技术',
|
|
238
|
+
online: true,
|
|
239
|
+
position: [-203.90000000, 0.62500079, -4.70000000]
|
|
240
|
+
}, {
|
|
241
|
+
id: '31',
|
|
242
|
+
name: '张连营',
|
|
243
|
+
dep: '运输装卸',
|
|
244
|
+
online: true,
|
|
245
|
+
position: [-428.40000000, 0.62500079, 96.90000000]
|
|
246
|
+
}, {
|
|
247
|
+
id: '32',
|
|
248
|
+
name: '张子成',
|
|
249
|
+
dep: '运输装卸',
|
|
250
|
+
online: true,
|
|
251
|
+
position: [-408.30000000, 0.62500079, -37.20000000]
|
|
252
|
+
}]
|
|
56
253
|
},
|
|
57
254
|
cokingUnit: {
|
|
58
255
|
id: '6',
|
|
59
256
|
title: '焦化装置区',
|
|
60
257
|
area: [[-140.100, 0, -49.802], [316.508, 0, -49.802], [316.508, 0, 218.847], [-140.100, 0, 218.847]],
|
|
258
|
+
poi: {
|
|
259
|
+
id: '6',
|
|
260
|
+
position: [76.84192138, 0.55000332, 95.89826158],
|
|
261
|
+
content: '该区域采用的延迟焦化装置是厂区能耗大户,其中,其燃料油、循环水两者的能耗占整个装置能耗的54%左右,其中,燃料气主要用于原料的加热、升温;循环水、新鲜水、软化水主要用于装置机泵降温、焦炭塔冷却等等。'
|
|
262
|
+
},
|
|
61
263
|
people: [{
|
|
62
|
-
id: '
|
|
63
|
-
name: '
|
|
64
|
-
|
|
264
|
+
id: '38',
|
|
265
|
+
name: '毕贵元',
|
|
266
|
+
dep: '工艺操作',
|
|
267
|
+
online: true,
|
|
268
|
+
position: [247.30000000, 0.62500079, 166.20000000]
|
|
65
269
|
}, {
|
|
66
|
-
id: '
|
|
67
|
-
name: '
|
|
68
|
-
|
|
270
|
+
id: '39',
|
|
271
|
+
name: '何晴',
|
|
272
|
+
dep: '设备运维',
|
|
273
|
+
online: true,
|
|
274
|
+
position: [-83.70000000, 0.62500079, 177.50000000]
|
|
69
275
|
}, {
|
|
70
|
-
id: '
|
|
71
|
-
name: '
|
|
72
|
-
|
|
276
|
+
id: '33',
|
|
277
|
+
name: '杨东利',
|
|
278
|
+
dep: '工艺操作',
|
|
279
|
+
online: true,
|
|
280
|
+
position: [68.20000000, 0.62500079, 5.20000000]
|
|
73
281
|
}, {
|
|
74
|
-
id: '
|
|
75
|
-
name: '
|
|
76
|
-
|
|
282
|
+
id: '36',
|
|
283
|
+
name: '杨晓月',
|
|
284
|
+
dep: '质量检测',
|
|
285
|
+
online: true,
|
|
286
|
+
position: [258.00000000, 0.62500079, 99.00000000]
|
|
77
287
|
}, {
|
|
78
|
-
id: '
|
|
79
|
-
name: '
|
|
80
|
-
|
|
288
|
+
id: '40',
|
|
289
|
+
name: '杨一真',
|
|
290
|
+
dep: '质量检测',
|
|
291
|
+
online: true,
|
|
292
|
+
position: [107.90000000, 0.62500079, 95.30000000]
|
|
81
293
|
}, {
|
|
82
|
-
id: '
|
|
83
|
-
name: '
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
294
|
+
id: '37',
|
|
295
|
+
name: '张飞',
|
|
296
|
+
dep: '运输装卸',
|
|
297
|
+
online: true,
|
|
298
|
+
position: [-69.60000000, 0.62500079, 29.30000000]
|
|
299
|
+
}, {
|
|
300
|
+
id: '35',
|
|
301
|
+
name: '张一天',
|
|
302
|
+
dep: '运输装卸',
|
|
303
|
+
online: true,
|
|
304
|
+
position: [271.20000000, 0.62500079, 24.70000000]
|
|
305
|
+
}, {
|
|
306
|
+
id: '34',
|
|
307
|
+
name: '张泽宇',
|
|
308
|
+
dep: '设备运维',
|
|
309
|
+
online: true,
|
|
310
|
+
position: [175.00000000, 0.62500079, 74.60000000]
|
|
311
|
+
}]
|
|
91
312
|
},
|
|
92
313
|
administrative: {
|
|
93
314
|
id: '7',
|
|
@@ -95,34 +316,130 @@ export var regionMap = {
|
|
|
95
316
|
area: [[340.501, 0, -44.710], [482.570, 0, -44.710], [482.570, 0, 227.641], [340.501, 0, 227.641]],
|
|
96
317
|
maxHigh: 100,
|
|
97
318
|
people: [{
|
|
98
|
-
id: '
|
|
99
|
-
name: '
|
|
100
|
-
|
|
319
|
+
id: '49',
|
|
320
|
+
name: '毕古元',
|
|
321
|
+
dep: '运输装卸',
|
|
322
|
+
online: true,
|
|
323
|
+
position: [431.60000000, 0.62500079, 94.90000000]
|
|
324
|
+
}, {
|
|
325
|
+
id: '50',
|
|
326
|
+
name: '陈红',
|
|
327
|
+
dep: '设备运维',
|
|
328
|
+
online: true,
|
|
329
|
+
position: [374.20000000, 0.62500079, 14.80000000]
|
|
330
|
+
}, {
|
|
331
|
+
id: '58',
|
|
332
|
+
name: '陈静娴',
|
|
333
|
+
dep: '质量检测',
|
|
334
|
+
online: true,
|
|
335
|
+
position: [352.40000000, 0.62500079, 138.30000000]
|
|
336
|
+
}, {
|
|
337
|
+
id: '54',
|
|
338
|
+
name: '高红雷',
|
|
339
|
+
dep: '运输装卸',
|
|
340
|
+
online: true,
|
|
341
|
+
position: [435.20000000, 0.62500079, 172.90000000]
|
|
342
|
+
}, {
|
|
343
|
+
id: '57',
|
|
344
|
+
name: '葛强',
|
|
345
|
+
dep: '设备运维',
|
|
346
|
+
online: true,
|
|
347
|
+
position: [379.10000000, 0.62500079, 193.40000000]
|
|
348
|
+
}, {
|
|
349
|
+
id: '46',
|
|
350
|
+
name: '宫京',
|
|
351
|
+
dep: '运输装卸',
|
|
352
|
+
online: true,
|
|
353
|
+
position: [441.30000000, 0.62500079, 80.70000000]
|
|
354
|
+
}, {
|
|
355
|
+
id: '53',
|
|
356
|
+
name: '匡青一',
|
|
357
|
+
dep: '运输装卸',
|
|
358
|
+
online: true,
|
|
359
|
+
position: [379.10000000, 0.62500079, 173.80000000]
|
|
360
|
+
}, {
|
|
361
|
+
id: '55',
|
|
362
|
+
name: '李丽颖',
|
|
363
|
+
dep: '质量检测',
|
|
364
|
+
online: true,
|
|
365
|
+
position: [357.50000000, 0.62500079, 221.40000000]
|
|
366
|
+
}, {
|
|
367
|
+
id: '48',
|
|
368
|
+
name: '李同一',
|
|
369
|
+
dep: '工艺操作',
|
|
370
|
+
online: true,
|
|
371
|
+
position: [467.80000000, 0.62500079, 108.10000000]
|
|
372
|
+
}, {
|
|
373
|
+
id: '56',
|
|
374
|
+
name: '李晓阳',
|
|
375
|
+
dep: '运输装卸',
|
|
376
|
+
online: true,
|
|
377
|
+
position: [444.20000000, 0.62500079, 191.80000000]
|
|
378
|
+
}, {
|
|
379
|
+
id: '41',
|
|
380
|
+
name: '刘超',
|
|
381
|
+
dep: '运输装卸',
|
|
382
|
+
online: true,
|
|
383
|
+
position: [354.20000000, 0.62500079, -22.70000000]
|
|
384
|
+
}, {
|
|
385
|
+
id: '42',
|
|
386
|
+
name: '刘凤林',
|
|
387
|
+
dep: '工艺操作',
|
|
388
|
+
online: true,
|
|
389
|
+
position: [368.50000000, 0.62500079, 40.30000000]
|
|
390
|
+
}, {
|
|
391
|
+
id: '44',
|
|
392
|
+
name: '卢灵',
|
|
393
|
+
dep: '运输装卸',
|
|
394
|
+
online: true,
|
|
395
|
+
position: [368.00000000, 0.62500079, 79.90000000]
|
|
396
|
+
}, {
|
|
397
|
+
id: '45',
|
|
398
|
+
name: '苏丁',
|
|
399
|
+
dep: '质量检测',
|
|
400
|
+
online: true,
|
|
401
|
+
position: [440.30000000, 0.62500079, 72.90000000]
|
|
402
|
+
}, {
|
|
403
|
+
id: '50',
|
|
404
|
+
name: '王林缘',
|
|
405
|
+
dep: '工艺操作',
|
|
406
|
+
online: true,
|
|
407
|
+
position: [360.40000000, 0.62500079, 103.20000000]
|
|
101
408
|
}, {
|
|
102
|
-
id: '
|
|
103
|
-
name: '
|
|
104
|
-
|
|
409
|
+
id: '51',
|
|
410
|
+
name: '汪泉',
|
|
411
|
+
dep: '运输装卸',
|
|
412
|
+
online: true,
|
|
413
|
+
position: [394.30000000, 0.62500079, 142.00000000]
|
|
105
414
|
}, {
|
|
106
|
-
id: '
|
|
107
|
-
name: '
|
|
108
|
-
|
|
415
|
+
id: '43',
|
|
416
|
+
name: '徐刚',
|
|
417
|
+
dep: '运输装卸',
|
|
418
|
+
online: true,
|
|
419
|
+
position: [442.70000000, 0.62500079, -19.0000000]
|
|
109
420
|
}, {
|
|
110
|
-
id: '
|
|
111
|
-
name: '
|
|
112
|
-
|
|
421
|
+
id: '52',
|
|
422
|
+
name: '薛友',
|
|
423
|
+
dep: '质量检测',
|
|
424
|
+
online: true,
|
|
425
|
+
position: [444.40000000, 0.62500079, 147.80000000]
|
|
113
426
|
}, {
|
|
114
|
-
id: '
|
|
115
|
-
name: '
|
|
116
|
-
|
|
427
|
+
id: '60',
|
|
428
|
+
name: '章虎泉',
|
|
429
|
+
dep: '工艺操作',
|
|
430
|
+
online: true,
|
|
431
|
+
position: [467.80000000, 0.62500079, 21.90000000]
|
|
117
432
|
}, {
|
|
118
|
-
id: '
|
|
119
|
-
name: '
|
|
120
|
-
|
|
433
|
+
id: '47',
|
|
434
|
+
name: '张山峰',
|
|
435
|
+
dep: '设备运维',
|
|
436
|
+
online: true,
|
|
437
|
+
position: [459.90000000, 0.62500079, 90.10000000]
|
|
121
438
|
}],
|
|
122
439
|
poi: {
|
|
123
440
|
id: '7',
|
|
124
|
-
position: [
|
|
125
|
-
content: '
|
|
441
|
+
position: [404.24348058, 0.55000000, 85.00566808],
|
|
442
|
+
content: '提供对工厂办公人员的休息和休闲区域,包括食堂,休息室,员工宿舍,休闲楼等场地,且该区域需较远离生产区,保证员工休息质量。'
|
|
126
443
|
}
|
|
127
444
|
}
|
|
128
445
|
};
|