fl-web-component 1.3.15 → 1.3.16

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,7 +46,11 @@ Vue.use(FlWebComponent)
46
46
  欢迎贡献代码和问题反馈。
47
47
 
48
48
  ## 更新日志
49
- - 1.3.14 2025-09-16
49
+ - 1.3.16 2025-09-18
50
+ 1. 相机设置自动调整
51
+ 2. 处理多渲染实例的问题
52
+ 3. 添加transp透明度
53
+ - 1.3.15 2025-09-16
50
54
  1. 更新全局剖切UI
51
55
  - 1.3.13 2025-09-04
52
56
  1. PID阶段图纸集放大缩小
@@ -1194,6 +1194,13 @@ 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
+
1197
1204
  /***/ "122f":
1198
1205
  /***/ (function(module, exports, __webpack_require__) {
1199
1206
 
@@ -1218,17 +1225,6 @@ var Threshold = function Threshold(imageData) {
1218
1225
  exports.Threshold = Threshold;
1219
1226
  Factory_1.Factory.addGetterSetter(Node_1.Node, 'threshold', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);
1220
1227
 
1221
- /***/ }),
1222
-
1223
- /***/ "12cc":
1224
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1225
-
1226
- "use strict";
1227
- /* 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_0390b048_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2b3e");
1228
- /* 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_0390b048_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_0390b048_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
1229
- /* unused harmony reexport * */
1230
-
1231
-
1232
1228
  /***/ }),
1233
1229
 
1234
1230
  /***/ "1bd8":
@@ -2665,13 +2661,6 @@ Factory_1.Factory.addGetterSetter(TextPath, 'kerningFunc', undefined);
2665
2661
 
2666
2662
  /***/ }),
2667
2663
 
2668
- /***/ "2b3e":
2669
- /***/ (function(module, exports, __webpack_require__) {
2670
-
2671
- // extracted by mini-css-extract-plugin
2672
-
2673
- /***/ }),
2674
-
2675
2664
  /***/ "2fb2":
2676
2665
  /***/ (function(module, exports, __webpack_require__) {
2677
2666
 
@@ -5894,6 +5883,17 @@ Factory_1.Factory.addGetterSetter(Text, 'letterSpacing', 0, (0, Validators_1.get
5894
5883
  Factory_1.Factory.addGetterSetter(Text, 'text', '', (0, Validators_1.getStringValidator)());
5895
5884
  Factory_1.Factory.addGetterSetter(Text, 'textDecoration', '');
5896
5885
 
5886
+ /***/ }),
5887
+
5888
+ /***/ "596c":
5889
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
5890
+
5891
+ "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__);
5894
+ /* unused harmony reexport * */
5895
+
5896
+
5897
5897
  /***/ }),
5898
5898
 
5899
5899
  /***/ "5c7d":
@@ -22284,7 +22284,7 @@ Factory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBCompon
22284
22284
  /***/ "9224":
22285
22285
  /***/ (function(module) {
22286
22286
 
22287
- module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"1.3.15\",\"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\"]}");
22287
+ module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"1.3.16\",\"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\"]}");
22288
22288
 
22289
22289
  /***/ }),
22290
22290
 
@@ -26485,13 +26485,6 @@ if (Global_1.Konva.isBrowser) {
26485
26485
 
26486
26486
  /***/ }),
26487
26487
 
26488
- /***/ "e043":
26489
- /***/ (function(module, exports, __webpack_require__) {
26490
-
26491
- // extracted by mini-css-extract-plugin
26492
-
26493
- /***/ }),
26494
-
26495
26488
  /***/ "e0ed":
26496
26489
  /***/ (function(module, exports, __webpack_require__) {
26497
26490
 
@@ -26832,17 +26825,6 @@ Factory_1.Factory.addGetterSetter(Node_1.Node, 'embossWhiteLevel', 0.5, (0, Vali
26832
26825
  Factory_1.Factory.addGetterSetter(Node_1.Node, 'embossDirection', 'top-left', undefined, Factory_1.Factory.afterSetFilter);
26833
26826
  Factory_1.Factory.addGetterSetter(Node_1.Node, 'embossBlend', false, undefined, Factory_1.Factory.afterSetFilter);
26834
26827
 
26835
- /***/ }),
26836
-
26837
- /***/ "e731":
26838
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
26839
-
26840
- "use strict";
26841
- /* 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_0390b048_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e043");
26842
- /* 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_0390b048_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_0390b048_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
26843
- /* unused harmony reexport * */
26844
-
26845
-
26846
26828
  /***/ }),
26847
26829
 
26848
26830
  /***/ "ea61":
@@ -28262,6 +28244,17 @@ Animation.animations = [];
28262
28244
  Animation.animIdCounter = 0;
28263
28245
  Animation.animRunning = false;
28264
28246
 
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
+
28265
28258
  /***/ }),
28266
28259
 
28267
28260
  /***/ "f0b4":
@@ -28447,6 +28440,13 @@ Group.prototype.nodeType = 'Group';
28447
28440
 
28448
28441
  /***/ }),
28449
28442
 
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":"51d96d7c-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=0390b048&scoped=true
29278
- var com_graphicsvue_type_template_id_0390b048_scoped_true_render = function render() {
29277
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7bffa45c-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() {
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_0390b048_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=0390b048&scoped=true
29289
+ // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=c496e868&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)); }
@@ -57204,7 +57204,8 @@ function parseData(input) {
57204
57204
  // 默认值
57205
57205
  linewidth: (material === null || material === void 0 ? void 0 : material.linewidth) !== undefined ? material === null || material === void 0 ? void 0 : material.linewidth : 1,
57206
57206
  // 默认值
57207
- visible: (material === null || material === void 0 ? void 0 : material.visible) === false ? false : true
57207
+ visible: (material === null || material === void 0 ? void 0 : material.visible) === false ? false : true,
57208
+ transparent: material === null || material === void 0 ? void 0 : material.transp
57208
57209
  };
57209
57210
  var identity = new Matrix4().identity();
57210
57211
  geomList.push({
@@ -57285,7 +57286,8 @@ function parseNode(node) {
57285
57286
  }
57286
57287
  });
57287
57288
  if (isRoot) {
57288
- var processed = processInstance(instance, instance._batchId, instanceMap);
57289
+ // 根节点父ID应为空字符串
57290
+ var processed = processInstance(instance, '', instanceMap);
57289
57291
  rootInstances.push(processed);
57290
57292
  }
57291
57293
  });
@@ -59542,14 +59544,16 @@ function handleInstancedMeshModel(modelGroup, instances, drawObjs, type, scene,
59542
59544
  var targetGroup, instancedMeshIndex, drawObjectName;
59543
59545
  var drawObjInstance = drawObjMapInstance[instances[_i].drawObject];
59544
59546
  if (((_drawObjInstance$MapM = drawObjInstance.MapMesh) === null || _drawObjInstance$MapM === void 0 ? void 0 : _drawObjInstance$MapM.length) > 0) {
59547
+ // 确保始终使用当前实例的 drawObject 设置分组名
59548
+ drawObjectName = instances[_i].drawObject;
59545
59549
  drawObjInstance.MapInstance.forEach(function (instance, index) {
59546
59550
  if (instance.instanceId == instances[_i].instanceId) {
59547
59551
  instancedMeshIndex = index;
59548
- drawObjectName = instances[_i].drawObject;
59549
59552
  }
59550
59553
  });
59554
+ // 在 modelGroup 中查找,避免因尚未加入 scene 而重复创建
59551
59555
  if (drawObjectName) {
59552
- targetGroup = scene.getObjectByName(drawObjectName);
59556
+ targetGroup = modelGroup.getObjectByName(drawObjectName);
59553
59557
  }
59554
59558
  if (!targetGroup) {
59555
59559
  var _drawObj$MapMesh;
@@ -59576,42 +59580,44 @@ function handleInstancedMeshModel(modelGroup, instances, drawObjs, type, scene,
59576
59580
  model.userData[_key] = meshNameConfig[_key];
59577
59581
  meshName += ':' + meshNameConfig[_key];
59578
59582
  }
59583
+ // 一次性为该 drawObject 的所有实例设置矩阵与颜色
59579
59584
  drawObj.MapInstance.forEach(function (item, index) {
59580
- if (item.instanceId == instances[_i].instanceId) {
59581
- var _item$matrix;
59582
- model.userData.instanceIndex = index;
59583
- model.userData.instanceId = instances[_i].instanceId;
59584
- model.userData.primId = mesh.prmid;
59585
- model.name = meshName !== '' ? instances[_i].instanceId + meshName : instances[_i].instanceId;
59586
- var matrixVal = (_item$matrix = item.matrix) === null || _item$matrix === void 0 ? void 0 : _item$matrix.val;
59587
- if (matrixVal) {
59588
- var m4 = new Matrix4();
59589
- var meshMatrix = new Matrix4();
59590
- var geomMatrix = new Matrix4();
59591
- // m4.setPosition(new THREE.Vector3(9999999, 9999999, 9999999)); // TODO 临时隐藏方案
59592
- meshMatrix.elements = item.matrix.val;
59593
- geomMatrix.elements = mesh.matrix.val;
59594
-
59595
- // 处理文本居中对齐
59596
- var points = mesh.points,
59597
- alignType = mesh.alignType;
59598
- if (isTextType(mesh.type)) {
59599
- var positionMatrix = new Matrix4();
59600
- var alignMatrix = createAlignedText(alignType, model.geometry);
59601
- positionMatrix.identity().makeTranslation(points[0], points[1], points[2]);
59602
- geomMatrix.multiply(alignMatrix).multiply(positionMatrix);
59603
- }
59604
- m4.multiplyMatrices(meshMatrix, geomMatrix);
59605
- model.setMatrixAt(index, m4);
59606
- var copyMatrix = new Matrix4().copy(m4);
59607
- model.userData.copyMatrix = copyMatrix;
59585
+ var _item$matrix;
59586
+ model.userData.instanceIndex = index;
59587
+ model.userData.instanceId = item.instanceId;
59588
+ model.userData.primId = mesh.prmid;
59589
+ model.name = meshName !== '' ? item.instanceId + meshName : item.instanceId;
59590
+ var matrixVal = (_item$matrix = item.matrix) === null || _item$matrix === void 0 ? void 0 : _item$matrix.val;
59591
+ if (matrixVal) {
59592
+ var m4 = new Matrix4();
59593
+ var meshMatrix = new Matrix4();
59594
+ var geomMatrix = new Matrix4();
59595
+ // m4.setPosition(new THREE.Vector3(9999999, 9999999, 9999999)); // TODO 临时隐藏方案
59596
+ meshMatrix.elements = item.matrix.val;
59597
+ geomMatrix.elements = mesh.matrix.val;
59598
+
59599
+ // 处理文本居中对齐
59600
+ var points = mesh.points,
59601
+ alignType = mesh.alignType;
59602
+ if (isTextType(mesh.type)) {
59603
+ var positionMatrix = new Matrix4();
59604
+ var alignMatrix = createAlignedText(alignType, model.geometry);
59605
+ positionMatrix.identity().makeTranslation(points[0], points[1], points[2]);
59606
+ geomMatrix.multiply(alignMatrix).multiply(positionMatrix);
59608
59607
  }
59609
- // 需要先设置全部实例颜色,否则后续设置颜色无效
59610
- var color = mesh.prop.color;
59611
- var meshColor = customColor ? new Color(customColor) : new Color("rgb(".concat(color[0], ", ").concat(color[1], ", ").concat(color[2], ")"));
59612
- model.setColorAt(index, meshColor);
59608
+ m4.multiplyMatrices(meshMatrix, geomMatrix);
59609
+ model.setMatrixAt(index, m4);
59610
+ var copyMatrix = new Matrix4().copy(m4);
59611
+ model.userData.copyMatrix = copyMatrix;
59613
59612
  }
59613
+ // 需要先设置全部实例颜色,否则后续设置颜色无效
59614
+ var color = mesh.prop.color;
59615
+ var meshColor = customColor ? new Color(customColor) : new Color("rgb(".concat(color[0], ", ").concat(color[1], ", ").concat(color[2], ")"));
59616
+ model.setColorAt(index, meshColor);
59614
59617
  });
59618
+ // 标记实例属性更新
59619
+ if (model.instanceMatrix) model.instanceMatrix.needsUpdate = true;
59620
+ if (model.instanceColor) model.instanceColor.needsUpdate = true;
59615
59621
  // model.instanceColor.needsUpdate = true;
59616
59622
  group.add(model);
59617
59623
  });
@@ -59790,7 +59796,8 @@ function draw3Dmodel(geom, instanceName, instanceCount, nColor, nOpacity) {
59790
59796
  var normal = new Float32Array(normals);
59791
59797
  geometry.setAttribute('normal', new BufferAttribute(normal, 3));
59792
59798
  }
59793
- var color = prop.color;
59799
+ var color = prop.color,
59800
+ transparent = prop.transparent;
59794
59801
  var material, mesh, colors, opacity;
59795
59802
  if (Array.isArray(color) && color.length) {
59796
59803
  colors = color;
@@ -59803,6 +59810,11 @@ function draw3Dmodel(geom, instanceName, instanceCount, nColor, nOpacity) {
59803
59810
  opacity = 1;
59804
59811
  }
59805
59812
 
59813
+ // 处理transparent透明度
59814
+ if (transparent) {
59815
+ opacity = 1 - transparent;
59816
+ }
59817
+
59806
59818
  // 使用自定义材质或创建标准材质(默认参数配置)
59807
59819
  var materialOptions = {
59808
59820
  userData: {
@@ -59832,34 +59844,15 @@ function draw3Dmodel(geom, instanceName, instanceCount, nColor, nOpacity) {
59832
59844
  geometry.setAttribute('opacity', new InstancedBufferAttribute(opacities, 1));
59833
59845
 
59834
59846
  // 自定义着色器逻辑
59835
- // if (!customMaterial) {
59836
- // material.onBeforeCompile = shader => {
59837
- // // 添加顶点着色器输入
59838
- // shader.vertexShader = `
59839
- // in float opacity; // 实例透明度属性
59840
- // out float vAlpha;
59841
- // ${shader.vertexShader}
59842
- // `.replace(
59843
- // '#include <begin_vertex>',
59844
- // `
59845
- // #include <begin_vertex>
59846
- // vAlpha = opacity; // 传递透明度到片段着色器
59847
- // `
59848
- // );
59849
-
59850
- // // 修改片段着色器
59851
- // shader.fragmentShader = `
59852
- // in float vAlpha;
59853
- // ${shader.fragmentShader}
59854
- // `.replace(
59855
- // '#include <alphatest_fragment>',
59856
- // `
59857
- // #include <alphatest_fragment>
59858
- // diffuseColor.a *= vAlpha; // 应用实例透明度
59859
- // `
59860
- // );
59861
- // };
59862
- // }
59847
+ if (!customMaterial) {
59848
+ material.onBeforeCompile = function (shader) {
59849
+ // 添加顶点着色器输入
59850
+ shader.vertexShader = "\n in float opacity; // \u5B9E\u4F8B\u900F\u660E\u5EA6\u5C5E\u6027\n out float vAlpha;\n ".concat(shader.vertexShader, "\n ").replace('#include <begin_vertex>', "\n #include <begin_vertex>\n vAlpha = opacity; // \u4F20\u9012\u900F\u660E\u5EA6\u5230\u7247\u6BB5\u7740\u8272\u5668\n ");
59851
+
59852
+ // 修改片段着色器
59853
+ shader.fragmentShader = "\n in float vAlpha;\n ".concat(shader.fragmentShader, "\n ").replace('#include <alphatest_fragment>', "\n #include <alphatest_fragment>\n diffuseColor.a *= vAlpha; // \u5E94\u7528\u5B9E\u4F8B\u900F\u660E\u5EA6\n ");
59854
+ };
59855
+ }
59863
59856
  mesh = new InstancedMesh(geometry, material, instanceCount);
59864
59857
  var visible = prop.visible;
59865
59858
  mesh.visible = visible;
@@ -61413,6 +61406,7 @@ var guiParams = {
61413
61406
  var _this = this;
61414
61407
  var color = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
61415
61408
  var meshNameConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
61409
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
61416
61410
  if (Object.keys(data).length === 0) {
61417
61411
  return;
61418
61412
  }
@@ -61462,6 +61456,9 @@ var guiParams = {
61462
61456
  this.$emit('modelLoaded');
61463
61457
  // cameraControls.saveState();
61464
61458
  }
61459
+
61460
+ // 动态设置视角滚轮的距离
61461
+ this.setCameraConfig();
61465
61462
  },
61466
61463
  // 获取mesh的中心点
61467
61464
  getMeshCenterAndVolume: function getMeshCenterAndVolume(mesh) {
@@ -62659,16 +62656,28 @@ var guiParams = {
62659
62656
  right = btn.right;
62660
62657
  left && (cameraControls.mouseButtons.left = ACTION_ENUM[left]);
62661
62658
  right && (cameraControls.mouseButtons.right = ACTION_ENUM[right]);
62659
+ },
62660
+ // 动态设置视角滚轮的距离
62661
+ setCameraConfig: function setCameraConfig() {
62662
+ var box3 = new this.THREE.Box3().setFromObject(com_graphicsvue_type_script_lang_js_scene);
62663
+ var size = new this.THREE.Vector3();
62664
+ box3.getSize(size);
62665
+ var maxBorder = Math.max(size.x, size.y, size.z);
62666
+ cameraControls.camera.far = maxBorder * 50; // 设置相机的远裁剪面
62667
+
62668
+ cameraControls.minDistance = maxBorder * 0.05; // 动态设置视角滚轮的距离
62669
+
62670
+ com_graphicsvue_type_script_lang_js_camera.updateProjectionMatrix();
62662
62671
  }
62663
62672
  }
62664
62673
  });
62665
62674
  // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=script&lang=js
62666
62675
  /* harmony default export */ var components_com_graphicsvue_type_script_lang_js = (com_graphicsvue_type_script_lang_js);
62667
- // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=0390b048&prod&lang=scss&scoped=true
62668
- var com_graphicsvue_type_style_index_0_id_0390b048_prod_lang_scss_scoped_true = __webpack_require__("12cc");
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");
62669
62678
 
62670
- // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=0390b048&prod&lang=css
62671
- var com_graphicsvue_type_style_index_1_id_0390b048_prod_lang_css = __webpack_require__("e731");
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");
62672
62681
 
62673
62682
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
62674
62683
  /* globals __VUE_SSR_CONTEXT__ */
@@ -62780,17 +62789,17 @@ function normalizeComponent(
62780
62789
 
62781
62790
  var component = normalizeComponent(
62782
62791
  components_com_graphicsvue_type_script_lang_js,
62783
- com_graphicsvue_type_template_id_0390b048_scoped_true_render,
62792
+ com_graphicsvue_type_template_id_c496e868_scoped_true_render,
62784
62793
  staticRenderFns,
62785
62794
  false,
62786
62795
  null,
62787
- "0390b048",
62796
+ "c496e868",
62788
62797
  null
62789
62798
 
62790
62799
  )
62791
62800
 
62792
62801
  /* harmony default export */ var com_graphics = (component.exports);
62793
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"51d96d7c-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=1b43deb6&scoped=true
62802
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7bffa45c-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=1b43deb6&scoped=true
62794
62803
  var com_flcanvasvue_type_template_id_1b43deb6_scoped_true_render = function render() {
62795
62804
  var _vm = this,
62796
62805
  _c = _vm._self._c;
@@ -65900,7 +65909,7 @@ var com_flcanvas_component = normalizeComponent(
65900
65909
  )
65901
65910
 
65902
65911
  /* harmony default export */ var com_flcanvas = (com_flcanvas_component.exports);
65903
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"51d96d7c-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
65912
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7bffa45c-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
65904
65913
  var per_controlvue_type_template_id_f547d5c6_scoped_true_render = function render() {
65905
65914
  var _vm = this,
65906
65915
  _c = _vm._self._c;
@@ -66008,7 +66017,7 @@ var per_control_component = normalizeComponent(
66008
66017
  )
66009
66018
 
66010
66019
  /* harmony default export */ var per_control = (per_control_component.exports);
66011
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"51d96d7c-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
66020
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7bffa45c-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
66012
66021
  var pidvue_type_template_id_0ec35ee4_scoped_true_render = function render() {
66013
66022
  var _vm = this,
66014
66023
  _c = _vm._self._c;