fl-web-component 1.3.17 → 1.3.19

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 CHANGED
@@ -46,6 +46,12 @@ Vue.use(FlWebComponent)
46
46
  欢迎贡献代码和问题反馈。
47
47
 
48
48
  ## 更新日志
49
+ - 1.3.19 2025-10-31
50
+ 1. 修复多引用问题
51
+ - 1.3.18 2025-10-30
52
+ 1. 修复pidbug
53
+ - 1.3.17 2025-09-28
54
+ 1. 修复pidbug
49
55
  - 1.3.16 2025-09-18
50
56
  1. 相机设置自动调整
51
57
  2. 处理多渲染实例的问题
@@ -1194,13 +1194,6 @@ Factory_1.Factory.addGetterSetter(Layer, 'hitGraphEnabled', true, (0, Validators
1194
1194
 
1195
1195
  /***/ }),
1196
1196
 
1197
- /***/ "101a":
1198
- /***/ (function(module, exports, __webpack_require__) {
1199
-
1200
- // extracted by mini-css-extract-plugin
1201
-
1202
- /***/ }),
1203
-
1204
1197
  /***/ "122f":
1205
1198
  /***/ (function(module, exports, __webpack_require__) {
1206
1199
 
@@ -5885,12 +5878,12 @@ Factory_1.Factory.addGetterSetter(Text, 'textDecoration', '');
5885
5878
 
5886
5879
  /***/ }),
5887
5880
 
5888
- /***/ "596c":
5881
+ /***/ "5b29":
5889
5882
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5890
5883
 
5891
5884
  "use strict";
5892
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_c496e868_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("101a");
5893
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_c496e868_prod_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_c496e868_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
5885
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1bdd1986_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b34b");
5886
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1bdd1986_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1bdd1986_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
5894
5887
  /* unused harmony reexport * */
5895
5888
 
5896
5889
 
@@ -9110,6 +9103,24 @@ module.exports = JSON.parse("{\"glyphs\":{\"0\":{\"x_min\":73,\"x_max\":715,\"ha
9110
9103
 
9111
9104
  /***/ }),
9112
9105
 
9106
+ /***/ "8298":
9107
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9108
+
9109
+ "use strict";
9110
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_1bdd1986_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8364");
9111
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_1bdd1986_prod_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_1bdd1986_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
9112
+ /* unused harmony reexport * */
9113
+
9114
+
9115
+ /***/ }),
9116
+
9117
+ /***/ "8364":
9118
+ /***/ (function(module, exports, __webpack_require__) {
9119
+
9120
+ // extracted by mini-css-extract-plugin
9121
+
9122
+ /***/ }),
9123
+
9113
9124
  /***/ "85b7":
9114
9125
  /***/ (function(module, exports, __webpack_require__) {
9115
9126
 
@@ -22291,7 +22302,7 @@ Factory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBCompon
22291
22302
  /***/ "9224":
22292
22303
  /***/ (function(module) {
22293
22304
 
22294
- module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"1.3.17\",\"scripts\":{\"tip1\":\"仅调试本组件不涉及业务组件,请执行dev\",\"dev\":\"vue-cli-service serve\",\"lint\":\"eslint \\\"{src,packages}/**/*.{vue,js}\\\" --fix\",\"prettier\":\"prettier --write \\\"packages/**/*.{js,css,less,scss,vue,html}\\\"\",\"=\":\"=============================================================\",\"tip2\":\"同时调试本组件与业务组件,请执行watch\",\"watch\":\"vue-cli-service build --watch --mode production --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build\":\"npm run lint && vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build:test\":\"vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"publish:base\":\"npm run build && npm publish --registry https://registry.npmjs.org/\",\"==\":\"=============================================================\",\"tip3\":\"发版注意: 【修改bug执行publish:fix】【新增功能执行publish:feat】【新特性执行publish:perf】\",\"publish:fix\":\"npm version patch && npm run publish:base\",\"publish:feat\":\"npm version minor && npm run publish:base\",\"publish:perf\":\"npm version major && npm run publish:base\"},\"files\":[\"dist\",\"packages\",\"src\",\"patches\"],\"main\":\"dist/fl-web-component.common.js\",\"dependencies\":{\"camera-controls\":\"2.9.0\",\"core-js\":\"^3.42.0\",\"dxf-parser\":\"^1.1.2\",\"element-ui\":\"2.15.14\",\"html2canvas\":\"^1.4.1\",\"jspdf\":\"^3.0.1\",\"konva\":\"^9.3.14\",\"lodash\":\"^4.17.21\",\"meshline\":\"^3.3.1\",\"regenerator-runtime\":\"^0.14.1\",\"svg-pan-zoom\":\"^3.6.2\",\"three\":\"^0.176.0\",\"three.path\":\"^1.0.1\",\"vue\":\"^2.6.11\"},\"devDependencies\":{\"@babel/core\":\"^7.12.16\",\"@babel/preset-env\":\"^7.0.0\",\"@babel/runtime-corejs3\":\"^7.27.1\",\"@vue/cli-plugin-babel\":\"~4.4.0\",\"@vue/cli-plugin-eslint\":\"~4.4.0\",\"@vue/cli-service\":\"~4.4.0\",\"babel-eslint\":\"^10.1.0\",\"babel-loader\":\"^8.0.0\",\"copy-webpack-plugin\":\"^4.0.1\",\"eslint\":\"^6.7.2\",\"eslint-plugin-vue\":\"^6.2.2\",\"patch-package\":\"^6.4.7\",\"sass\":\"1.32.13\",\"sass-loader\":\"10.1.1\",\"vue-template-compiler\":\"^2.6.11\"},\"eslintConfig\":{\"root\":true,\"env\":{\"node\":true},\"extends\":[\"plugin:vue/essential\",\"eslint:recommended\"],\"parserOptions\":{\"parser\":\"babel-eslint\"},\"rules\":{}},\"browserslist\":[\"> 1%\",\"last 2 versions\",\"not dead\"]}");
22305
+ module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"1.3.19\",\"scripts\":{\"tip1\":\"仅调试本组件不涉及业务组件,请执行dev\",\"dev\":\"vue-cli-service serve\",\"lint\":\"eslint \\\"{src,packages}/**/*.{vue,js}\\\" --fix\",\"prettier\":\"prettier --write \\\"packages/**/*.{js,css,less,scss,vue,html}\\\"\",\"=\":\"=============================================================\",\"tip2\":\"同时调试本组件与业务组件,请执行watch\",\"watch\":\"vue-cli-service build --watch --mode production --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build\":\"npm run lint && vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build:test\":\"vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"publish:base\":\"npm run build && npm publish --registry https://registry.npmjs.org/\",\"==\":\"=============================================================\",\"tip3\":\"发版注意: 【修改bug执行publish:fix】【新增功能执行publish:feat】【新特性执行publish:perf】\",\"publish:fix\":\"npm version patch && npm run publish:base\",\"publish:feat\":\"npm version minor && npm run publish:base\",\"publish:perf\":\"npm version major && npm run publish:base\"},\"files\":[\"dist\",\"packages\",\"src\",\"patches\"],\"main\":\"dist/fl-web-component.common.js\",\"dependencies\":{\"camera-controls\":\"2.9.0\",\"core-js\":\"^3.42.0\",\"dxf-parser\":\"^1.1.2\",\"element-ui\":\"2.15.14\",\"html2canvas\":\"^1.4.1\",\"jspdf\":\"^3.0.1\",\"konva\":\"^9.3.14\",\"lodash\":\"^4.17.21\",\"meshline\":\"^3.3.1\",\"regenerator-runtime\":\"^0.14.1\",\"svg-pan-zoom\":\"^3.6.2\",\"three\":\"^0.176.0\",\"three.path\":\"^1.0.1\",\"vue\":\"^2.6.11\"},\"devDependencies\":{\"@babel/core\":\"^7.12.16\",\"@babel/preset-env\":\"^7.0.0\",\"@babel/runtime-corejs3\":\"^7.27.1\",\"@vue/cli-plugin-babel\":\"~4.4.0\",\"@vue/cli-plugin-eslint\":\"~4.4.0\",\"@vue/cli-service\":\"~4.4.0\",\"babel-eslint\":\"^10.1.0\",\"babel-loader\":\"^8.0.0\",\"copy-webpack-plugin\":\"^4.0.1\",\"eslint\":\"^6.7.2\",\"eslint-plugin-vue\":\"^6.2.2\",\"patch-package\":\"^6.4.7\",\"sass\":\"1.32.13\",\"sass-loader\":\"10.1.1\",\"vue-template-compiler\":\"^2.6.11\"},\"eslintConfig\":{\"root\":true,\"env\":{\"node\":true},\"extends\":[\"plugin:vue/essential\",\"eslint:recommended\"],\"parserOptions\":{\"parser\":\"babel-eslint\"},\"rules\":{}},\"browserslist\":[\"> 1%\",\"last 2 versions\",\"not dead\"]}");
22295
22306
 
22296
22307
  /***/ }),
22297
22308
 
@@ -23663,6 +23674,13 @@ Factory_1.Factory.addGetterSetter(Node_1.Node, 'alpha', 1, function (val) {
23663
23674
 
23664
23675
  /***/ }),
23665
23676
 
23677
+ /***/ "b34b":
23678
+ /***/ (function(module, exports, __webpack_require__) {
23679
+
23680
+ // extracted by mini-css-extract-plugin
23681
+
23682
+ /***/ }),
23683
+
23666
23684
  /***/ "b5e0":
23667
23685
  /***/ (function(module, exports) {
23668
23686
 
@@ -28244,17 +28262,6 @@ Animation.animations = [];
28244
28262
  Animation.animIdCounter = 0;
28245
28263
  Animation.animRunning = false;
28246
28264
 
28247
- /***/ }),
28248
-
28249
- /***/ "f046":
28250
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
28251
-
28252
- "use strict";
28253
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_c496e868_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f494");
28254
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_c496e868_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_c496e868_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
28255
- /* unused harmony reexport * */
28256
-
28257
-
28258
28265
  /***/ }),
28259
28266
 
28260
28267
  /***/ "f0b4":
@@ -28440,13 +28447,6 @@ Group.prototype.nodeType = 'Group';
28440
28447
 
28441
28448
  /***/ }),
28442
28449
 
28443
- /***/ "f494":
28444
- /***/ (function(module, exports, __webpack_require__) {
28445
-
28446
- // extracted by mini-css-extract-plugin
28447
-
28448
- /***/ }),
28449
-
28450
28450
  /***/ "f655":
28451
28451
  /***/ (function(module, exports, __webpack_require__) {
28452
28452
 
@@ -29274,8 +29274,8 @@ if (typeof window !== 'undefined') {
29274
29274
  // Indicate to webpack that this file can be concatenated
29275
29275
  /* harmony default export */ var setPublicPath = (null);
29276
29276
 
29277
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"2ace760a-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=c496e868&scoped=true
29278
- var com_graphicsvue_type_template_id_c496e868_scoped_true_render = function render() {
29277
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"9df9ad46-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=1bdd1986&scoped=true
29278
+ var com_graphicsvue_type_template_id_1bdd1986_scoped_true_render = function render() {
29279
29279
  var _vm = this,
29280
29280
  _c = _vm._self._c;
29281
29281
  return _c('div', {
@@ -29286,7 +29286,7 @@ var com_graphicsvue_type_template_id_c496e868_scoped_true_render = function rend
29286
29286
  };
29287
29287
  var staticRenderFns = [];
29288
29288
 
29289
- // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=c496e868&scoped=true
29289
+ // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=1bdd1986&scoped=true
29290
29290
 
29291
29291
  // CONCATENATED MODULE: ./node_modules/camera-controls/dist/camera-controls.module.js
29292
29292
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
@@ -59580,6 +59580,9 @@ function handleInstancedMeshModel(modelGroup, instances, drawObjs, type, scene,
59580
59580
  model.userData[_key] = meshNameConfig[_key];
59581
59581
  meshName += ':' + meshNameConfig[_key];
59582
59582
  }
59583
+
59584
+ // 初始化实例映射表
59585
+ model.userData.instanceMaps = {};
59583
59586
  // 一次性为该 drawObject 的所有实例设置矩阵与颜色
59584
59587
  drawObj.MapInstance.forEach(function (item, index) {
59585
59588
  var _item$matrix;
@@ -59587,6 +59590,10 @@ function handleInstancedMeshModel(modelGroup, instances, drawObjs, type, scene,
59587
59590
  model.userData.instanceId = item.instanceId;
59588
59591
  model.userData.primId = mesh.prmid;
59589
59592
  model.name = meshName !== '' ? item.instanceId + meshName : item.instanceId;
59593
+ model.userData.instanceMaps[item.instanceId] = {};
59594
+ model.userData.instanceMaps[item.instanceId]['instanceIndex'] = index;
59595
+ model.userData.instanceMaps[item.instanceId]['primId'] = mesh.prmid;
59596
+ model.userData.instanceMaps[item.instanceId]['name'] = model.name;
59590
59597
  var matrixVal = (_item$matrix = item.matrix) === null || _item$matrix === void 0 ? void 0 : _item$matrix.val;
59591
59598
  if (matrixVal) {
59592
59599
  var m4 = new Matrix4();
@@ -59609,6 +59616,7 @@ function handleInstancedMeshModel(modelGroup, instances, drawObjs, type, scene,
59609
59616
  model.setMatrixAt(index, m4);
59610
59617
  var copyMatrix = new Matrix4().copy(m4);
59611
59618
  model.userData.copyMatrix = copyMatrix;
59619
+ model.userData.instanceMaps[item.instanceId]['copyMatrix'] = copyMatrix;
59612
59620
  }
59613
59621
  // 需要先设置全部实例颜色,否则后续设置颜色无效
59614
59622
  var color = mesh.prop.color;
@@ -61519,6 +61527,7 @@ var guiParams = {
61519
61527
  }
61520
61528
  };
61521
61529
  if (intersects.length > 0) {
61530
+ intersects[0].object.userData.currentInstanceIndex = intersects[0].instanceId;
61522
61531
  params = {
61523
61532
  objects: [intersects[0].object],
61524
61533
  mousePosition: {
@@ -61617,30 +61626,33 @@ var guiParams = {
61617
61626
  switch (key) {
61618
61627
  case 'color':
61619
61628
  targetObj.forEach(function (children) {
61629
+ var instanceIndex = children.userData.instanceMaps[ele.name]['instanceIndex'];
61620
61630
  if (children.isMesh) {
61621
- children.setColorAt(children.userData.instanceIndex, new _this2.THREE.Color(ele.attr[key]));
61631
+ children.setColorAt(instanceIndex, new _this2.THREE.Color(ele.attr[key]));
61622
61632
  children.instanceColor.needsUpdate = true;
61623
61633
  }
61624
61634
  });
61625
61635
  break;
61626
61636
  case 'visible':
61627
61637
  targetObj.forEach(function (children) {
61628
- var index = children.userData.instanceIndex;
61638
+ var instanceIndex = children.userData.instanceMaps[ele.name]['instanceIndex'];
61639
+ var copyMatrix = children.userData.instanceMaps[ele.name]['copyMatrix'];
61629
61640
  if (ele.attr[key]) {
61630
- var restoreMatrix = new _this2.THREE.Matrix4().copy(children.userData.copyMatrix);
61631
- children.setMatrixAt(index, restoreMatrix);
61641
+ var restoreMatrix = new _this2.THREE.Matrix4().copy(copyMatrix);
61642
+ children.setMatrixAt(instanceIndex, restoreMatrix);
61632
61643
  } else {
61633
- var offsetMatrix = new _this2.THREE.Matrix4().copy(children.userData.copyMatrix).makeTranslation(9999999, 9999999, 9999999);
61634
- children.setMatrixAt(index, offsetMatrix);
61644
+ var offsetMatrix = new _this2.THREE.Matrix4().copy(copyMatrix).makeTranslation(9999999, 9999999, 9999999);
61645
+ children.setMatrixAt(instanceIndex, offsetMatrix);
61635
61646
  }
61636
61647
  children.instanceMatrix.needsUpdate = true;
61637
61648
  });
61638
61649
  break;
61639
61650
  case 'opacity':
61651
+ var instanceIndex = children.userData.instanceMaps[ele.name]['instanceIndex'];
61640
61652
  targetObj.forEach(function (children) {
61641
61653
  if (children.isMesh) {
61642
61654
  var opacity = children.geometry.attributes.opacity.array;
61643
- opacity[children.userData.instanceIndex] = ele.attr[key];
61655
+ opacity[instanceIndex] = ele.attr[key];
61644
61656
  children.geometry.attributes.opacity.needsUpdate = true;
61645
61657
  }
61646
61658
  });
@@ -61718,14 +61730,25 @@ var guiParams = {
61718
61730
  },
61719
61731
  // 定位到模型
61720
61732
  locateModel: function locateModel(name) {
61721
- var obj = com_graphicsvue_type_script_lang_js_scene.getObjectByName(name);
61733
+ var _this$getObjectByName;
61734
+ var obj = com_graphicsvue_type_script_lang_js_scene.getObjectByName(name) || ((_this$getObjectByName = this.getObjectByName(name)) === null || _this$getObjectByName === void 0 ? void 0 : _this$getObjectByName[0]);
61722
61735
  if (obj) {
61723
61736
  // cameraControls.fitToSphere(obj.parent, true); // TODO 待处理,先用 setModelCenter 进行定位
61724
61737
  if (obj.isGroup) {
61725
61738
  this.setModelCenter(obj);
61726
61739
  } else if (obj.isMesh) {
61727
- var center = this.getCenter(obj);
61728
- var size = this.getSize(obj);
61740
+ var instanceIndex = obj.userData.instanceMaps[name]['instanceIndex'];
61741
+ var tempMatrix = new this.THREE.Matrix4();
61742
+ // const instancePos = new this.THREE.Vector3();
61743
+ obj.getMatrixAt(instanceIndex, tempMatrix);
61744
+ var center = this.getCenter(obj, tempMatrix);
61745
+ // const instanceLocalCenter = center.applyMatrix4(tempMatrix);
61746
+ // center.applyMatrix4(tempMatrix); // 先应用实例矩阵
61747
+ // obj.localToWorld(center);
61748
+ // instancePos.setFromMatrixPosition(tempMatrix); // 提取局部位置
61749
+ // obj.localToWorld(instancePos);
61750
+
61751
+ var size = this.getSize(obj, tempMatrix);
61729
61752
  this.locateByCenterBox(center, size);
61730
61753
  }
61731
61754
  }
@@ -61812,7 +61835,9 @@ var guiParams = {
61812
61835
  getObjectByName: function getObjectByName(name) {
61813
61836
  var object = [];
61814
61837
  com_graphicsvue_type_script_lang_js_scene.traverse(function (item) {
61815
- if (item.name === name) {
61838
+ var _item$userData;
61839
+ if (item.name === name || ((_item$userData = item.userData) === null || _item$userData === void 0 || (_item$userData = _item$userData.instanceMaps) === null || _item$userData === void 0 ? void 0 : _item$userData[name]) !== undefined // 或者找出对应的实例对象
61840
+ ) {
61816
61841
  object.push(item);
61817
61842
  }
61818
61843
  });
@@ -62597,15 +62622,33 @@ var guiParams = {
62597
62622
  scenePass = null;
62598
62623
  },
62599
62624
  // 获取中心点
62600
- getCenter: function getCenter(obj) {
62625
+ getCenter: function getCenter(instancedMesh, tempMatrix) {
62626
+ // 1. 获取原始几何体的中心(局部坐标,相对于单个 mesh 原点)
62627
+ var geometry = instancedMesh.geometry;
62628
+ if (!geometry.boundingBox) {
62629
+ geometry.computeBoundingBox();
62630
+ }
62631
+ var localCenter = geometry.boundingBox.getCenter(new this.THREE.Vector3());
62632
+
62633
+ // 2. 将中心应用实例的局部变换(tempMatrix)
62634
+ var instanceLocalCenter = localCenter.clone().applyMatrix4(tempMatrix);
62635
+
62636
+ // 3. 转换到世界坐标
62637
+ var worldCenter = instancedMesh.localToWorld(instanceLocalCenter.clone());
62638
+ return worldCenter;
62601
62639
  var center = new this.THREE.Vector3();
62640
+ if (tempMatrix) {
62641
+ obj.applyMatrix4(tempMatrix);
62642
+ obj.updateMatrixWorld();
62643
+ }
62602
62644
  obj.boundingBox.getCenter(center);
62603
62645
  if (obj.userData.is3D) {
62604
62646
  center.applyMatrix4(mat4);
62647
+ obj.updateMatrixWorld();
62605
62648
  }
62606
62649
  return center;
62607
62650
  },
62608
- getSize: function getSize(obj) {
62651
+ getSize: function getSize(obj, tempMatrix) {
62609
62652
  var size = new this.THREE.Vector3();
62610
62653
  obj.boundingBox.getSize(size);
62611
62654
  if (obj.userData.is3D) {
@@ -62673,11 +62716,11 @@ var guiParams = {
62673
62716
  });
62674
62717
  // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=script&lang=js
62675
62718
  /* harmony default export */ var components_com_graphicsvue_type_script_lang_js = (com_graphicsvue_type_script_lang_js);
62676
- // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=c496e868&prod&lang=scss&scoped=true
62677
- var com_graphicsvue_type_style_index_0_id_c496e868_prod_lang_scss_scoped_true = __webpack_require__("f046");
62719
+ // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=1bdd1986&prod&lang=scss&scoped=true
62720
+ var com_graphicsvue_type_style_index_0_id_1bdd1986_prod_lang_scss_scoped_true = __webpack_require__("5b29");
62678
62721
 
62679
- // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=c496e868&prod&lang=css
62680
- var com_graphicsvue_type_style_index_1_id_c496e868_prod_lang_css = __webpack_require__("596c");
62722
+ // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=1bdd1986&prod&lang=css
62723
+ var com_graphicsvue_type_style_index_1_id_1bdd1986_prod_lang_css = __webpack_require__("8298");
62681
62724
 
62682
62725
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
62683
62726
  /* globals __VUE_SSR_CONTEXT__ */
@@ -62789,17 +62832,17 @@ function normalizeComponent(
62789
62832
 
62790
62833
  var component = normalizeComponent(
62791
62834
  components_com_graphicsvue_type_script_lang_js,
62792
- com_graphicsvue_type_template_id_c496e868_scoped_true_render,
62835
+ com_graphicsvue_type_template_id_1bdd1986_scoped_true_render,
62793
62836
  staticRenderFns,
62794
62837
  false,
62795
62838
  null,
62796
- "c496e868",
62839
+ "1bdd1986",
62797
62840
  null
62798
62841
 
62799
62842
  )
62800
62843
 
62801
62844
  /* harmony default export */ var com_graphics = (component.exports);
62802
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"2ace760a-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=3507a900&scoped=true
62845
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"9df9ad46-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=3507a900&scoped=true
62803
62846
  var com_flcanvasvue_type_template_id_3507a900_scoped_true_render = function render() {
62804
62847
  var _vm = this,
62805
62848
  _c = _vm._self._c;
@@ -65119,6 +65162,34 @@ function entityFormatting_unsupportedIterableToArray(r, a) { if (r) { if ("strin
65119
65162
  function entityFormatting_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
65120
65163
 
65121
65164
 
65165
+
65166
+ //rgb转换
65167
+
65168
+ function decimalToRGBHex(decimalValue) {
65169
+ // Ensure the input is a valid integer
65170
+ if (!Number.isInteger(decimalValue)) {
65171
+ throw new Error("Input must be an integer.");
65172
+ }
65173
+
65174
+ // Ensure the input is within the valid range for 24-bit colors
65175
+ if (decimalValue < 0 || decimalValue > 0xFFFFFF) {
65176
+ throw new Error("Input must be between 0 and 16777215 (0xFFFFFF).");
65177
+ }
65178
+
65179
+ // Extract the red, green, and blue components
65180
+ var red = decimalValue >> 16 & 0xFF;
65181
+ var green = decimalValue >> 8 & 0xFF;
65182
+ var blue = decimalValue & 0xFF;
65183
+
65184
+ // Convert the RGB components to hexadecimal and format as a string
65185
+ var hex = "#" + red.toString(16).padStart(2, '0') + green.toString(16).padStart(2, '0') + blue.toString(16).padStart(2, '0');
65186
+ return {
65187
+ red: red,
65188
+ green: green,
65189
+ blue: blue,
65190
+ hex: hex.toUpperCase()
65191
+ };
65192
+ }
65122
65193
  function handleFn(functionName, recordDxf, entity, group, key, configParams, konvaLayer) {
65123
65194
  console.log(functionName);
65124
65195
  switch (functionName) {
@@ -65289,6 +65360,10 @@ function mtextContentAndFormattingToTextAndStyle(textAndControlChars, entity, co
65289
65360
  };
65290
65361
  }
65291
65362
  function drawArc(recordDxf, entity, group, key, configParams) {
65363
+ var color = entity.color;
65364
+ var rgb = decimalToRGBHex(color);
65365
+ console.log(rgb);
65366
+ var hex = rgb.hex;
65292
65367
  var startAngle, endAngle;
65293
65368
  if (entity.type === "CIRCLE") {
65294
65369
  startAngle = entity.startAngle || 0;
@@ -65310,7 +65385,7 @@ function drawArc(recordDxf, entity, group, key, configParams) {
65310
65385
  points: list,
65311
65386
  name: key.replace(/\s*/g, ""),
65312
65387
  entityId: key,
65313
- stroke: configParams ? configParams.color : "#000",
65388
+ stroke: hex,
65314
65389
  customColor: configParams ? configParams.color : "",
65315
65390
  strokeWidth: width,
65316
65391
  visible: configParams ? configParams.visible : true,
@@ -65379,6 +65454,10 @@ function drawEllpse(recordDxf, entity, group, key, configParams) {
65379
65454
  // group.add(line);
65380
65455
  }
65381
65456
  function drawLine(recordDxf, entity, group, key, configParams) {
65457
+ var color = entity.color;
65458
+ var rgb = decimalToRGBHex(color);
65459
+ console.log(rgb);
65460
+ var hex = rgb.hex;
65382
65461
  var x1 = entity.vertices[0].x;
65383
65462
  var y1 = entity.vertices[0].y;
65384
65463
  var x2 = entity.vertices[1].x;
@@ -65393,7 +65472,7 @@ function drawLine(recordDxf, entity, group, key, configParams) {
65393
65472
  name: key.replace(/\s*/g, ""),
65394
65473
  entityId: key,
65395
65474
  isGroup: false,
65396
- stroke: configParams ? configParams.color : "#000",
65475
+ stroke: hex,
65397
65476
  customColor: configParams ? configParams.color : "",
65398
65477
  strokeWidth: width,
65399
65478
  visible: configParams ? configParams.visible : true,
@@ -65422,6 +65501,13 @@ function drawLine(recordDxf, entity, group, key, configParams) {
65422
65501
  // group.add(line);
65423
65502
  }
65424
65503
  function entityFormatting_drawText(recordDxf, entity, group, key, configParams) {
65504
+ var color = entity.color;
65505
+ var rgb = decimalToRGBHex(color);
65506
+ console.log(rgb);
65507
+ var hex = rgb.hex;
65508
+ if (hex == '#FFFFFF') {
65509
+ hex = '#000';
65510
+ }
65425
65511
  var text = entity.text;
65426
65512
  var fontSize = 0;
65427
65513
  if (key == 0) {
@@ -65437,13 +65523,13 @@ function entityFormatting_drawText(recordDxf, entity, group, key, configParams)
65437
65523
  y: -parseFloat(y),
65438
65524
  text: text,
65439
65525
  fontSize: fontSize,
65440
- fill: configParams ? configParams.color : "#000",
65526
+ fill: hex,
65441
65527
  customColor: configParams ? configParams.color : "",
65442
65528
  name: key.replace(/\s*/g, ""),
65443
65529
  entityId: key,
65444
65530
  fontFamily: "SimSun",
65445
65531
  visible: configParams ? configParams.visible : true,
65446
- stroke: configParams ? configParams.color : "#000",
65532
+ stroke: hex,
65447
65533
  strokeWidth: 0.1
65448
65534
  });
65449
65535
  if (entity.rotation) {
@@ -65486,6 +65572,13 @@ function drawHatch(recordDxf, entity, group, key, configParams) {
65486
65572
  console.log("hatch");
65487
65573
  }
65488
65574
  function drawLwLine(recordDxf, entity, group, key, configParams) {
65575
+ var color = entity.color;
65576
+ var rgb = decimalToRGBHex(color);
65577
+ console.log(rgb);
65578
+ var hex = rgb.hex;
65579
+ if (hex == '#FFFFFF') {
65580
+ hex = '#000';
65581
+ }
65489
65582
  var closed = entity.shape;
65490
65583
  var list = [];
65491
65584
  for (var i = 0; i < entity.vertices.length; i++) {
@@ -65504,7 +65597,7 @@ function drawLwLine(recordDxf, entity, group, key, configParams) {
65504
65597
  closed: closed,
65505
65598
  name: key.replace(/\s*/g, ""),
65506
65599
  entityId: key,
65507
- stroke: configParams ? configParams.color : "#000",
65600
+ stroke: hex,
65508
65601
  customColor: configParams ? configParams.color : "",
65509
65602
  strokeWidth: width,
65510
65603
  visible: configParams ? configParams.visible : true,
@@ -66446,7 +66539,7 @@ var com_flcanvas_component = normalizeComponent(
66446
66539
  )
66447
66540
 
66448
66541
  /* harmony default export */ var com_flcanvas = (com_flcanvas_component.exports);
66449
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"2ace760a-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
66542
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"9df9ad46-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
66450
66543
  var per_controlvue_type_template_id_f547d5c6_scoped_true_render = function render() {
66451
66544
  var _vm = this,
66452
66545
  _c = _vm._self._c;
@@ -66554,7 +66647,7 @@ var per_control_component = normalizeComponent(
66554
66647
  )
66555
66648
 
66556
66649
  /* harmony default export */ var per_control = (per_control_component.exports);
66557
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"2ace760a-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=0ec35ee4&scoped=true
66650
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"9df9ad46-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=0ec35ee4&scoped=true
66558
66651
  var pidvue_type_template_id_0ec35ee4_scoped_true_render = function render() {
66559
66652
  var _vm = this,
66560
66653
  _c = _vm._self._c;