iflow-engine-base 0.0.1
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/README.md +2 -0
- package/dist/assets/bim-engine-sdk.z34pmn5f.css +1 -0
- package/dist/assets/hdr/001.hdr +0 -0
- package/dist/assets/viewcube/cn_back.png +0 -0
- package/dist/assets/viewcube/cn_bottom.png +0 -0
- package/dist/assets/viewcube/cn_front.png +0 -0
- package/dist/assets/viewcube/cn_left.png +0 -0
- package/dist/assets/viewcube/cn_right.png +0 -0
- package/dist/assets/viewcube/cn_top.png +0 -0
- package/dist/assets/viewcube/home.png +0 -0
- package/dist/bim-engine-sdk.es.js +13022 -0
- package/dist/bim-engine-sdk.es.js.map +1 -0
- package/dist/bim-engine-sdk.umd.js +841 -0
- package/dist/bim-engine-sdk.umd.js.map +1 -0
- package/dist/draco/DRACOLoader.js +739 -0
- package/dist/draco/draco_decoder.js +52 -0
- package/dist/draco/draco_decoder.wasm +0 -0
- package/dist/draco/draco_encoder.js +33 -0
- package/dist/draco/draco_wasm_wrapper.js +104 -0
- package/dist/index.d.ts +610 -0
- package/dist/model/gujianzhu.glb +0 -0
- package/dist/model/test1/lod3/nodes.json +1 -0
- package/dist/model/test1/lod3/primitives/0.glb +0 -0
- package/dist/model/test1/lod3/primitives/1.glb +0 -0
- package/dist/model/test1/lod4/nodes.json +1 -0
- package/dist/model/test1/lod4/primitives/0.glb +0 -0
- package/dist/model/test1/lod5/nodes.json +1 -0
- package/dist/model/test1/lod5/primitives/0.glb +0 -0
- package/dist/model/test1/lod6/nodes.json +1 -0
- package/dist/model/test1/lod6/primitives/0.glb +0 -0
- package/dist/model/test2/info.zip +0 -0
- package/dist/model/test2/lod0/nodes.json +1 -0
- package/dist/model/test2/lod0/primitives/0.glb +0 -0
- package/dist/model/test2/lod0/primitives/1.glb +0 -0
- package/dist/model/test2/lod0/primitives/10.glb +0 -0
- package/dist/model/test2/lod0/primitives/11.glb +0 -0
- package/dist/model/test2/lod0/primitives/12.glb +0 -0
- package/dist/model/test2/lod0/primitives/13.glb +0 -0
- package/dist/model/test2/lod0/primitives/14.glb +0 -0
- package/dist/model/test2/lod0/primitives/15.glb +0 -0
- package/dist/model/test2/lod0/primitives/2.glb +0 -0
- package/dist/model/test2/lod0/primitives/3.glb +0 -0
- package/dist/model/test2/lod0/primitives/4.glb +0 -0
- package/dist/model/test2/lod0/primitives/5.glb +0 -0
- package/dist/model/test2/lod0/primitives/6.glb +0 -0
- package/dist/model/test2/lod0/primitives/7.glb +0 -0
- package/dist/model/test2/lod0/primitives/8.glb +0 -0
- package/dist/model/test2/lod0/primitives/9.glb +0 -0
- package/dist/model/test2/property.zip +0 -0
- package/package.json +46 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,610 @@
|
|
|
1
|
+
import { default as default_2 } from 'stats.js';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
|
|
4
|
+
declare class CameraModule {
|
|
5
|
+
private engine;
|
|
6
|
+
perspectiveCamera: THREE.PerspectiveCamera;
|
|
7
|
+
orthographicCamera: THREE.OrthographicCamera;
|
|
8
|
+
constructor(engine: any);
|
|
9
|
+
switchCurrentCamera(): void;
|
|
10
|
+
switchToPerspectiveCamera(): void;
|
|
11
|
+
switchToOrthographicCamera(): void;
|
|
12
|
+
getCameraType(): CameraType;
|
|
13
|
+
getCameraPose(): ICameraPose;
|
|
14
|
+
restoreCameraPose(pose: ICameraPose): void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
declare enum CameraType {
|
|
18
|
+
PERSPECTIVE = "perspective",
|
|
19
|
+
ORTHOGRAPHIC = "orthographic"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
declare class Clipping {
|
|
23
|
+
private engine;
|
|
24
|
+
sectionPlaneX: any;
|
|
25
|
+
sectionPlaneY: any;
|
|
26
|
+
sectionPlaneZ: any;
|
|
27
|
+
sectionBox: any;
|
|
28
|
+
clippingStencil: any;
|
|
29
|
+
constructor(engine: any);
|
|
30
|
+
disActive(): void;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
declare class ComposerModule {
|
|
34
|
+
private engine;
|
|
35
|
+
composer: any;
|
|
36
|
+
private saturationPass;
|
|
37
|
+
constructor(engine: any);
|
|
38
|
+
resize(): void;
|
|
39
|
+
init(): void;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
declare class ControlModule {
|
|
43
|
+
private engine;
|
|
44
|
+
orbitControls: any;
|
|
45
|
+
firstPersonControls: any;
|
|
46
|
+
isActive: boolean;
|
|
47
|
+
constructor(engine: any);
|
|
48
|
+
init(): void;
|
|
49
|
+
active(): void;
|
|
50
|
+
disActive(): void;
|
|
51
|
+
switchFirstPersonMode(): void;
|
|
52
|
+
switchDefaultMode(): void;
|
|
53
|
+
update(): void;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Factory function to create the BIM Engine instance.
|
|
58
|
+
*
|
|
59
|
+
* @param options Configuration options
|
|
60
|
+
* @returns An instance adhering to IBimEngine interface
|
|
61
|
+
*/
|
|
62
|
+
export declare function createEngine(options: EngineOptions): EngineKernelV2;
|
|
63
|
+
|
|
64
|
+
declare class DeviceModule {
|
|
65
|
+
private engine;
|
|
66
|
+
deviceType: string;
|
|
67
|
+
constructor(engine: any);
|
|
68
|
+
getDeviceType(): string;
|
|
69
|
+
getContainerSize(): {
|
|
70
|
+
width: any;
|
|
71
|
+
height: any;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* 引擎信息统计类
|
|
77
|
+
* 用于统计引擎中模型的顶点和三角面数量
|
|
78
|
+
*/
|
|
79
|
+
declare class EngineInfo {
|
|
80
|
+
private engine;
|
|
81
|
+
constructor(engine: any);
|
|
82
|
+
/**
|
|
83
|
+
* 获取引擎统计信息
|
|
84
|
+
* 统计场景中所有网格的顶点数和三角面数
|
|
85
|
+
* @returns 返回包含顶点数和三角面数的对象
|
|
86
|
+
*/
|
|
87
|
+
getEngineInfo(): {
|
|
88
|
+
totalVertices: number;
|
|
89
|
+
totalTriangles: number;
|
|
90
|
+
meshCount: number;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
declare class EngineKernelV2 {
|
|
95
|
+
private options;
|
|
96
|
+
private DeviceType;
|
|
97
|
+
private animationId;
|
|
98
|
+
private animate;
|
|
99
|
+
scene: THREE.Scene | null;
|
|
100
|
+
camera: THREE.Camera | null;
|
|
101
|
+
renderer: THREE.WebGLRenderer | null;
|
|
102
|
+
sceneModule: SceneModule;
|
|
103
|
+
cameraModule: CameraModule;
|
|
104
|
+
deviceModule: DeviceModule;
|
|
105
|
+
renderModule: RenderModule;
|
|
106
|
+
controlModule: ControlModule;
|
|
107
|
+
composerModule: ComposerModule;
|
|
108
|
+
loaderModule: LoaderModule;
|
|
109
|
+
engineStatus: EngineStatus;
|
|
110
|
+
events: EventModule;
|
|
111
|
+
lightModule: LightModule;
|
|
112
|
+
interactionModule: InteractionModule;
|
|
113
|
+
modelToolModule: ModelToolModule;
|
|
114
|
+
worldToScreen: WorldToScreen;
|
|
115
|
+
handelBehaved: typeof HandelBehaved;
|
|
116
|
+
octreeBox: any;
|
|
117
|
+
controls: any;
|
|
118
|
+
stats: default_2;
|
|
119
|
+
catchSvg: SVGSVGElement;
|
|
120
|
+
viewCube: ViewCube;
|
|
121
|
+
rangeScale: RangeScale;
|
|
122
|
+
setting: Setting;
|
|
123
|
+
measure: Measure;
|
|
124
|
+
clipping: Clipping;
|
|
125
|
+
modelTree: ModelTree;
|
|
126
|
+
engineInfo: EngineInfo;
|
|
127
|
+
modelProperties: ModelProperties;
|
|
128
|
+
modelMapperBatch: ModelMapperBatch;
|
|
129
|
+
modelEdge: ModelEdge;
|
|
130
|
+
models: any[];
|
|
131
|
+
private container;
|
|
132
|
+
constructor(options: any);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* 引擎初始化配置
|
|
137
|
+
*/
|
|
138
|
+
declare interface EngineOptions {
|
|
139
|
+
containerId: string;
|
|
140
|
+
backgroundColor?: string | number | null;
|
|
141
|
+
antialias?: boolean;
|
|
142
|
+
version?: 'v1' | 'v2';
|
|
143
|
+
showStats?: boolean;
|
|
144
|
+
showViewCube?: boolean;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
declare class EngineStatus {
|
|
148
|
+
private engine;
|
|
149
|
+
isFree: boolean;
|
|
150
|
+
highlightModels: any[];
|
|
151
|
+
hideModels: any[];
|
|
152
|
+
models: any[];
|
|
153
|
+
constructor(engine: any);
|
|
154
|
+
init(): void;
|
|
155
|
+
updateFree(status: boolean): void;
|
|
156
|
+
closeAllFunction: () => void;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
declare class EventModule {
|
|
160
|
+
private listeners;
|
|
161
|
+
on<T = any>(event: EventType, callback: (data: T) => void): void;
|
|
162
|
+
off<T = any>(event: EventType, callback: (data: T) => void): void;
|
|
163
|
+
trigger(event: EventType, data?: any): void;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* 事件类型枚举
|
|
168
|
+
*/
|
|
169
|
+
declare enum EventType {
|
|
170
|
+
ModelLoadStart = "model-load-start",
|
|
171
|
+
ModelLoadProgress = "model-load-progress",
|
|
172
|
+
ModelLoaded = "model-loaded",
|
|
173
|
+
ModelError = "model-error",
|
|
174
|
+
SelectionChanged = "selection-changed",// data: { ids: string[], modelId: string }
|
|
175
|
+
HoverChanged = "hover-changed",// data: { id: string | null, point: Vector3 }
|
|
176
|
+
Click = "click",// data: MouseEventData
|
|
177
|
+
MouseMove = "mouse-move",// data: MouseEventData - 鼠标移动事件
|
|
178
|
+
CameraChanged = "camera-changed",// 相机移动时持续触发
|
|
179
|
+
CameraIdle = "camera-idle",// 相机静止后触发
|
|
180
|
+
EngineFree = "engine-free",
|
|
181
|
+
EngineBusy = "engine-busy"
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* 行为处理器 - 管理引擎的交互行为(鼠标、键盘事件等)
|
|
186
|
+
* @param engine 引擎实例
|
|
187
|
+
* @returns 行为处理器对象
|
|
188
|
+
*/
|
|
189
|
+
declare function HandelBehaved(engine: any): any;
|
|
190
|
+
|
|
191
|
+
declare interface ICameraPose {
|
|
192
|
+
type: CameraType;
|
|
193
|
+
position: {
|
|
194
|
+
x: number;
|
|
195
|
+
y: number;
|
|
196
|
+
z: number;
|
|
197
|
+
};
|
|
198
|
+
rotation: {
|
|
199
|
+
x: number;
|
|
200
|
+
y: number;
|
|
201
|
+
z: number;
|
|
202
|
+
};
|
|
203
|
+
quaternion: {
|
|
204
|
+
x: number;
|
|
205
|
+
y: number;
|
|
206
|
+
z: number;
|
|
207
|
+
w: number;
|
|
208
|
+
};
|
|
209
|
+
target?: {
|
|
210
|
+
x: number;
|
|
211
|
+
y: number;
|
|
212
|
+
z: number;
|
|
213
|
+
};
|
|
214
|
+
zoom?: number;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
declare class InteractionModule {
|
|
218
|
+
private engine;
|
|
219
|
+
private behavior;
|
|
220
|
+
private isCtrlDown;
|
|
221
|
+
constructor(engine: any);
|
|
222
|
+
init(): void;
|
|
223
|
+
active(): void;
|
|
224
|
+
disActive(): void;
|
|
225
|
+
handelKeyCtrlUp(): void;
|
|
226
|
+
handelKeyCtrlDown(): void;
|
|
227
|
+
handleMouseClick(event: any): void;
|
|
228
|
+
handleMouseDoubleClick(event: any): void;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
declare class LightModule {
|
|
232
|
+
private engine;
|
|
233
|
+
constructor(engine: any);
|
|
234
|
+
init(): void;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
declare class LoaderModule {
|
|
238
|
+
private engine;
|
|
239
|
+
constructor(engine: any);
|
|
240
|
+
loadModels(urls: string[], options?: LoadModelOptions): Promise<void>;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* 模型加载配置项
|
|
245
|
+
*/
|
|
246
|
+
declare interface LoadModelOptions {
|
|
247
|
+
/** 自定义模型 ID,若不提供则自动生成 UUID */
|
|
248
|
+
id?: string;
|
|
249
|
+
/** 初始名称 */
|
|
250
|
+
name?: string;
|
|
251
|
+
/** 初始变换矩阵 (平移、旋转、缩放) */
|
|
252
|
+
matrix?: number[];
|
|
253
|
+
/** 初始位置 [x, y, z] (如果提供了 matrix,此项可能被忽略或叠加) */
|
|
254
|
+
position?: [number, number, number];
|
|
255
|
+
/** 初始旋转 [x, y, z] (欧拉角,弧度) */
|
|
256
|
+
rotation?: [number, number, number];
|
|
257
|
+
/** 初始缩放 [x, y, z] */
|
|
258
|
+
scale?: [number, number, number];
|
|
259
|
+
/** 加载进度回调 (0-100) */
|
|
260
|
+
onProgress?: (progress: number) => void;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
declare class Measure {
|
|
264
|
+
private isActive;
|
|
265
|
+
private engine;
|
|
266
|
+
private clearHeightMeasure;
|
|
267
|
+
private distanceMeasure;
|
|
268
|
+
private clearDistanceMeasure;
|
|
269
|
+
private elevationMeasure;
|
|
270
|
+
private pointMeasure;
|
|
271
|
+
private angleMeasure;
|
|
272
|
+
private areaMeasure;
|
|
273
|
+
private slopeMeasure;
|
|
274
|
+
private tools;
|
|
275
|
+
private annotationContainer;
|
|
276
|
+
private annotationData;
|
|
277
|
+
constructor(engine: any);
|
|
278
|
+
active(): void;
|
|
279
|
+
disActive(): void;
|
|
280
|
+
clearAllPoints(): void;
|
|
281
|
+
clearAll(): void;
|
|
282
|
+
update(): void;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
declare class ModelEdge {
|
|
286
|
+
private engine;
|
|
287
|
+
private isActive;
|
|
288
|
+
private groupEdge;
|
|
289
|
+
private material;
|
|
290
|
+
private indexes;
|
|
291
|
+
constructor(engine: any);
|
|
292
|
+
active(): void;
|
|
293
|
+
disActive(): void;
|
|
294
|
+
private show;
|
|
295
|
+
getModelEdge(url: string, id: Number): any;
|
|
296
|
+
hideModelEdge(url: string, id: Number): void;
|
|
297
|
+
showModelEdge(url: string, id: Number): void;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
declare class ModelMapperBatch {
|
|
301
|
+
private engine;
|
|
302
|
+
constructor(engine: any);
|
|
303
|
+
getModelTypes(): void;
|
|
304
|
+
getModelMajors(): void;
|
|
305
|
+
getModelLevels(): void;
|
|
306
|
+
getModelMappers(models: any[]): void;
|
|
307
|
+
getModelMapper(url: string, id: number): any;
|
|
308
|
+
getModelSWithType(type: string, callback: any): any[];
|
|
309
|
+
getModelSWithLevel(level: string, callback: any): any[];
|
|
310
|
+
getModelsWithMajor(major: string, callback: any): any[];
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
declare class ModelProperties {
|
|
314
|
+
private engine;
|
|
315
|
+
constructor(engine: any);
|
|
316
|
+
init(): void;
|
|
317
|
+
getModelProperties(url: string, id: string, callback: (properties: any) => void): void;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
declare class ModelToolModule {
|
|
321
|
+
private engine;
|
|
322
|
+
private highlightMaterial;
|
|
323
|
+
private hideMaterial;
|
|
324
|
+
constructor(engine_: any);
|
|
325
|
+
highlightModel(models: any): void;
|
|
326
|
+
unhighlightModel(models: any): void;
|
|
327
|
+
unhighlightAllModels(): void;
|
|
328
|
+
hideModel(models: any): void;
|
|
329
|
+
showModel(models: any): void;
|
|
330
|
+
isolateModel(models: any): void;
|
|
331
|
+
showAllModels(): void;
|
|
332
|
+
setModelColor(model: any, color: string): void;
|
|
333
|
+
setAllModelsColor(color: string): void;
|
|
334
|
+
restoreAllModelsColor(): void;
|
|
335
|
+
getModelsBox(models: any): THREE.Box3;
|
|
336
|
+
getModelDescription(model: any): void;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
declare class ModelTree {
|
|
340
|
+
private engine;
|
|
341
|
+
constructor(engine: any);
|
|
342
|
+
getTreeData(): any[];
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* RangeScale - 范围缩放工具
|
|
347
|
+
*
|
|
348
|
+
* 功能:
|
|
349
|
+
* 1. 用户在屏幕上绘制一个区域(通过鼠标拖拽)
|
|
350
|
+
* 2. 将屏幕区域转换为世界坐标
|
|
351
|
+
* 3. 计算该区域在世界空间中的包围盒
|
|
352
|
+
* 4. 调整相机位置和视角,使该区域适合视口
|
|
353
|
+
*/
|
|
354
|
+
declare class RangeScale {
|
|
355
|
+
private engine;
|
|
356
|
+
private isDrawing;
|
|
357
|
+
private startPoint;
|
|
358
|
+
private endPoint;
|
|
359
|
+
private selectionBox;
|
|
360
|
+
private worldToScreen;
|
|
361
|
+
private boundMouseDown;
|
|
362
|
+
private boundMouseMove;
|
|
363
|
+
private boundMouseUp;
|
|
364
|
+
private boundKeyDown;
|
|
365
|
+
constructor(engine: any);
|
|
366
|
+
/**
|
|
367
|
+
* 初始化工具
|
|
368
|
+
* 创建绘制框UI元素,初始化坐标转换工具
|
|
369
|
+
*/
|
|
370
|
+
init(): void;
|
|
371
|
+
/**
|
|
372
|
+
* 激活工具
|
|
373
|
+
* 禁用控制器,添加鼠标事件监听器和键盘事件监听器
|
|
374
|
+
*/
|
|
375
|
+
active(): void;
|
|
376
|
+
/**
|
|
377
|
+
* 停用工具
|
|
378
|
+
* 启用控制器,移除鼠标事件监听器和键盘事件监听器
|
|
379
|
+
*/
|
|
380
|
+
disActive(): void;
|
|
381
|
+
/**
|
|
382
|
+
* 创建绘制框UI元素
|
|
383
|
+
* 用于在屏幕上显示用户绘制的区域
|
|
384
|
+
*/
|
|
385
|
+
private createSelectionBoxElement;
|
|
386
|
+
/**
|
|
387
|
+
* 鼠标按下事件处理
|
|
388
|
+
* 开始绘制区域
|
|
389
|
+
*/
|
|
390
|
+
private onMouseDown;
|
|
391
|
+
/**
|
|
392
|
+
* 鼠标移动事件处理
|
|
393
|
+
* 更新绘制框的显示
|
|
394
|
+
*/
|
|
395
|
+
private onMouseMove;
|
|
396
|
+
/**
|
|
397
|
+
* 鼠标释放事件处理
|
|
398
|
+
* 结束绘制,执行缩放操作
|
|
399
|
+
*/
|
|
400
|
+
private onMouseUp;
|
|
401
|
+
/**
|
|
402
|
+
* 键盘按下事件处理
|
|
403
|
+
* 按下 ESC 键时退出功能
|
|
404
|
+
*/
|
|
405
|
+
private onKeyDown;
|
|
406
|
+
/**
|
|
407
|
+
* 结束绘制
|
|
408
|
+
* 隐藏绘制框
|
|
409
|
+
*/
|
|
410
|
+
private endDrawing;
|
|
411
|
+
/**
|
|
412
|
+
* 更新绘制框UI
|
|
413
|
+
* 根据起点和终点更新绘制框的位置和大小
|
|
414
|
+
*/
|
|
415
|
+
private updateSelectionBoxUI;
|
|
416
|
+
/**
|
|
417
|
+
* 执行缩放操作
|
|
418
|
+
* 将屏幕区域转换为世界坐标,计算包围盒,调整相机视角
|
|
419
|
+
*/
|
|
420
|
+
private performZoom;
|
|
421
|
+
/**
|
|
422
|
+
* 调整相机视角以适应包围盒
|
|
423
|
+
* @param boundingBox - 要适应的包围盒
|
|
424
|
+
*/
|
|
425
|
+
private fitCameraToBoundingBox;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
declare class RenderModule {
|
|
429
|
+
private engine;
|
|
430
|
+
renderer: THREE.WebGLRenderer | null;
|
|
431
|
+
constructor(engine: any);
|
|
432
|
+
createRenderer(): THREE.WebGLRenderer;
|
|
433
|
+
disposeRenderer(): void;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
declare class SceneModule {
|
|
437
|
+
private engine;
|
|
438
|
+
scene: THREE.Scene | null;
|
|
439
|
+
constructor(engine: any);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
declare class Setting {
|
|
443
|
+
private engine;
|
|
444
|
+
private ground;
|
|
445
|
+
constructor(engine: any);
|
|
446
|
+
init(): void;
|
|
447
|
+
/**
|
|
448
|
+
* 隐藏或显示性能监视器
|
|
449
|
+
* @param visible - true显示,false隐藏
|
|
450
|
+
*/
|
|
451
|
+
setStatsVisible(visible: boolean): void;
|
|
452
|
+
/**
|
|
453
|
+
* 设置环境光照强度
|
|
454
|
+
* @param intensity - 光照强度,默认范围 0-5
|
|
455
|
+
*/
|
|
456
|
+
setAmbientLightIntensity(intensity: number): void;
|
|
457
|
+
/**
|
|
458
|
+
* 设置环境光照颜色
|
|
459
|
+
* @param color - 颜色,可以是十六进制数字 (0xffffff) 或字符串 ('#ffffff')
|
|
460
|
+
*/
|
|
461
|
+
setAmbientLightColor(color: number | string): void;
|
|
462
|
+
/**
|
|
463
|
+
* 设置定向光源强度
|
|
464
|
+
* @param intensity - 光照强度,默认范围 0-5
|
|
465
|
+
*/
|
|
466
|
+
setDirectionalLightIntensity(intensity: number): void;
|
|
467
|
+
/**
|
|
468
|
+
* 设置定向光源颜色
|
|
469
|
+
* @param color - 颜色,可以是十六进制数字 (0xffffff) 或字符串 ('#ffffff')
|
|
470
|
+
*/
|
|
471
|
+
setDirectionalLightColor(color: number | string): void;
|
|
472
|
+
/**
|
|
473
|
+
* 设置阴影精细度(阴影贴图分辨率)
|
|
474
|
+
* @param quality - 质量等级:'low' (1024), 'medium' (2048), 'high' (4096), 'ultra' (8192)
|
|
475
|
+
*/
|
|
476
|
+
setShadowQuality(quality: 'low' | 'medium' | 'high' | 'ultra'): void;
|
|
477
|
+
/**
|
|
478
|
+
* 设置是否开启定向光阴影
|
|
479
|
+
* @param enabled - true开启,false关闭
|
|
480
|
+
*/
|
|
481
|
+
setDirectionalLightShadow(enabled: boolean): void;
|
|
482
|
+
/**
|
|
483
|
+
* 设置是否开启GTAO阴影(环境光遮蔽)
|
|
484
|
+
* @param enabled - true开启,false关闭
|
|
485
|
+
*/
|
|
486
|
+
setGTAOEnabled(enabled: boolean): void;
|
|
487
|
+
/**
|
|
488
|
+
* 设置场景饱和度
|
|
489
|
+
* @param saturation - 饱和度值,1.0为正常,>1增强,<1降低,推荐范围 0.5-2.0
|
|
490
|
+
*/
|
|
491
|
+
setSceneSaturation(saturation: number): void;
|
|
492
|
+
/**
|
|
493
|
+
* 设置场景对比度
|
|
494
|
+
* @param contrast - 对比度值,1.0为正常,>1增强,<1降低,推荐范围 0.5-2.0
|
|
495
|
+
*/
|
|
496
|
+
setSceneContrast(contrast: number): void;
|
|
497
|
+
/**
|
|
498
|
+
* 设置是否开启地面
|
|
499
|
+
* @param enabled - true开启,false关闭
|
|
500
|
+
* @param options - 地面配置选项
|
|
501
|
+
*/
|
|
502
|
+
setGroundEnabled(enabled: boolean, options?: {
|
|
503
|
+
size?: number;
|
|
504
|
+
color?: number | string;
|
|
505
|
+
opacity?: number;
|
|
506
|
+
}): void;
|
|
507
|
+
/**
|
|
508
|
+
* 设置HDR背景
|
|
509
|
+
* @param hdrTexture - HDR环境贴图(THREE.Texture),传入null则移除背景
|
|
510
|
+
*/
|
|
511
|
+
setHDRBackground(hdrTexture: THREE.Texture | null): void;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
declare class ViewCube {
|
|
515
|
+
private engine;
|
|
516
|
+
cubeTool: any;
|
|
517
|
+
constructor(engine: any);
|
|
518
|
+
init(): void;
|
|
519
|
+
CameraGoHome(): void;
|
|
520
|
+
zoomToModel(box: any): void;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* 世界坐标与屏幕坐标转换工具类
|
|
525
|
+
* 提供世界坐标(3D空间坐标)与屏幕坐标(2D像素坐标)之间的双向转换功能
|
|
526
|
+
*/
|
|
527
|
+
declare class WorldToScreen {
|
|
528
|
+
private camera;
|
|
529
|
+
private renderer;
|
|
530
|
+
private scene?;
|
|
531
|
+
private raycaster;
|
|
532
|
+
/**
|
|
533
|
+
* 构造函数
|
|
534
|
+
* @param camera - Three.js 相机对象(用于投影计算)
|
|
535
|
+
* @param renderer - Three.js 渲染器对象(用于获取画布尺寸)
|
|
536
|
+
* @param scene - Three.js 场景对象(用于屏幕坐标转世界坐标时的射线检测,可选)
|
|
537
|
+
*/
|
|
538
|
+
constructor(camera: THREE.Camera, renderer: THREE.WebGLRenderer, scene?: THREE.Scene | undefined);
|
|
539
|
+
/**
|
|
540
|
+
* 将世界坐标转换为屏幕坐标(归一化坐标,范围 -1 到 1)
|
|
541
|
+
* @param worldPos - 世界空间中的3D坐标点
|
|
542
|
+
* @returns 归一化的屏幕坐标,x 和 y 的范围都是 -1 到 1
|
|
543
|
+
* x: -1 表示屏幕左边缘,1 表示屏幕右边缘
|
|
544
|
+
* y: -1 表示屏幕下边缘,1 表示屏幕上边缘
|
|
545
|
+
*/
|
|
546
|
+
worldToScreenNormalized(worldPos: THREE.Vector3): THREE.Vector2;
|
|
547
|
+
/**
|
|
548
|
+
* 将世界坐标转换为屏幕坐标(像素坐标)
|
|
549
|
+
* @param worldPos - 世界空间中的3D坐标点
|
|
550
|
+
* @returns 屏幕像素坐标,x 和 y 表示在画布上的实际像素位置
|
|
551
|
+
* x: 0 表示屏幕左边缘,width 表示屏幕右边缘
|
|
552
|
+
* y: 0 表示屏幕上边缘,height 表示屏幕下边缘
|
|
553
|
+
*/
|
|
554
|
+
worldToScreen(worldPos: THREE.Vector3): THREE.Vector2;
|
|
555
|
+
/**
|
|
556
|
+
* 将屏幕坐标(像素坐标)转换为归一化坐标
|
|
557
|
+
* @param screenX - 屏幕像素 X 坐标
|
|
558
|
+
* @param screenY - 屏幕像素 Y 坐标
|
|
559
|
+
* @returns 归一化的屏幕坐标,范围 -1 到 1
|
|
560
|
+
*/
|
|
561
|
+
screenToNormalized(screenX: number, screenY: number): THREE.Vector2;
|
|
562
|
+
/**
|
|
563
|
+
* 将屏幕坐标(像素坐标)转换为世界坐标
|
|
564
|
+
* 使用射线检测,返回与场景中第一个相交对象的世界坐标点
|
|
565
|
+
* @param screenX - 屏幕像素 X 坐标
|
|
566
|
+
* @param screenY - 屏幕像素 Y 坐标
|
|
567
|
+
* @param objects - 可选,指定要检测的对象数组。如果不提供且 scene 存在,则检测场景中的所有对象
|
|
568
|
+
* @returns 世界坐标点,如果没有相交则返回 null
|
|
569
|
+
*/
|
|
570
|
+
screenToWorld(screenX: number, screenY: number, objects?: THREE.Object3D[]): THREE.Vector3 | null;
|
|
571
|
+
/**
|
|
572
|
+
* 将屏幕坐标(像素坐标)转换为世界坐标(指定深度)
|
|
573
|
+
* 使用相机的逆投影,在指定的深度平面上计算世界坐标
|
|
574
|
+
* @param screenX - 屏幕像素 X 坐标
|
|
575
|
+
* @param screenY - 屏幕像素 Y 坐标
|
|
576
|
+
* @param depth - 深度值(距离相机的距离),默认为 0(相机近平面)
|
|
577
|
+
* @returns 世界坐标点
|
|
578
|
+
*/
|
|
579
|
+
screenToWorldWithDepth(screenX: number, screenY: number, depth?: number): THREE.Vector3;
|
|
580
|
+
/**
|
|
581
|
+
* 更新相机引用(当相机发生变化时调用)
|
|
582
|
+
* @param camera - 新的相机对象
|
|
583
|
+
*/
|
|
584
|
+
updateCamera(camera: THREE.Camera): void;
|
|
585
|
+
/**
|
|
586
|
+
* 更新渲染器引用(当渲染器发生变化时调用)
|
|
587
|
+
* @param renderer - 新的渲染器对象
|
|
588
|
+
*/
|
|
589
|
+
updateRenderer(renderer: THREE.WebGLRenderer): void;
|
|
590
|
+
/**
|
|
591
|
+
* 更新场景引用(当场景发生变化时调用)
|
|
592
|
+
* @param scene - 新的场景对象
|
|
593
|
+
*/
|
|
594
|
+
updateScene(scene: THREE.Scene): void;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
export { }
|
|
598
|
+
|
|
599
|
+
declare module 'three' {
|
|
600
|
+
namespace THREE {
|
|
601
|
+
class OrbitControls {
|
|
602
|
+
enabled: boolean;
|
|
603
|
+
dampingFactor: number;
|
|
604
|
+
constructor(_Engine: any, object: any, domElement: HTMLElement);
|
|
605
|
+
update(): void;
|
|
606
|
+
addEventListener(type: string, listener: (event: any) => void): void;
|
|
607
|
+
[key: string]: any;
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"/primitives/0":[{"name":"常规模型-槽钢 [350523][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005593b]","mesh":0,"matrix":[-2.2204460492503131E-16,0.0,1.0,0.0,1.0,0.0,2.2204460492503131E-16,0.0,0.0,1.0,0.0,0.0,0.0,-1.25,-4.0,1.0],"extras":{"index":0},"index":0},{"name":"常规模型-槽钢 [350536][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055948]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,6.0000000000000009,-1.25,-8.0,1.0],"extras":{"index":1},"index":0},{"name":"常规模型-槽钢 [350537][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055949]","mesh":0,"matrix":[-2.2204460492503131E-16,0.0,1.0,0.0,1.0,0.0,2.2204460492503131E-16,0.0,0.0,1.0,0.0,0.0,6.0000000000000009,-1.25,-3.9999999999999991,1.0],"extras":{"index":2},"index":0},{"name":"常规模型-槽钢 [350540][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005594c]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,18.0,-1.25,-8.0,1.0],"extras":{"index":3},"index":0},{"name":"常规模型-槽钢 [350541][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005594d]","mesh":0,"matrix":[-2.2204460492503131E-16,0.0,1.0,0.0,1.0,0.0,2.2204460492503131E-16,0.0,0.0,1.0,0.0,0.0,18.0,-1.25,-3.9999999999999969,1.0],"extras":{"index":4},"index":0},{"name":"常规模型-槽钢 [350544][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055950]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,30.000000000000007,-1.25,-8.0,1.0],"extras":{"index":5},"index":0},{"name":"常规模型-槽钢 [350545][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055951]","mesh":0,"matrix":[-2.2204460492503131E-16,0.0,1.0,0.0,1.0,0.0,2.2204460492503131E-16,0.0,0.0,1.0,0.0,0.0,29.999999999999996,-1.25,-3.9999999999999991,1.0],"extras":{"index":6},"index":0},{"name":"常规模型-槽钢 [350548][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055954]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,42.0,-1.25,-8.0,1.0],"extras":{"index":7},"index":0},{"name":"常规模型-槽钢 [350549][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055955]","mesh":0,"matrix":[-2.2204460492503131E-16,0.0,1.0,0.0,1.0,0.0,2.2204460492503131E-16,0.0,0.0,1.0,0.0,0.0,42.0,-1.25,-3.9999999999999991,1.0],"extras":{"index":8},"index":0},{"name":"常规模型-槽钢 [350560][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055960]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,48.000000000000007,-1.25,-8.0,1.0],"extras":{"index":9},"index":0},{"name":"常规模型-槽钢 [350561][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055961]","mesh":0,"matrix":[-2.2204460492503131E-16,0.0,1.0,0.0,1.0,0.0,2.2204460492503131E-16,0.0,0.0,1.0,0.0,0.0,48.000000000000007,-1.25,-3.9999999999999991,1.0],"extras":{"index":10},"index":0},{"name":"常规模型-槽钢 [350521][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055939]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,-1.25,-8.0,1.0],"extras":{"index":11},"index":0}],"/primitives/1":[{"name":"常规模型-3000x1500mm [350581][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055975]","mesh":0,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,1.5000000000000002,0.5,-3.3000000000000003,1.0],"extras":{"Inststance":true,"index":0},"index":0}]}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"/primitives/0":[{"name":"常规模型-Ф630×10mm [350520][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055938]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,-4.0,1.0],"extras":{"index":0},"index":0},{"name":"常规模型-Ф630×10mm [350534][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055946]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,6.0000000000000009,0.0,-8.0,1.0],"extras":{"index":1},"index":0},{"name":"常规模型-Ф630×10mm [350535][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055947]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,5.9999999999999991,0.0,-4.0,1.0],"extras":{"index":2},"index":0},{"name":"常规模型-Ф630×10mm [350538][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005594a]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,18.0,0.0,-8.0,1.0],"extras":{"index":3},"index":0},{"name":"常规模型-Ф630×10mm [350539][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005594b]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,18.0,0.0,-4.0,1.0],"extras":{"index":4},"index":0},{"name":"常规模型-Ф630×10mm [350542][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005594e]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,30.000000000000007,0.0,-8.0,1.0],"extras":{"index":5},"index":0},{"name":"常规模型-Ф630×10mm [350543][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005594f]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,30.000000000000004,0.0,-4.0,1.0],"extras":{"index":6},"index":0},{"name":"常规模型-Ф630×10mm [350546][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055952]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,42.0,0.0,-8.0,1.0],"extras":{"index":7},"index":0},{"name":"常规模型-Ф630×10mm [350547][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055953]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,42.0,0.0,-4.0,1.0],"extras":{"index":8},"index":0},{"name":"常规模型-Ф630×10mm [350558][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005595e]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,48.000000000000007,0.0,-8.0,1.0],"extras":{"index":9},"index":0},{"name":"常规模型-Ф630×10mm [350559][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005595f]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,48.000000000000007,0.0,-4.0,1.0],"extras":{"index":10},"index":0},{"name":"常规模型-Ф630×10mm [350882][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aa2]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,104.95436485672735,0.0,50.177154429560744,1.0],"extras":{"index":11},"index":0},{"name":"常规模型-Ф630×10mm [350883][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aa3]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,104.95436485672735,0.0,54.177154429560744,1.0],"extras":{"index":12},"index":0},{"name":"常规模型-Ф630×10mm [350884][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aa4]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,110.95436485672735,0.0,50.177154429560744,1.0],"extras":{"index":13},"index":0},{"name":"常规模型-Ф630×10mm [350885][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aa5]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,110.95436485672735,0.0,54.177154429560744,1.0],"extras":{"index":14},"index":0},{"name":"常规模型-Ф630×10mm [350886][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aa6]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,122.95436485672735,0.0,50.177154429560744,1.0],"extras":{"index":15},"index":0},{"name":"常规模型-Ф630×10mm [350887][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aa7]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,122.95436485672735,0.0,54.177154429560744,1.0],"extras":{"index":16},"index":0},{"name":"常规模型-Ф630×10mm [350888][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aa8]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,134.95436485672735,0.0,50.177154429560744,1.0],"extras":{"index":17},"index":0},{"name":"常规模型-Ф630×10mm [350889][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aa9]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,134.95436485672735,0.0,54.177154429560744,1.0],"extras":{"index":18},"index":0},{"name":"常规模型-Ф630×10mm [350890][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aaa]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,146.95436485672735,0.0,50.177154429560744,1.0],"extras":{"index":19},"index":0},{"name":"常规模型-Ф630×10mm [350891][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aab]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,146.95436485672735,0.0,54.177154429560744,1.0],"extras":{"index":20},"index":0},{"name":"常规模型-Ф630×10mm [350892][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aac]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,152.95436485672735,0.0,50.177154429560744,1.0],"extras":{"index":21},"index":0},{"name":"常规模型-Ф630×10mm [350893][b2e2e604-4987-4fd6-b56a-39926d4264a9-00055aad]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,152.95436485672735,0.0,54.177154429560744,1.0],"extras":{"index":22},"index":0},{"name":"常规模型-Ф630×10mm [350518][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055936]","mesh":0,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,-8.0,1.0],"extras":{"index":23},"index":0}]}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"/primitives/0":[{"name":"常规模型-Ф377×6mm [350529][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055941]","mesh":0,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,0.0,-5.25,-8.0,1.0],"extras":{"index":0},"index":0},{"name":"常规模型-Ф377×6mm [350531][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055943]","mesh":0,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,0.0,-1.25,-4.0,1.0],"extras":{"index":1},"index":0},{"name":"常规模型-Ф377×6mm [350533][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055945]","mesh":0,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,0.0,-5.25,-4.0,1.0],"extras":{"index":2},"index":0},{"name":"常规模型-Ф377×6mm [350551][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055957]","mesh":0,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,42.0,-1.25,-8.0,1.0],"extras":{"index":3},"index":0},{"name":"常规模型-Ф377×6mm [350553][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055959]","mesh":0,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,42.0,-5.25,-8.0,1.0],"extras":{"index":4},"index":0},{"name":"常规模型-Ф377×6mm [350555][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005595b]","mesh":0,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,42.0,-1.25,-4.0,1.0],"extras":{"index":5},"index":0},{"name":"常规模型-Ф377×6mm [350557][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005595d]","mesh":0,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,42.0,-5.25,-4.0,1.0],"extras":{"index":6},"index":0},{"name":"常规模型-Ф377×6mm [350526][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005593e]","mesh":0,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,0.0,-1.25,-8.0,1.0],"extras":{"index":7},"index":0},{"name":"常规模型-Ф377×6mm [350564][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055964]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,-5.25,-8.0,1.0],"extras":{"index":8},"index":0},{"name":"常规模型-Ф377×6mm [350565][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055965]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,6.0000000000000009,-1.25,-7.9999999999999991,1.0],"extras":{"index":9},"index":0},{"name":"常规模型-Ф377×6mm [350566][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055966]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,6.0000000000000009,-5.25,-7.9999999999999991,1.0],"extras":{"index":10},"index":0},{"name":"常规模型-Ф377×6mm [350567][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055967]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,18.0,-1.25,-8.0000000000000036,1.0],"extras":{"index":11},"index":0},{"name":"常规模型-Ф377×6mm [350568][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055968]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,18.0,-5.25,-8.0000000000000036,1.0],"extras":{"index":12},"index":0},{"name":"常规模型-Ф377×6mm [350569][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055969]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,29.999999999999996,-1.25,-8.0,1.0],"extras":{"index":13},"index":0},{"name":"常规模型-Ф377×6mm [350570][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005596a]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,29.999999999999996,-5.25,-8.0,1.0],"extras":{"index":14},"index":0},{"name":"常规模型-Ф377×6mm [350571][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005596b]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,42.0,-1.25,-8.0,1.0],"extras":{"index":15},"index":0},{"name":"常规模型-Ф377×6mm [350572][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005596c]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,42.0,-5.25,-8.0,1.0],"extras":{"index":16},"index":0},{"name":"常规模型-Ф377×6mm [350573][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005596d]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,48.000000000000007,-1.25,-8.0,1.0],"extras":{"index":17},"index":0},{"name":"常规模型-Ф377×6mm [350574][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-0005596e]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,48.000000000000007,-5.25,-8.0,1.0],"extras":{"index":18},"index":0},{"name":"常规模型-Ф377×6mm [350562][9d21960f-b1f6-47cb-aaaa-ff2b528f5577-00055962]","mesh":1,"matrix":[0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,-1.25,-8.0,1.0],"extras":{"index":19},"index":0},{"name":"常规模型-Ф377×6mm [350857][1187d634-1b5f-4a27-8878-207a087c7a45-00055a89]","mesh":2,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,28.5,0.0,-0.40075068154703314,1.0],"extras":{"index":20},"index":0},{"name":"常规模型-Ф377×6mm [350860][1187d634-1b5f-4a27-8878-207a087c7a45-00055a8c]","mesh":2,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,31.5,0.0,5.2951348536333116,1.0],"extras":{"index":21},"index":0},{"name":"常规模型-Ф377×6mm [350863][1187d634-1b5f-4a27-8878-207a087c7a45-00055a8f]","mesh":2,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,34.5,0.0,7.5509311051898846,1.0],"extras":{"index":22},"index":0},{"name":"常规模型-Ф377×6mm [350866][1187d634-1b5f-4a27-8878-207a087c7a45-00055a92]","mesh":2,"matrix":[0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,34.0141720866642,0.0,3.2085233209434803,1.0],"extras":{"index":23},"index":0},{"name":"常规模型-Ф377×6mm [350854][1187d634-1b5f-4a27-8878-207a087c7a45-00055a86]","mesh":2,"matrix":[1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,27.0,0.0,-11.848916658196641,1.0],"extras":{"index":24},"index":0}]}
|
|
Binary file
|