fl-web-component 2.1.1-beta.12 → 2.1.1-beta.13

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.
@@ -1 +1 @@
1
- @charset "UTF-8";.fl-model-containor[data-v-3b9a926b]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-3b9a926b] .tips-label{width:60px;color:#000;font:12px Helvetica;margin-top:-3em;padding:5px;text-align:center;vertical-align:middle;background-color:khaki}[data-v-3b9a926b] .measure-label{max-width:100px;margin-top:-1em;border:10px;border-radius:5px;padding:3px 10px;cursor:pointer;color:#009bea;background-color:#f4f4f4;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.25);box-shadow:0 1px 3px 1px rgba(0,0,0,.25)}[data-v-3b9a926b] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-3b9a926b] .measure-label-font{word-break:break-all}[data-v-3b9a926b] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-3b9a926b]{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.loading-overlay--visible[data-v-3b9a926b]{opacity:1;visibility:visible}.loading-content[data-v-3b9a926b]{background:#fff;border-radius:12px;padding:30px;text-align:center;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.3);box-shadow:0 8px 32px rgba(0,0,0,.3);min-width:300px;max-width:400px}.loading-spinner[data-v-3b9a926b]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-3b9a926b 1s linear infinite;animation:spin-3b9a926b 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-3b9a926b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-3b9a926b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-3b9a926b]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-3b9a926b]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-3b9a926b]{height:100%;background:-webkit-gradient(linear,left top,right top,from(#409eff),to(#67c23a));background:linear-gradient(90deg,#409eff,#67c23a);border-radius:4px;-webkit-transition:width .3s ease;transition:width .3s ease}.loading-details[data-v-3b9a926b]{font-size:12px;color:#666;line-height:1.5}.lil-this.gui{background:hsla(0,0%,100%,.95)!important;border:1px solid #e0e0e0!important;border-radius:8px!important;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;backdrop-filter:blur(10px)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.lil-this.gui .title{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important;font-weight:600!important;padding:0 12px!important;border-radius:8px 8px 0 0!important}.lil-this.gui .controller{border-bottom:1px solid #f1f3f4!important;background:transparent!important}.lil-this.gui .controller:last-child{border-bottom:none!important}.lil-this.gui .controller .name{color:#495057!important;font-weight:500!important;font-size:12px!important}.lil-this.gui .controller .widget{background:#f8f9fa!important;border:1px solid #ced4da!important;border-radius:4px!important;color:#495057!important}.lil-this.gui .controller .widget:focus,.lil-this.gui .controller .widget:hover{border-color:#80bdff!important;-webkit-box-shadow:0 0 0 2px rgba(0,123,255,.25)!important;box-shadow:0 0 0 2px rgba(0,123,255,.25)!important}.lil-this.gui .controller .widget:focus{outline:none!important}.lil-this.gui .controller input[type=range]{background:#e9ecef!important;height:4px!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border-radius:2px!important}.lil-this.gui .controller.number .fill{border-right:solid #008de9}.lil-this.gui .controller input[type=range]::-webkit-slider-thumb{background:#007bff!important;border:2px solid #fff!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2)!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important}.lil-this.gui .controller input[type=range]::-moz-range-thumb{background:#007bff!important;border:2px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;cursor:pointer!important}.lil-this.gui .controller .option{background:#fff!important;color:#495057!important;border-bottom:1px solid #f1f3f4!important}.lil-this.gui .controller .option:hover{background:#f8f9fa!important}.lil-this.gui .controller .option:last-child{border-bottom:none!important}.lil-this.gui input:active{background:#e6eff4}.lil-this.gui .controller button{background:linear-gradient(135deg,#007bff,#0056b3)!important;color:#fff!important;border:none!important;border-radius:4px!important;font-weight:500!important;-webkit-transition:all .2s ease!important;transition:all .2s ease!important}.lil-this.gui .controller button:hover{background:linear-gradient(135deg,#0056b3,#004085)!important;-webkit-transform:translateY(-1px)!important;transform:translateY(-1px)!important;-webkit-box-shadow:0 4px 8px rgba(0,123,255,.3)!important;box-shadow:0 4px 8px rgba(0,123,255,.3)!important}.lil-this.gui .controller .color{border:2px solid #fff!important;border-radius:4px!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1)!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.lil-this.gui .controller.number .slider,.lil-this.gui .controller.number .slider:hover{background-color:#e6eff4}.lil-this.gui input,.lil-this.gui input:hover,.lil-this.gui input[type=number]:focus,.lil-this.gui input[type=text]:focus{background:#e6eff4}.lil-this.gui .controller>.name{min-width:25px}.lil-this.gui .controller.number input{color:#2e3136}.lil-this.gui .controller.number .slider:active{background-color:#e6eff4}.lil-this.gui .folder>.title{background:linear-gradient(135deg,#f1f3f4,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important}.lil-this.gui .folder>.title:before{color:#6c757d!important}.lil-this.gui .folder.closed>.children{display:none!important}#konva-container[data-v-6175e5c1]{z-index:3;width:100%;height:100%;cursor:pointer;overflow:hidden}span[data-v-f547d5c6]{font-weight:bolder}.text[data-v-f547d5c6]{margin-top:20px}.line[data-v-f547d5c6]{border-bottom:1px solid #dcdfe6;margin:20px 0}.center[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.center .cen span[data-v-f547d5c6],.center .top span[data-v-f547d5c6]{color:"#53a8ff";display:inline-block;width:30px;height:30px;text-align:center;line-height:30px;border:1px solid;padding:5px;margin-bottom:10px;background-color:#e9f3ff}.center .cen span[data-v-f547d5c6]{margin:10px}.button[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end;margin-top:20px}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216) format("woff2"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216) format("woff"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216) format("truetype")}.iconfont[data-v-f547d5c6]{font-family:iconfont!important;font-size:50px;font-style:normal;color:"#53a8ff";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shubiao[data-v-f547d5c6]:before{content:""}.main_body[data-v-4b17bce0]{position:relative;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.classification_title[data-v-4b17bce0]{margin:0 0 10px 0;color:#fff;font-size:14px;cursor:default}.toolbar[data-v-4b17bce0]{z-index:10;position:absolute;width:520px;padding:8px 16px;border-radius:6px;-webkit-box-shadow:0 2px 10px 0 rgba(6,29,44,.25);box-shadow:0 2px 10px 0 rgba(6,29,44,.25);background-color:#fff;top:10px;left:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translateX(-50%);transform:translateX(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.icon_toolbar[data-v-4b17bce0],.text_toolbar[data-v-4b17bce0]{float:left;width:32px;height:32px;padding:0!important;background-repeat:no-repeat;background-size:24px;background-position:50%}.icon_active[data-v-4b17bce0],.icon_toolbar[data-v-4b17bce0]:hover,.text_toolbar[data-v-4b17bce0]:hover{background-color:#eee}[data-v-4b17bce0].icon_color .el-color-picker__trigger{height:24px;margin-top:4px;width:24px!important}[data-v-4b17bce0].el-color-picker--medium,[data-v-4b17bce0].el-color-picker--medium .el-color-picker__trigger{width:24px!important;height:24px!important}.canvas_container[data-v-4b17bce0]{position:relative;width:100%;height:100%;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.canvas_container canvas[data-v-4b17bce0]{position:absolute;left:0}.canvas_container #ctx_front[data-v-4b17bce0]{z-index:5;background-color:transparent}.canvas_container #ctx_back[data-v-4b17bce0]{z-index:3}.canvas_container #ctx_base[data-v-4b17bce0]{z-index:1}#text[data-v-4b17bce0]{position:absolute;z-index:-1;resize:none;outline:none;border:1px dashed #9c9c9c;overflow:hidden;background:transparent;line-height:30px;display:none}#text[data-v-4b17bce0]:hover{border:1px dashed #53a8ff}#svg-component[data-v-2572c0e2],#svg-tigger[data-v-2572c0e2]{cursor:pointer;height:100%;width:100%;position:relative}#toolbar-show[data-v-2572c0e2]{z-index:20;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;background:#fff}
1
+ @charset "UTF-8";.fl-model-containor[data-v-3b9a926b]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-3b9a926b] .tips-label{width:60px;color:#000;font:12px Helvetica;margin-top:-3em;padding:5px;text-align:center;vertical-align:middle;background-color:khaki}[data-v-3b9a926b] .measure-label{max-width:100px;margin-top:-1em;border:10px;border-radius:5px;padding:3px 10px;cursor:pointer;color:#009bea;background-color:#f4f4f4;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.25);box-shadow:0 1px 3px 1px rgba(0,0,0,.25)}[data-v-3b9a926b] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-3b9a926b] .measure-label-font{word-break:break-all}[data-v-3b9a926b] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-3b9a926b]{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.loading-overlay--visible[data-v-3b9a926b]{opacity:1;visibility:visible}.loading-content[data-v-3b9a926b]{background:#fff;border-radius:12px;padding:30px;text-align:center;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.3);box-shadow:0 8px 32px rgba(0,0,0,.3);min-width:300px;max-width:400px}.loading-spinner[data-v-3b9a926b]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-3b9a926b 1s linear infinite;animation:spin-3b9a926b 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-3b9a926b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-3b9a926b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-3b9a926b]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-3b9a926b]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-3b9a926b]{height:100%;background:-webkit-gradient(linear,left top,right top,from(#409eff),to(#67c23a));background:linear-gradient(90deg,#409eff,#67c23a);border-radius:4px;-webkit-transition:width .3s ease;transition:width .3s ease}.loading-details[data-v-3b9a926b]{font-size:12px;color:#666;line-height:1.5}.lil-this.gui{background:hsla(0,0%,100%,.95)!important;border:1px solid #e0e0e0!important;border-radius:8px!important;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;backdrop-filter:blur(10px)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.lil-this.gui .title{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important;font-weight:600!important;padding:0 12px!important;border-radius:8px 8px 0 0!important}.lil-this.gui .controller{border-bottom:1px solid #f1f3f4!important;background:transparent!important}.lil-this.gui .controller:last-child{border-bottom:none!important}.lil-this.gui .controller .name{color:#495057!important;font-weight:500!important;font-size:12px!important}.lil-this.gui .controller .widget{background:#f8f9fa!important;border:1px solid #ced4da!important;border-radius:4px!important;color:#495057!important}.lil-this.gui .controller .widget:focus,.lil-this.gui .controller .widget:hover{border-color:#80bdff!important;-webkit-box-shadow:0 0 0 2px rgba(0,123,255,.25)!important;box-shadow:0 0 0 2px rgba(0,123,255,.25)!important}.lil-this.gui .controller .widget:focus{outline:none!important}.lil-this.gui .controller input[type=range]{background:#e9ecef!important;height:4px!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border-radius:2px!important}.lil-this.gui .controller.number .fill{border-right:solid #008de9}.lil-this.gui .controller input[type=range]::-webkit-slider-thumb{background:#007bff!important;border:2px solid #fff!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2)!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important}.lil-this.gui .controller input[type=range]::-moz-range-thumb{background:#007bff!important;border:2px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;cursor:pointer!important}.lil-this.gui .controller .option{background:#fff!important;color:#495057!important;border-bottom:1px solid #f1f3f4!important}.lil-this.gui .controller .option:hover{background:#f8f9fa!important}.lil-this.gui .controller .option:last-child{border-bottom:none!important}.lil-this.gui input:active{background:#e6eff4}.lil-this.gui .controller button{background:linear-gradient(135deg,#007bff,#0056b3)!important;color:#fff!important;border:none!important;border-radius:4px!important;font-weight:500!important;-webkit-transition:all .2s ease!important;transition:all .2s ease!important}.lil-this.gui .controller button:hover{background:linear-gradient(135deg,#0056b3,#004085)!important;-webkit-transform:translateY(-1px)!important;transform:translateY(-1px)!important;-webkit-box-shadow:0 4px 8px rgba(0,123,255,.3)!important;box-shadow:0 4px 8px rgba(0,123,255,.3)!important}.lil-this.gui .controller .color{border:2px solid #fff!important;border-radius:4px!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1)!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.lil-this.gui .controller.number .slider,.lil-this.gui .controller.number .slider:hover{background-color:#e6eff4}.lil-this.gui input,.lil-this.gui input:hover,.lil-this.gui input[type=number]:focus,.lil-this.gui input[type=text]:focus{background:#e6eff4}.lil-this.gui .controller>.name{min-width:25px}.lil-this.gui .controller.number input{color:#2e3136}.lil-this.gui .controller.number .slider:active{background-color:#e6eff4}.lil-this.gui .folder>.title{background:linear-gradient(135deg,#f1f3f4,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important}.lil-this.gui .folder>.title:before{color:#6c757d!important}.lil-this.gui .folder.closed>.children{display:none!important}#konva-container[data-v-97fd148c]{z-index:3;width:100%;height:100%;cursor:pointer;overflow:hidden}span[data-v-f547d5c6]{font-weight:bolder}.text[data-v-f547d5c6]{margin-top:20px}.line[data-v-f547d5c6]{border-bottom:1px solid #dcdfe6;margin:20px 0}.center[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.center .cen span[data-v-f547d5c6],.center .top span[data-v-f547d5c6]{color:"#53a8ff";display:inline-block;width:30px;height:30px;text-align:center;line-height:30px;border:1px solid;padding:5px;margin-bottom:10px;background-color:#e9f3ff}.center .cen span[data-v-f547d5c6]{margin:10px}.button[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end;margin-top:20px}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216) format("woff2"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216) format("woff"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216) format("truetype")}.iconfont[data-v-f547d5c6]{font-family:iconfont!important;font-size:50px;font-style:normal;color:"#53a8ff";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shubiao[data-v-f547d5c6]:before{content:""}.main_body[data-v-4b17bce0]{position:relative;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.classification_title[data-v-4b17bce0]{margin:0 0 10px 0;color:#fff;font-size:14px;cursor:default}.toolbar[data-v-4b17bce0]{z-index:10;position:absolute;width:520px;padding:8px 16px;border-radius:6px;-webkit-box-shadow:0 2px 10px 0 rgba(6,29,44,.25);box-shadow:0 2px 10px 0 rgba(6,29,44,.25);background-color:#fff;top:10px;left:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translateX(-50%);transform:translateX(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.icon_toolbar[data-v-4b17bce0],.text_toolbar[data-v-4b17bce0]{float:left;width:32px;height:32px;padding:0!important;background-repeat:no-repeat;background-size:24px;background-position:50%}.icon_active[data-v-4b17bce0],.icon_toolbar[data-v-4b17bce0]:hover,.text_toolbar[data-v-4b17bce0]:hover{background-color:#eee}[data-v-4b17bce0].icon_color .el-color-picker__trigger{height:24px;margin-top:4px;width:24px!important}[data-v-4b17bce0].el-color-picker--medium,[data-v-4b17bce0].el-color-picker--medium .el-color-picker__trigger{width:24px!important;height:24px!important}.canvas_container[data-v-4b17bce0]{position:relative;width:100%;height:100%;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.canvas_container canvas[data-v-4b17bce0]{position:absolute;left:0}.canvas_container #ctx_front[data-v-4b17bce0]{z-index:5;background-color:transparent}.canvas_container #ctx_back[data-v-4b17bce0]{z-index:3}.canvas_container #ctx_base[data-v-4b17bce0]{z-index:1}#text[data-v-4b17bce0]{position:absolute;z-index:-1;resize:none;outline:none;border:1px dashed #9c9c9c;overflow:hidden;background:transparent;line-height:30px;display:none}#text[data-v-4b17bce0]:hover{border:1px dashed #53a8ff}#svg-component[data-v-2572c0e2],#svg-tigger[data-v-2572c0e2]{cursor:pointer;height:100%;width:100%;position:relative}#toolbar-show[data-v-2572c0e2]{z-index:20;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;background:#fff}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fl-web-component",
3
- "version": "2.1.1-beta.12",
3
+ "version": "2.1.1-beta.13",
4
4
  "scripts": {
5
5
  "postinstall": "patch-package",
6
6
  "tip1": "仅调试本组件不涉及业务组件,请执行dev",
@@ -290,7 +290,7 @@ export default {
290
290
  const parser2 = new DxfParser2();
291
291
  let dxf2 = parser2.parseSync(data);
292
292
 
293
- let hatchEntitys = dxf2.entities;
293
+ let hatchEntitys = dxf2.entities.filter(item => item.type === 'HATCH');
294
294
  // 处理HATCH部分
295
295
  for (let i = 0; i < hatchEntitys.length; i++) {
296
296
  let entity = hatchEntitys[i];
@@ -299,122 +299,124 @@ export default {
299
299
  let color = configParams ? configParams.color : '#000';
300
300
  let visible = configParams ? configParams.visible : true;
301
301
  let name = entity.layer.replace(/\s*/g, '');
302
- if (entity.type == 'HATCH') {
302
+ // if (entity.type == 'HATCH') {
303
303
  let boundaryLoops = entity.boundaryLoops;
304
- for (let j = 0; j < boundaryLoops.length; j++) {
305
- let list = [];
306
- let edges = boundaryLoops[j].edges;
307
- if (edges != undefined) {
308
- for (let k = 0; k < edges.length; k++) {
309
- let entity = edges[k];
310
- if (entity.type == 3) {
311
- let majorAxisEndPoint = entity.end;
312
- let center = entity.start;
313
- const xR = Math.sqrt(
314
- majorAxisEndPoint.x * majorAxisEndPoint.x +
315
- majorAxisEndPoint.y * majorAxisEndPoint.y
316
- );
317
- const axisRatio = entity.radius;
318
- const yR = xR * axisRatio;
319
- const rotation = Math.atan2(majorAxisEndPoint.y, majorAxisEndPoint.x);
320
-
321
- const arcVertices = _GenerateArcVertices({
322
- vertices: [],
323
- center,
324
- radius: xR,
325
- startAngle: parseFloat(entity.startAngle),
326
- endAngle: parseFloat(entity.endAngle),
327
- yRadius: yR,
328
- ccwAngleDir: entity.isCcw,
329
- });
330
-
331
- if (rotation !== 0) {
332
- //XXX should account angDir?
333
- const cos = Math.cos(rotation);
334
- const sin = Math.sin(rotation);
335
- for (const v of arcVertices) {
336
- const tx = v.x - center.x;
337
- const ty = v.y - center.y;
338
- /* Rotate the vertex around the ellipse center point. */
339
- v.x = tx * cos - ty * sin + center.x;
340
- v.y = tx * sin + ty * cos + center.y;
304
+ if (boundaryLoops && boundaryLoops.length > 0) {
305
+ for (let j = 0; j < boundaryLoops.length; j++) {
306
+ let list = [];
307
+ let edges = boundaryLoops[j].edges;
308
+ if (edges != undefined) {
309
+ for (let k = 0; k < edges.length; k++) {
310
+ let entity = edges[k];
311
+ if (entity.type == 3) {
312
+ let majorAxisEndPoint = entity.end;
313
+ let center = entity.start;
314
+ const xR = Math.sqrt(
315
+ majorAxisEndPoint.x * majorAxisEndPoint.x +
316
+ majorAxisEndPoint.y * majorAxisEndPoint.y
317
+ );
318
+ const axisRatio = entity.radius;
319
+ const yR = xR * axisRatio;
320
+ const rotation = Math.atan2(majorAxisEndPoint.y, majorAxisEndPoint.x);
321
+
322
+ const arcVertices = _GenerateArcVertices({
323
+ vertices: [],
324
+ center,
325
+ radius: xR,
326
+ startAngle: parseFloat(entity.startAngle),
327
+ endAngle: parseFloat(entity.endAngle),
328
+ yRadius: yR,
329
+ ccwAngleDir: entity.isCcw,
330
+ });
331
+
332
+ if (rotation !== 0) {
333
+ //XXX should account angDir?
334
+ const cos = Math.cos(rotation);
335
+ const sin = Math.sin(rotation);
336
+ for (const v of arcVertices) {
337
+ const tx = v.x - center.x;
338
+ const ty = v.y - center.y;
339
+ /* Rotate the vertex around the ellipse center point. */
340
+ v.x = tx * cos - ty * sin + center.x;
341
+ v.y = tx * sin + ty * cos + center.y;
342
+ }
343
+ }
344
+ //let list = [];
345
+ for (let i = 0; i < arcVertices.length; i++) {
346
+ list.push(arcVertices[i].x);
347
+ list.push(-parseFloat(arcVertices[i].y));
341
348
  }
342
349
  }
343
- //let list = [];
344
- for (let i = 0; i < arcVertices.length; i++) {
345
- list.push(arcVertices[i].x);
346
- list.push(-parseFloat(arcVertices[i].y));
350
+ if (entity.type == 1) {
351
+ list.push(entity.start.x);
352
+ list.push(-parseFloat(entity.start.y));
353
+ list.push(entity.end.x);
354
+ list.push(-parseFloat(entity.end.y));
355
+ //konvaLayer.add(line);
347
356
  }
357
+ let line = new Konva.Line({
358
+ points: list,
359
+ name: name,
360
+ entityId: entity.layer,
361
+ strokeWidth: 0.2,
362
+ closed: true,
363
+ fill: color,
364
+ stroke: color,
365
+ customColor: color,
366
+ visible: visible,
367
+ shapeType: 'hatch',
368
+ });
369
+ this.konvaLayer.add(line);
348
370
  }
349
- if (entity.type == 1) {
350
- list.push(entity.start.x);
351
- list.push(-parseFloat(entity.start.y));
352
- list.push(entity.end.x);
353
- list.push(-parseFloat(entity.end.y));
354
- //konvaLayer.add(line);
355
- }
356
- let line = new Konva.Line({
357
- points: list,
358
- name: name,
359
- entityId: entity.layer,
360
- strokeWidth: 0.2,
361
- closed: true,
362
- fill: color,
363
- stroke: color,
364
- customColor: color,
365
- visible: visible,
366
- shapeType: 'hatch',
367
- });
368
- this.konvaLayer.add(line);
369
- }
370
- } else {
371
- let boundaryLoops = entity.boundaryLoops;
372
- let loop = boundaryLoops[0];
373
- if (loop.type == 7) {
374
- let vertices = [];
375
- for (let vtxIdx = 0; vtxIdx < loop.polyline.vertices.length; vtxIdx++) {
376
- const vtx = loop.polyline.vertices[vtxIdx];
377
- if ((vtx.bulge ?? 0) == 0) {
378
- vertices.push(new Vector2(vtx.x, vtx.y));
379
- } else {
380
- const prevVtx =
381
- loop.polyline.vertices[
382
- vtxIdx == 0 ? loop.polyline.vertices.length - 1 : vtxIdx - 1
383
- ];
384
- if ((prevVtx.bulge ?? 0) == 0) {
385
- /* Start vertex is not produced by _GenerateBulgeVertices(). */
371
+ } else {
372
+ let boundaryLoops = entity.boundaryLoops;
373
+ let loop = boundaryLoops[0];
374
+ if (loop.type == 7) {
375
+ let vertices = [];
376
+ for (let vtxIdx = 0; vtxIdx < loop.polyline.vertices.length; vtxIdx++) {
377
+ const vtx = loop.polyline.vertices[vtxIdx];
378
+ if ((vtx.bulge ?? 0) == 0) {
386
379
  vertices.push(new Vector2(vtx.x, vtx.y));
380
+ } else {
381
+ const prevVtx =
382
+ loop.polyline.vertices[
383
+ vtxIdx == 0 ? loop.polyline.vertices.length - 1 : vtxIdx - 1
384
+ ];
385
+ if ((prevVtx.bulge ?? 0) == 0) {
386
+ /* Start vertex is not produced by _GenerateBulgeVertices(). */
387
+ vertices.push(new Vector2(vtx.x, vtx.y));
388
+ }
389
+ const nextVtx =
390
+ loop.polyline.vertices[
391
+ vtxIdx == loop.polyline.vertices.length - 1 ? 0 : vtxIdx + 1
392
+ ];
393
+ vertices = _GenerateBulgeVertices([], vtx, nextVtx, vtx.bulge);
387
394
  }
388
- const nextVtx =
389
- loop.polyline.vertices[
390
- vtxIdx == loop.polyline.vertices.length - 1 ? 0 : vtxIdx + 1
391
- ];
392
- vertices = _GenerateBulgeVertices([], vtx, nextVtx, vtx.bulge);
393
395
  }
394
- }
395
- let list = [];
396
- for (let i = 0; i < vertices.length; i++) {
397
- list.push(vertices[i].x);
398
- list.push(-parseFloat(vertices[i].y));
399
- }
396
+ let list = [];
397
+ for (let i = 0; i < vertices.length; i++) {
398
+ list.push(vertices[i].x);
399
+ list.push(-parseFloat(vertices[i].y));
400
+ }
400
401
 
401
- let line = new Konva.Line({
402
- points: list,
403
- strokeWidth: 0.2,
404
- name: name,
405
- entityId: entity.layer,
406
- closed: true,
407
- fill: color,
408
- stroke: color,
409
- customColor: color,
410
- visible: visible,
411
- shapeType: 'hatch',
412
- });
413
- this.konvaLayer.add(line);
402
+ let line = new Konva.Line({
403
+ points: list,
404
+ strokeWidth: 0.2,
405
+ name: name,
406
+ entityId: entity.layer,
407
+ closed: true,
408
+ fill: color,
409
+ stroke: color,
410
+ customColor: color,
411
+ visible: visible,
412
+ shapeType: 'hatch',
413
+ });
414
+ this.konvaLayer.add(line);
415
+ }
414
416
  }
415
417
  }
416
418
  }
417
- }
419
+ // }
418
420
  }
419
421
  //加载图纸
420
422
  let entities = formatEntity(dxf.entities);