mxdraw 0.0.18 → 0.1.3

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.
Files changed (132) hide show
  1. package/README.md +66 -161
  2. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js +0 -1
  3. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js +0 -1
  4. package/dist/lib/MxModule/McGeVector3d/McGeVector3d.js +2 -0
  5. package/dist/lib/MxModule/McGeVector3d/index.js +3 -0
  6. package/dist/lib/MxModule/McGiWorldDraw/McGiWorldDraw.js +0 -15
  7. package/dist/lib/MxModule/McGiWorldDraw/index.js +0 -2
  8. package/dist/lib/MxModule/McGiWorldDrawType/McGiWorldDrawType.js +19 -0
  9. package/dist/lib/MxModule/McGiWorldDrawType/index.js +4 -0
  10. package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js +0 -1
  11. package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js +0 -1
  12. package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js +0 -1
  13. package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js +0 -1
  14. package/dist/lib/MxModule/MxDbAlignedDimension/MxDbAlignedDimension.js +213 -0
  15. package/dist/lib/MxModule/MxDbAlignedDimension/index.js +5 -0
  16. package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js +108 -28
  17. package/dist/lib/MxModule/MxDbEntity/index.js +0 -1
  18. package/dist/lib/MxModule/MxDbImage/MxDbImage.js +150 -0
  19. package/dist/lib/MxModule/MxDbImage/index.js +5 -0
  20. package/dist/lib/MxModule/MxDbSVG/MxDbSVG.js +208 -0
  21. package/dist/lib/MxModule/MxDbSVG/index.js +5 -0
  22. package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js +112 -19
  23. package/dist/lib/MxModule/MxDrawObject/index.js +0 -1
  24. package/dist/lib/MxModule/MxFun/MxFun.js +111 -19
  25. package/dist/lib/MxModule/MxFun/index.js +0 -1
  26. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +10 -35
  27. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +71 -29
  28. package/dist/lib/MxModule/MxThreeJS/SVGLoader.js +0 -1
  29. package/dist/lib/MxModule/MxThreeJS/index.js +0 -1
  30. package/dist/lib/MxModule/MxType/MxType.js +27 -0
  31. package/dist/lib/MxModule/MxType/index.js +4 -0
  32. package/dist/lib/MxModule/Mxassembly/Mxassembly.js +18 -0
  33. package/dist/lib/MxModule/Mxassembly/index.js +9 -0
  34. package/dist/lib/MxModule/loadCoreCode/index.js +0 -1
  35. package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js +62 -41
  36. package/dist/lib/MxModule/loadCoreCode/mxcadassembly_es5.js +1519 -0
  37. package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js +743 -687
  38. package/dist/lib/MxModule/store/PubsubClass.js +0 -1
  39. package/dist/lib/MxModule/store/StoreClass.js +0 -1
  40. package/dist/lib/MxModule/store/index.js +0 -1
  41. package/dist/lib/MxModule/store/store.js +1 -1
  42. package/dist/lib/MxModule/useCanvasResizeListener/index.js +0 -1
  43. package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js +77 -25
  44. package/dist/lib/doc.js +5 -2
  45. package/dist/lib/mxdraw.js +23 -4
  46. package/dist/lib/tools/algorithm/math.js +0 -1
  47. package/dist/lib/tools/algorithm/random.js +0 -1
  48. package/dist/lib/tools/dom/create.js +0 -1
  49. package/dist/lib/tools/dynamicImport/index.js +142 -0
  50. package/dist/lib/tools/formatting/index.js +0 -1
  51. package/dist/lib/tools/proxy/index.js +0 -1
  52. package/dist/lib/tools/three/index.js +0 -1
  53. package/dist/lib/types/McEdGetPointWorldDrawObject.js +2 -0
  54. package/dist/lib/types/MrxDbgUiPrPoint.js +2 -0
  55. package/dist/lib/types/MxCADObject.js +3 -0
  56. package/dist/lib/types/MxDrawObject.js +2 -0
  57. package/dist/lib/types/MxFun.js +2 -0
  58. package/dist/lib/types/Mxassembly.js +2 -0
  59. package/dist/mxdraw.es5.js +28 -3
  60. package/dist/mxdraw.es5.js.map +1 -1
  61. package/dist/mxdraw.umd.js +29 -4
  62. package/dist/mxdraw.umd.js.map +1 -1
  63. package/dist/types/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.d.ts +1 -1
  64. package/dist/types/MxModule/McGeVector3d/McGeVector3d.d.ts +17 -0
  65. package/dist/types/MxModule/McGeVector3d/index.d.ts +3 -0
  66. package/dist/types/MxModule/McGiWorldDraw/McGiWorldDraw.d.ts +89 -18
  67. package/dist/types/MxModule/McGiWorldDraw/index.d.ts +1 -2
  68. package/dist/types/MxModule/McGiWorldDrawType/McGiWorldDrawType.d.ts +16 -0
  69. package/dist/types/MxModule/McGiWorldDrawType/index.d.ts +2 -0
  70. package/dist/types/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.d.ts +1 -1
  71. package/dist/types/MxModule/MxDbAlignedDimension/MxDbAlignedDimension.d.ts +21 -0
  72. package/dist/types/MxModule/MxDbAlignedDimension/index.d.ts +3 -0
  73. package/dist/types/MxModule/MxDbEntity/MxDbEntity.d.ts +110 -16
  74. package/dist/types/MxModule/MxDbImage/MxDbImage.d.ts +28 -0
  75. package/dist/types/MxModule/MxDbImage/index.d.ts +3 -0
  76. package/dist/types/MxModule/MxDbSVG/MxDbSVG.d.ts +42 -0
  77. package/dist/types/MxModule/MxDbSVG/index.d.ts +3 -0
  78. package/dist/types/MxModule/MxDrawObject/MxDrawObject.d.ts +95 -13
  79. package/dist/types/MxModule/MxFun/MxFun.d.ts +87 -15
  80. package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +11 -14
  81. package/dist/types/MxModule/MxType/MxType.d.ts +24 -0
  82. package/dist/types/MxModule/MxType/index.d.ts +2 -0
  83. package/dist/types/MxModule/Mxassembly/Mxassembly.d.ts +11 -0
  84. package/dist/types/MxModule/Mxassembly/index.d.ts +3 -0
  85. package/dist/types/MxModule/loadCoreCode/mxcadassembly_es5.d.ts +1 -0
  86. package/dist/types/MxModule/store/store.d.ts +3 -1
  87. package/dist/types/MxModule/useCanvasResizeListener/useCanvasResizeListener.d.ts +9 -5
  88. package/dist/types/doc.d.ts +4 -1
  89. package/dist/types/mxdraw.d.ts +16 -3
  90. package/dist/types/tools/dynamicImport/index.d.ts +1 -0
  91. package/dist/types/types/McEdGetPointWorldDrawObject.d.ts +9 -0
  92. package/dist/types/types/MrxDbgUiPrPoint.d.ts +23 -0
  93. package/dist/types/types/MxCADObject.d.ts +40 -0
  94. package/dist/types/types/MxDrawObject.d.ts +57 -0
  95. package/dist/types/types/MxFun.d.ts +40 -0
  96. package/dist/types/types/Mxassembly.d.ts +3 -0
  97. package/package.json +6 -1
  98. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js.map +0 -1
  99. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js.map +0 -1
  100. package/dist/lib/MxModule/McGiWorldDraw/McGiWorldDraw.js.map +0 -1
  101. package/dist/lib/MxModule/McGiWorldDraw/index.js.map +0 -1
  102. package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js.map +0 -1
  103. package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js.map +0 -1
  104. package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js.map +0 -1
  105. package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js.map +0 -1
  106. package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js.map +0 -1
  107. package/dist/lib/MxModule/MxDbEntity/index.js.map +0 -1
  108. package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js.map +0 -1
  109. package/dist/lib/MxModule/MxDrawObject/index.js.map +0 -1
  110. package/dist/lib/MxModule/MxFun/MxFun.js.map +0 -1
  111. package/dist/lib/MxModule/MxFun/index.js.map +0 -1
  112. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +0 -1
  113. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +0 -1
  114. package/dist/lib/MxModule/MxThreeJS/SVGLoader.js.map +0 -1
  115. package/dist/lib/MxModule/MxThreeJS/index.js.map +0 -1
  116. package/dist/lib/MxModule/loadCoreCode/index.js.map +0 -1
  117. package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js.map +0 -1
  118. package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js.map +0 -1
  119. package/dist/lib/MxModule/store/PubsubClass.js.map +0 -1
  120. package/dist/lib/MxModule/store/StoreClass.js.map +0 -1
  121. package/dist/lib/MxModule/store/index.js.map +0 -1
  122. package/dist/lib/MxModule/store/store.js.map +0 -1
  123. package/dist/lib/MxModule/useCanvasResizeListener/index.js.map +0 -1
  124. package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js.map +0 -1
  125. package/dist/lib/doc.js.map +0 -1
  126. package/dist/lib/mxdraw.js.map +0 -1
  127. package/dist/lib/tools/algorithm/math.js.map +0 -1
  128. package/dist/lib/tools/algorithm/random.js.map +0 -1
  129. package/dist/lib/tools/dom/create.js.map +0 -1
  130. package/dist/lib/tools/formatting/index.js.map +0 -1
  131. package/dist/lib/tools/proxy/index.js.map +0 -1
  132. package/dist/lib/tools/three/index.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /** @module MxDrawObject */
2
- import { MxDrawObjectType } from '@/types/MxDrawObject';
2
+ import { MxDrawObjectType } from '../../types/MxDrawObject';
3
3
  import MxDbEntity from '../MxDbEntity';
4
4
  /**
5
5
  * 引入mxdraw库不会挂载MxDrawObject 只能在以下特定函数中获取
@@ -231,6 +231,8 @@ export default class MxDrawObject {
231
231
  * Mx.MxFun.getCurrentDraw().addEvent("render", (renderer)=> {})
232
232
  * 视区大小被修改事件.,viewsize={viewWidth:viewWidth,viewHeight:viewHeight}
233
233
  * Mx.MxFun.getCurrentDraw().addEvent("viewsizechange", (viewsize)=> {})
234
+ * 实体选择状态发生改变的事件.
235
+ * Mx.MxFun.getCurrentDraw().addEvent("MxEntitySelectChange", (aryId:Array<number>)=> {})
234
236
  * ```
235
237
  */
236
238
  addEvent(eventNaem: string, fun: (...parmes: any) => any): void;
@@ -258,7 +260,7 @@ export default class MxDrawObject {
258
260
  */
259
261
  screenCoord2World(x: number, y: number, z?: number): THREE.Vector3;
260
262
  /**
261
- * ThreeJS坐标到屏幕坐标
263
+ * ThreeJS坐标到屏幕坐标,屏幕坐标的Y轴向下。坐标原点在左上角.
262
264
  * @returns THREE.Vector3
263
265
  * @example
264
266
  * ```typescript
@@ -276,7 +278,7 @@ export default class MxDrawObject {
276
278
  *
277
279
  * ```
278
280
  */
279
- screenCoord2Doc(x: number, y: number, z: number): THREE.Vector3;
281
+ screenCoord2Doc(x: number, y: number): THREE.Vector3;
280
282
  /**
281
283
  * ThreeJS坐标长度到DWG文档坐标长度
282
284
  * @returns number
@@ -346,7 +348,7 @@ export default class MxDrawObject {
346
348
  *
347
349
  * ```
348
350
  */
349
- docCoord2Screen(x: number, y: number, z: number): THREE.Vector3;
351
+ docCoord2Screen(x: number, y: number): THREE.Vector3;
350
352
  /**
351
353
  * 屏幕坐标长度到DWG文档坐标长度
352
354
  * @returns number
@@ -420,8 +422,29 @@ export default class MxDrawObject {
420
422
  */
421
423
  getMxCurrentSelect(): Array<number>;
422
424
  /**
423
- *通过id用户绘制的对象.
424
- * @returns number 返回对象的id
425
+ * 把对象添加到当前选择中.
426
+ * @returns void
427
+ * @example
428
+ * ```typescript
429
+ *
430
+ *
431
+ * ```
432
+ */
433
+ addMxCurrentSelect(id: number): void;
434
+ /**
435
+ * 清除当前所有选择
436
+ * @returns void
437
+ * @example
438
+ * ```typescript
439
+ *
440
+ *
441
+ * ```
442
+ */
443
+ clearMxCurrentSelect(): boolean;
444
+ /**
445
+ *通过id获取绘制的对象.
446
+ * @param id 返回对象的id
447
+ * @returns MxDbEntity
425
448
  * @example
426
449
  * ```typescript
427
450
  *
@@ -430,18 +453,19 @@ export default class MxDrawObject {
430
453
  */
431
454
  getMxEntity(id: number): MxDbEntity;
432
455
  /**
433
- *查找某点位置处的用户自绘对象.
434
- * @returns Array<MxDbEntity> 返回用户自绘对象数组
456
+ * 查找某点位置处的用户自绘对象.
457
+ * @param ptMouse 查找的点位 THREE.Vector3,默认是文档坐标
458
+ * @returns MxDbEntity[] 返回用户自绘对象数组
435
459
  * @example
436
460
  * ```typescript
437
461
  *
438
462
  *
439
463
  * ```
440
464
  */
441
- findMxEntityAtPoint(ptMouse: THREE.Vector3, isWorldCoord?: boolean): Array<MxDbEntity>;
465
+ findMxEntityAtPoint(ptMouse: THREE.Vector3): Array<MxDbEntity>;
442
466
  /**
443
467
  *得到所有用户自绘对象.
444
- * @returns Array<MxDbEntity> 返回用户自绘对象数组
468
+ * @returns MxDbEntity[] 返回用户自绘对象数组
445
469
  * @example
446
470
  * ```typescript
447
471
  *
@@ -450,7 +474,8 @@ export default class MxDrawObject {
450
474
  */
451
475
  getAllMxEntity(): Array<MxDbEntity>;
452
476
  /**
453
- *设置鼠标中键移动视区。
477
+ * 设置鼠标中键移动视区。
478
+ * @param isPan 设置是否可以鼠标中键移动视区
454
479
  * @returns
455
480
  * @example
456
481
  * ```typescript
@@ -470,7 +495,8 @@ export default class MxDrawObject {
470
495
  */
471
496
  resetThreeJSControls(): void;
472
497
  /**
473
- *启用或禁用鼠标中键滚动缩放视区
498
+ * 启用或禁用鼠标中键滚动缩放视区
499
+ * @param isEnable 是否启用
474
500
  * @returns
475
501
  * @example
476
502
  * ```typescript
@@ -480,7 +506,8 @@ export default class MxDrawObject {
480
506
  */
481
507
  enableZoom(isEnable: boolean): void;
482
508
  /**
483
- *启用或禁用鼠标移动视区
509
+ * 启用或禁用鼠标移动视区
510
+ * @param isEnable 是否启用
484
511
  * @returns
485
512
  * @example
486
513
  * ```typescript
@@ -489,4 +516,59 @@ export default class MxDrawObject {
489
516
  * ```
490
517
  */
491
518
  enablePan(isEnable: boolean): void;
519
+ /**
520
+ * 删除MxEntity
521
+ * @param id 实体id.
522
+ * @returns
523
+ * @example
524
+ * ```typescript
525
+ *
526
+ *
527
+ * ```
528
+ */
529
+ eraseMxEntity(id: number): boolean;
530
+ /**
531
+ * 移除安视图坐标绘制的对象.
532
+ * @param obj 对象.
533
+ * @returns
534
+ * @example
535
+ * ```typescript
536
+ *
537
+ *
538
+ * ```
539
+ */
540
+ removeViewObject(obj: THREE.Object3D): void;
541
+ /**
542
+ * 保存所有MxEntity的数据到json字符串.
543
+ * @param
544
+ * @returns json字符串
545
+ * @example
546
+ * ```typescript
547
+ *
548
+ *
549
+ * ```
550
+ */
551
+ saveMxEntityToJson(): string;
552
+ /**
553
+ * 从json字符串恢复MxEntity
554
+ * @param dataString json字符串.
555
+ * @returns
556
+ * @example
557
+ * ```typescript
558
+ *
559
+ *
560
+ * ```
561
+ */
562
+ loadMxEntityFromJson(dataString: string): boolean;
563
+ /**
564
+ * 删除所有对MxEntity
565
+ * @param
566
+ * @returns
567
+ * @example
568
+ * ```typescript
569
+ *
570
+ *
571
+ * ```
572
+ */
573
+ eraseAllMxEntity(): void;
492
574
  }
@@ -1,6 +1,8 @@
1
- import { CanvasParent } from '@/types/MxModule';
2
1
  import MxDrawObject from '../MxDrawObject';
3
2
  import { MeshLambertMaterial } from 'three';
3
+ interface CanvasParent extends HTMLElement {
4
+ tabindex?: number;
5
+ }
4
6
  /**
5
7
  * MxFun 模块
6
8
  * 导出库时已实例化,只需要调用实例方法 例如:
@@ -14,7 +16,7 @@ export default class MxFun {
14
16
  * 创建图纸展示控件实例
15
17
  * @param canvasId 提供一个canvas元素或者唯一的ID或者class类亦或者Jquery选中的元素
16
18
  * @paramType string | HTMLCanvasElement | JQuery<HTMLElement>
17
- * @param drawName 提供要展示的图纸名称
19
+ * @param cadFile 提供要展示的图纸名称
18
20
  * @paramType string
19
21
  * @param callback 图纸展示控件创建完成后的回调函数 回调参数mxDraw和dom
20
22
  * @paramType function
@@ -25,7 +27,7 @@ export default class MxFun {
25
27
  * ``` typescript
26
28
  * Mx.MxFun.createMxObject({
27
29
  * canvasId: "my-app",
28
- * drawName: "test2.dwg",
30
+ * cadFile: "test2.dwg",
29
31
  * callback(mxDraw, { canvas, canvasParent }) {
30
32
  * console.log(mxDraw, canvas, canvasParent)
31
33
  * },
@@ -33,9 +35,9 @@ export default class MxFun {
33
35
  * })
34
36
  * ```
35
37
  */
36
- createMxObject({ canvasId, drawName, callback, isNewFile }: {
38
+ createMxObject({ canvasId, cadFile, callback, isNewFile }: {
37
39
  canvasId?: string;
38
- drawName?: string;
40
+ cadFile?: string;
39
41
  callback?: (mxDraw: MxDrawObject, dom: {
40
42
  canvas: HTMLCanvasElement;
41
43
  canvasParent: CanvasParent;
@@ -96,7 +98,7 @@ export default class MxFun {
96
98
  * }
97
99
  * ```
98
100
  */
99
- sendStringToExecute(cmdName: string): boolean;
101
+ sendStringToExecute(cmdName: string, ...ages: any[]): boolean;
100
102
  /**
101
103
  * 调用后台服务程序中的NodeJS用户定义函数 后台程序使用Mx.MxFun.registFun注册用户定义函数
102
104
  * @param funName 函数名
@@ -106,7 +108,7 @@ export default class MxFun {
106
108
  * @example
107
109
  * ``` typescript
108
110
  * Mx.MxFun.call("getDrawObject", {
109
- * drawName: "test.dwg"
111
+ * cadFile: "test.dwg"
110
112
  * }, (res)=> {
111
113
  * console.log(res)
112
114
  * })
@@ -134,6 +136,28 @@ export default class MxFun {
134
136
  * ```
135
137
  */
136
138
  screenCoordLong2World(len: number): number;
139
+ /**
140
+ * 屏幕坐标长度转文档坐标长度
141
+ * @param len 屏幕坐标长度
142
+ * @return number 文档坐标长度
143
+ * @example
144
+ * ``` typescript
145
+ * const len = Mx.MxFun.screenCoordLong2Doc(36)
146
+ * console.log(len)
147
+ * ```
148
+ */
149
+ screenCoordLong2Doc(len: number): number;
150
+ /**
151
+ * 文档坐标长度转屏幕坐标长度
152
+ * @param len 文档坐标长度
153
+ * @return number 屏幕坐标长度
154
+ * @example
155
+ * ``` typescript
156
+ * const len = Mx.MxFun.docCoordLong2Screen(36)
157
+ * console.log(len)
158
+ * ```
159
+ */
160
+ docCoordLong2Screen(len: number): number;
137
161
  /**
138
162
  * THREE.JS坐标长度转屏幕坐标长度
139
163
  * @param len THREE.JS坐标长度
@@ -145,6 +169,16 @@ export default class MxFun {
145
169
  * ```
146
170
  */
147
171
  worldCoordLong2Doc(len: number): number;
172
+ /**
173
+ * DWG文档坐标长度到ThreeJS坐标长度
174
+ * @returns number
175
+ * @example
176
+ * ```typescript
177
+ *
178
+ *
179
+ * ```
180
+ */
181
+ docCoordLong2World(l: number): number;
148
182
  /**
149
183
  * 屏幕坐标转THREE.JS坐标.
150
184
  * @param x 坐标x
@@ -157,9 +191,9 @@ export default class MxFun {
157
191
  * console.log(vector3)
158
192
  * ```
159
193
  */
160
- screenCoord2World(x: number, y: number, z: number): THREE.Vector3;
194
+ screenCoord2World(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
161
195
  /**
162
- * THREE.JS坐标转屏幕坐标.
196
+ * THREE.JS坐标转屏幕坐标.,屏幕坐标的Y轴向下。坐标原点在左上角.
163
197
  * @param x 坐标x
164
198
  * @param y 坐标y
165
199
  * @param z 坐标z
@@ -170,9 +204,10 @@ export default class MxFun {
170
204
  * console.log(vector3)
171
205
  * ```
172
206
  */
173
- worldCoord2Screen(x: number, y: number, z: number): THREE.Vector3;
207
+ worldCoord2Screen(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
174
208
  /**
175
209
  * 文档坐标转THREE.JS坐标
210
+ * 说明: 文档坐标,THREE.JS坐标的X轴都是从左到右,Y轴是下到上,但是屏幕像素坐标系:X轴都是从左到右,Y轴是上到下
176
211
  * @param x 坐标x
177
212
  * @param y 坐标y
178
213
  * @param z 坐标z
@@ -209,7 +244,7 @@ export default class MxFun {
209
244
  * console.log(vector3)
210
245
  * ```
211
246
  */
212
- screenCoord2Doc(x: number, y: number, z: number): THREE.Vector3;
247
+ screenCoord2Doc(x: number | THREE.Vector3, y?: number): THREE.Vector3;
213
248
  /**
214
249
  * 文档转屏幕坐标.
215
250
  * @param x 坐标x
@@ -222,7 +257,7 @@ export default class MxFun {
222
257
  * console.log(vector3)
223
258
  * ```
224
259
  */
225
- docCoord2Screen(x: number, y: number, z: number): THREE.Vector3;
260
+ docCoord2Screen(x: number | THREE.Vector3, y?: number): THREE.Vector3;
226
261
  /**
227
262
  * 更新显示,使用Three.js绘制了对象,调用该函数更新显示。
228
263
  * @return void
@@ -311,7 +346,7 @@ export default class MxFun {
311
346
  * console.log(mxcad)
312
347
  * ```
313
348
  */
314
- getCurrentMxCAD(): null;
349
+ getCurrentMxCAD(): import("../../types/MxCADObject").MxCADObject;
315
350
  /**
316
351
  * 得到地址栏参数
317
352
  * @param name
@@ -368,7 +403,7 @@ export default class MxFun {
368
403
  */
369
404
  testMX(p?: any): any;
370
405
  /**
371
- * 加载一个Image对象。
406
+ * 加载一个图片对象,返回Three.js材质对象,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
372
407
  * @param p
373
408
  * @return any
374
409
  * @example
@@ -376,5 +411,42 @@ export default class MxFun {
376
411
  *
377
412
  * ```
378
413
  */
379
- loadImage(imageUrlPath: string, callResult: (material: MeshLambertMaterial) => void): void;
414
+ loadImageMaterial(imageUrlPath: string, callResult: (material: MeshLambertMaterial) => void): void;
415
+ /**
416
+ * 判断点是否在一个闭合的多边形区域。
417
+ * @param p
418
+ * @return any
419
+ * @example
420
+ * ``` typescript
421
+ * let aryPoint:Array<THREE.Vector3> = [];
422
+ * aryPoint.push(new THREE.Vector3(0,0,0));
423
+ * aryPoint.push(new THREE.Vector3(0,100,0));
424
+ * aryPoint.push(new THREE.Vector3(100,100,0));
425
+ * aryPoint.push(new THREE.Vector3(100,0,0));
426
+ * let pt:THREE.Vector3 = new THREE.Vector3(150,150);
427
+ * if(MxFun.pointInPolyline(pt,aryPoint) ){
428
+ * console.log("in");
429
+ * }
430
+ * ```
431
+ */
432
+ pointInPolyline(pt: THREE.Vector3, vecPolyline: Array<THREE.Vector3>): boolean;
433
+ /**
434
+ * 计算多边形区域的面积
435
+ * @param p
436
+ * @return any
437
+ * @example
438
+ * ``` typescript
439
+ * ```
440
+ */
441
+ calcArea(aryPoint: Array<THREE.Vector3>): number;
442
+ /**
443
+ * 重新打开cad文件,该函数在控件创建完后,需要再次重新打开文件,调用。
444
+ * @param sFile 打的cad文件路径
445
+ * @return any
446
+ * @example
447
+ * ``` typescript
448
+ * ```
449
+ */
450
+ openFile(sFile: string): boolean;
380
451
  }
452
+ export {};
@@ -1,4 +1,4 @@
1
- import { Vector3, Line, Object3D, Points, Sprite, Mesh, MeshBasicMaterial, Color } from 'three';
1
+ import { Vector3, Line, Object3D, Points, Sprite, Mesh, MeshBasicMaterial } from 'three';
2
2
  /**
3
3
  * MxThreeJS 模块
4
4
  * ##### 使用说明:
@@ -56,7 +56,7 @@ export default class MxThreeJS {
56
56
  * Mx.MxThreeJS.createLine(new Three.Vector3(1,10,0), new Three.Vector3(1,300,0), 0)
57
57
  * ```
58
58
  */
59
- createLine(vPt1: Vector3, vPt2: Vector3, iColor: Color | number | string): Line;
59
+ createLine(vPt1: Vector3, vPt2: Vector3, iColor: ColorType): Line;
60
60
  /**
61
61
  * 创建Three.js圆对象。
62
62
  * @param mCenterPt 圆中心点
@@ -68,7 +68,7 @@ export default class MxThreeJS {
68
68
  * Mx.MxThreeJS.createCircle(new Three.Vector3(1,10,0), 10, 0)
69
69
  * ```
70
70
  */
71
- createCircle(mCenterPt: Vector3, dRadius: number, iColor: Color | number | string): Object3D;
71
+ createCircle(mCenterPt: Vector3, dRadius: number, iColor: ColorType): Object3D;
72
72
  /**
73
73
  * 创建Three.js点对象。
74
74
  * @param mPt 点位置
@@ -79,7 +79,7 @@ export default class MxThreeJS {
79
79
  * Mx.MxThreeJS.createPoint(new Three.Vector3(1,10,0), 0)
80
80
  * ```
81
81
  */
82
- createPoint(mPt: Vector3, iColor: Color | number | string): Points;
82
+ createPoint(mPt: Vector3, iColor: ColorType): Points;
83
83
  /**
84
84
  * 创建Three.js 文字
85
85
  * @param message 文字信息
@@ -93,7 +93,7 @@ export default class MxThreeJS {
93
93
  * Mx.MxThreeJS.creatTextSprite("hello",new Three.Vector3(1,10,0), 90, 60, 0)
94
94
  * ```
95
95
  */
96
- creatTextSprite(message: string, pt: Vector3, iSize: number, fAngle: number, iColor: Color | number | string): Sprite | null;
96
+ creatTextSprite(message: string, pt: Vector3, iSize: number, fAngle: number, iColor: number): Sprite | null;
97
97
  /**
98
98
  * 根据三角形数组,创建Three.js Mesh
99
99
  * @param points 由三个点组成的数组
@@ -109,7 +109,7 @@ export default class MxThreeJS {
109
109
  * )
110
110
  * ```
111
111
  */
112
- createTriangle(points: Array<Vector3>, iColor: Color | number | string, opacity?: number): Mesh | null;
112
+ createTriangle(points: Array<Vector3>, iColor: ColorType, opacity?: number): Mesh | null;
113
113
  /**
114
114
  * 创建连续直线
115
115
  * @param points 由多个点组成的数组
@@ -120,7 +120,7 @@ export default class MxThreeJS {
120
120
  * Mx.MxThreeJS.createLines([new THREE.Vector3(1,2,2),new THREE.Vector3(1,65,4),new THREE.Vector3(12,2,2)], 0)
121
121
  * ```
122
122
  */
123
- createLines(points: Array<Vector3>, iColor: Color | number | string): Line;
123
+ createLines(points: Array<Vector3>, iColor: ColorType): Line;
124
124
  /**
125
125
  * 创建虚线
126
126
  * @param points 由多个点组成的数组
@@ -133,10 +133,10 @@ export default class MxThreeJS {
133
133
  * Mx.MxThreeJS.createDashedLines([new THREE.Vector3(1,2,2),new THREE.Vector3(1,65,4),new THREE.Vector3(12,2,2)], 10, 20, 2)
134
134
  * ```
135
135
  */
136
- createDashedLines(points: Array<Vector3>, iColor: Color | number | string, dashSize: number, gapSize: number): Line;
136
+ createDashedLines(points: Array<Vector3>, iColor: ColorType, dashSize: number, gapSize: number): Line;
137
137
  /**
138
138
  * 创建Image
139
- * @param pos 图片位置
139
+ * @param pos 图片中心点位置,屏幕坐标,屏幕坐标的Y轴向上。坐标原点在左下角.
140
140
  * @param w 图片宽度
141
141
  * @param h 图片高度
142
142
  * @param imageUrlPath 图片URl地址
@@ -152,10 +152,7 @@ export default class MxThreeJS {
152
152
  createImage(pos: Vector3, w: number, h: number, imageUrlPath: string, callResult?: (mesh: Mesh | null) => void): void;
153
153
  /**
154
154
  * 加载SVG
155
- * @param url SVG路径地址
156
- * @param x X轴位置
157
- * @param y Y轴位置
158
- * @param scale 缩放比
155
+ * @param url SVG路径地址,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
159
156
  * @param color 颜色
160
157
  * @param callResult SVG加载完成的回调 回调参数:THREE.Object3D和Array<THREE.MeshBasicMaterial>
161
158
  * @returns void
@@ -166,5 +163,5 @@ export default class MxThreeJS {
166
163
  * })
167
164
  * ```
168
165
  */
169
- loadSVG(url: string, x: number, y: number, scale: number, color?: Color | number | string, callResult?: (threeobj: Object3D, aryMeterial: Array<MeshBasicMaterial>) => void): void;
166
+ loadSVG(url: string, color?: ColorType, callResult?: (threeobj: Object3D, aryMeterial: Array<MeshBasicMaterial>) => void): void;
170
167
  }
@@ -0,0 +1,24 @@
1
+ /** @module MxType*/
2
+ /**
3
+ * 动态绘制类型
4
+ * @example ```typescript
5
+
6
+ * ```
7
+ */
8
+ declare enum MxCloneType {
9
+ /** 正常Clone */
10
+ kClone = 1,
11
+ /** 动态拖动Clone */
12
+ kDragClone = 2
13
+ }
14
+ declare enum MxCloneType2 {
15
+ /** 正常Clone */
16
+ kClone = 1,
17
+ /** 动态拖动Clone */
18
+ kDragClone = 2
19
+ }
20
+ declare const _default: {
21
+ MxCloneType: typeof MxCloneType;
22
+ MxCloneType2: typeof MxCloneType2;
23
+ };
24
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import MxType from './MxType';
2
+ export default MxType;
@@ -0,0 +1,11 @@
1
+ import McGeVector3d from '../McGeVector3d';
2
+ /**
3
+ * Mxassembly 模块
4
+ * 导出库时已实例化,只需要调用实例方法 例如:
5
+ * ```typescript
6
+ * ```
7
+ */
8
+ export default class Mxassembly {
9
+ constructor();
10
+ NewMcGeVector3d(): McGeVector3d;
11
+ }
@@ -0,0 +1,3 @@
1
+ import MxassemblyModule from './Mxassembly';
2
+ declare const _default: MxassemblyModule;
3
+ export default _default;
@@ -0,0 +1 @@
1
+ export default function mxcadassemblyinit(): any;
@@ -1,8 +1,10 @@
1
- import { MxFunType } from '@/types/MxFun';
1
+ import { MxFunType } from '../../types/MxFun';
2
+ import { MxassemblyType } from '../../types/Mxassembly';
2
3
  import Store from './StoreClass';
3
4
  export declare type stateType = {
4
5
  [x: string]: any;
5
6
  MxFun: MxFunType | null;
7
+ Mxassembly: MxassemblyType | null;
6
8
  isCreateDrawObj: boolean;
7
9
  isLoadCanvasResizeListene: boolean;
8
10
  };
@@ -1,8 +1,12 @@
1
- import { MxDrawObjectType } from '@/types/MxDrawObject';
2
- /**
3
- * 使用canvas大小调整侦听器 (只有在 {@link MxFun.createMxObject} 的callbakc回调中调用才有效)
1
+ import MxDrawObject from '../MxDrawObject';
2
+ /**yar
3
+ * 使用canvas大小调整侦听器 (只有在 {@link MxFun.createMxObject} 的callbakc回调中调用才有效) 不调用该方法则默认使用window窗口监听从而自动调整画布大小,canvas大小或者其canvas父级元素变化不会自动调整。
4
+ * > 注意:调用方法会加载[element-resize-event-polyfill](https://www.npmjs.com/package/element-resize-event-polyfill)}依赖包 可以通过resize监听dom元素大小变化 `dom.addEventListener('resize', callback)`
5
+ * > 注意: MxFun.createMxObject 方法调用后默认会依据canvasParent父级元素作为自动调整的参考大小 所以传入的canvas也会默认监听canvas父级元素,适配大小请将canvas和canvasParent当作一个整体。
4
6
  * @param mxdrawObj 调用{@link MxFun.createMxObject}的callback回调函数拿到的 mxDraw 对象参数
5
- * @param canvas 调用{@link MxFun.createMxObject}的callback回调函数拿到的dom.canvas 的元素
7
+ * @param canvas 调用{@link MxFun.createMxObject}的callback回调函数拿到的dom.canvas作为要监听的元素
8
+ * @param time 大小监听节流函数节流时间 默认 100
9
+ * @param autoAdjust 是否自动调整大小 默认true
6
10
  * @param callback 监听回调
7
11
  */
8
- export default function useCanvasResizeListener(mxdrawObj: MxDrawObjectType, canvas: HTMLCanvasElement, callback?: ((event: UIEvent) => any) | undefined): void;
12
+ export default function useCanvasResizeListener(mxdrawObj: MxDrawObject, canvas: HTMLCanvasElement, time?: number, autoAdjust?: boolean, callback?: ((event: UIEvent) => any) | undefined): Promise<void>;
@@ -11,4 +11,7 @@ import MxDrawObject from './MxModule/MxDrawObject/MxDrawObject';
11
11
  import MrxDbgUiPrPoint from './MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass';
12
12
  import McEdGetPointWorldDrawObject from './MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass';
13
13
  import MrxDbgUiPrBaseReturn from './MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn';
14
- export { MxFun, MxThreeJS, MxDrawObject, MrxDbgUiPrPoint, McEdGetPointWorldDrawObject, MrxDbgUiPrBaseReturn, loadCoreCode, useCanvasResizeListener };
14
+ import McGiWorldDraw from './MxModule/McGiWorldDraw/McGiWorldDraw';
15
+ import McGiWorldDrawType from './MxModule/McGiWorldDrawType/McGiWorldDrawType';
16
+ import MxDbEntity from './MxModule/MxDbEntity/MxDbEntity';
17
+ export { MxFun, MxThreeJS, MxDrawObject, MrxDbgUiPrPoint, McEdGetPointWorldDrawObject, MrxDbgUiPrBaseReturn, loadCoreCode, useCanvasResizeListener, McGiWorldDraw, McGiWorldDrawType, MxDbEntity };
@@ -7,21 +7,34 @@ import McEdGetPointWorldDrawObject from './MxModule/McEdGetPointWorldDrawObject'
7
7
  import useCanvasResizeListener from './MxModule/useCanvasResizeListener';
8
8
  import MrxDbgUiPrBaseReturn from './MxModule/MrxDbgUiPrBaseReturn';
9
9
  import MxDbEntity from './MxModule/MxDbEntity';
10
+ import MxDbImage from './MxModule/MxDbImage';
11
+ import MxDbSVG from './MxModule/MxDbSVG';
12
+ import MxDbAlignedDimension from './MxModule/MxDbAlignedDimension';
10
13
  import McGiWorldDraw from './MxModule/McGiWorldDraw';
11
- import McGiWorldDrawType from './MxModule/McGiWorldDraw';
14
+ import McGiWorldDrawType from './MxModule/McGiWorldDrawType';
15
+ import MxType from './MxModule/MxType';
16
+ import MxassemblyModule from './MxModule/Mxassembly/Mxassembly';
17
+ import McGeVector3d from './MxModule/McGeVector3d';
12
18
  declare const MxFun: MxFunModule;
13
- export { MxFun, MxThreeJS, McEdGetPointWorldDrawObject, MrxDbgUiPrPoint, MrxDbgUiPrBaseReturn, useCanvasResizeListener, loadCoreCode, McGiWorldDraw, McGiWorldDrawType, MxDbEntity, store };
19
+ declare const Mxassembly: MxassemblyModule;
20
+ export { MxFun, Mxassembly, MxThreeJS, McEdGetPointWorldDrawObject, MrxDbgUiPrPoint, McGeVector3d, MxDbEntity, MxDbImage, MxDbSVG, MxDbAlignedDimension, useCanvasResizeListener, loadCoreCode, store, McGiWorldDraw, McGiWorldDrawType, MrxDbgUiPrBaseReturn, MxType };
14
21
  declare const _default: {
15
22
  MxFun: MxFunModule;
23
+ Mxassembly: MxassemblyModule;
16
24
  MxThreeJS: import("./doc").MxThreeJS;
17
25
  McEdGetPointWorldDrawObject: typeof McEdGetPointWorldDrawObject;
18
26
  MrxDbgUiPrPoint: typeof MrxDbgUiPrPoint;
19
- MrxDbgUiPrBaseReturn: typeof MrxDbgUiPrBaseReturn;
27
+ MxDbEntity: typeof MxDbEntity;
28
+ MxDbImage: typeof MxDbImage;
29
+ MxDbSVG: typeof MxDbSVG;
30
+ MxDbAlignedDimension: typeof MxDbAlignedDimension;
20
31
  useCanvasResizeListener: typeof useCanvasResizeListener;
21
32
  loadCoreCode: typeof loadCoreCode;
22
33
  store: {
23
34
  state: import("./MxModule/store/store").stateType;
24
35
  events: import("./MxModule/store/PubsubClass").default;
25
36
  };
37
+ MrxDbgUiPrBaseReturn: typeof MrxDbgUiPrBaseReturn;
38
+ McGiWorldDrawType: typeof McGiWorldDrawType;
26
39
  };
27
40
  export default _default;
@@ -0,0 +1 @@
1
+ export declare function dynamicImport<T = any>(path: string): Promise<T>;
@@ -0,0 +1,9 @@
1
+ export interface McEdGetPointWorldDrawObjectClass {
2
+ [x: string]: any;
3
+ drawCircle(cen: THREE.Vector3, dRadius: number): void;
4
+ drawLine(pt1: THREE.Vector3, pt2: THREE.Vector3): void;
5
+ drawEntity(ent: THREE.Object3D | null): void;
6
+ drawText(sText: string, iSize: number, dAngle: number, pt: THREE.Vector3): void;
7
+ setDraw(call: (currentPoint: THREE.Vector3, pWorldDraw: McEdGetPointWorldDrawObjectClass) => void): void;
8
+ drawCustomEntity(ent: any): void;
9
+ }
@@ -0,0 +1,23 @@
1
+ export declare enum MrxDbgUiPrBaseReturn {
2
+ kCancel = -2,
3
+ kNone = -1,
4
+ kOk = 0,
5
+ kKeyWord = 1
6
+ }
7
+ export interface MrxDbgUiPrPointClass {
8
+ keyWords(): string;
9
+ setKeyWords(keyWordList: string): void;
10
+ message(): string;
11
+ setMessage(message: string): void;
12
+ keyWordPicked(): string;
13
+ isKeyWordPicked(matchKeyWord: string): boolean;
14
+ setUserDraw(pDraw: any): void;
15
+ value(): THREE.Vector3;
16
+ valueDocCoord(): THREE.Vector3;
17
+ basePt(): THREE.Vector3;
18
+ setBasePt(basePt: THREE.Vector3): void;
19
+ setUseBasePt(useIt: boolean): void;
20
+ go(retcall: (status: MrxDbgUiPrBaseReturn) => void): void;
21
+ goWhile(retcall: (status: MrxDbgUiPrBaseReturn) => any, exitcall?: (status: MrxDbgUiPrBaseReturn) => any): void;
22
+ drawReserve(callAddEntity?: (ent: THREE.Object3D) => void): void;
23
+ }