mxdraw 0.0.7 → 0.0.12
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 +271 -25
- package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js +94 -0
- package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js.map +1 -0
- package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/index.js +3 -91
- package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/index.js.map +1 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js +32 -0
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js.map +1 -0
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js +3 -12
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js.map +1 -1
- package/dist/lib/MxModule/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js +134 -0
- package/dist/lib/MxModule/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js.map +1 -0
- package/dist/lib/MxModule/MrxDbgUiPrPointClass/index.js +3 -147
- package/dist/lib/MxModule/MrxDbgUiPrPointClass/index.js.map +1 -1
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js +264 -0
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js.map +1 -0
- package/dist/lib/MxModule/MxDrawObject/index.js +3 -256
- package/dist/lib/MxModule/MxDrawObject/index.js.map +1 -1
- package/dist/lib/MxModule/MxFun/MxFun.js +59 -32
- package/dist/lib/MxModule/MxFun/MxFun.js.map +1 -1
- package/dist/lib/MxModule/MxFun/index.js +5 -5
- package/dist/lib/MxModule/MxFun/index.js.map +1 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +133 -18
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +1 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +8 -7
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +1 -1
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js +1863 -0
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js.map +1 -0
- package/dist/lib/MxModule/store/{pubsub.js → PubsubClass.js} +7 -4
- package/dist/lib/MxModule/store/PubsubClass.js.map +1 -0
- package/dist/lib/MxModule/store/StoreClass.js +74 -0
- package/dist/lib/MxModule/store/StoreClass.js.map +1 -0
- package/dist/lib/MxModule/store/index.js +3 -2
- package/dist/lib/MxModule/store/index.js.map +1 -1
- package/dist/lib/MxModule/store/store.js +23 -70
- package/dist/lib/MxModule/store/store.js.map +1 -1
- package/dist/lib/MxModule/useCanvasResizeListener/index.js +3 -33
- package/dist/lib/MxModule/useCanvasResizeListener/index.js.map +1 -1
- package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js +36 -0
- package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js.map +1 -0
- package/dist/lib/MxModule/useCoreCode/index.js +3 -79
- package/dist/lib/MxModule/useCoreCode/index.js.map +1 -1
- package/dist/lib/MxModule/useCoreCode/mxfun.es5.js +171 -163
- package/dist/lib/MxModule/useCoreCode/mxfun.es5.js.map +1 -1
- package/dist/lib/MxModule/useCoreCode/useCoreCode.js +100 -0
- package/dist/lib/MxModule/useCoreCode/useCoreCode.js.map +1 -0
- package/dist/lib/doc.js +17 -16
- package/dist/lib/doc.js.map +1 -1
- package/dist/lib/mxdraw.js +2 -3
- package/dist/lib/mxdraw.js.map +1 -1
- package/dist/lib/tools/three/index.js +0 -5
- package/dist/lib/tools/three/index.js.map +1 -1
- package/dist/mxdraw.es5.js +2 -3
- package/dist/mxdraw.es5.js.map +1 -1
- package/dist/mxdraw.umd.js +13 -14
- package/dist/mxdraw.umd.js.map +1 -1
- package/dist/types/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.d.ts +72 -0
- package/dist/types/MxModule/McEdGetPointWorldDrawObjectClass/index.d.ts +3 -71
- package/dist/types/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.d.ts +28 -0
- package/dist/types/MxModule/MrxDbgUiPrBaseReturn/index.d.ts +2 -10
- package/dist/types/MxModule/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.d.ts +97 -0
- package/dist/types/MxModule/MrxDbgUiPrPointClass/index.d.ts +3 -110
- package/dist/types/MxModule/MxDrawObject/MxDrawObject.d.ts +220 -0
- package/dist/types/MxModule/MxDrawObject/index.d.ts +3 -214
- package/dist/types/MxModule/MxFun/MxFun.d.ts +22 -5
- package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +4 -2
- package/dist/types/MxModule/MxThreeJS/SVGLoader.d.ts +22 -0
- package/dist/types/MxModule/store/{pubsub.d.ts → PubsubClass.d.ts} +1 -1
- package/dist/types/MxModule/store/StoreClass.d.ts +27 -0
- package/dist/types/MxModule/store/index.d.ts +3 -1
- package/dist/types/MxModule/store/store.d.ts +10 -27
- package/dist/types/MxModule/useCanvasResizeListener/index.d.ts +3 -7
- package/dist/types/MxModule/useCanvasResizeListener/useCanvasResizeListener.d.ts +8 -0
- package/dist/types/MxModule/useCoreCode/index.d.ts +3 -4
- package/dist/types/MxModule/useCoreCode/useCoreCode.d.ts +9 -0
- package/dist/types/doc.d.ts +9 -6
- package/dist/types/mxdraw.d.ts +4 -3
- package/package.json +5 -3
- package/dist/lib/MxModule/store/_index.js +0 -27
- package/dist/lib/MxModule/store/_index.js.map +0 -1
- package/dist/lib/MxModule/store/pubsub.js.map +0 -1
- package/dist/static/mxfun.es5.js +0 -3
- package/dist/static/mxfun.min.js +0 -1
- package/dist/static/mxfun.umd.js +0 -13
- package/dist/types/MxModule/store/_index.d.ts +0 -9
package/README.md
CHANGED
|
@@ -1,16 +1,176 @@
|
|
|
1
|
-
|
|
1
|
+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
2
|
+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
3
|
+
#mxdraw使用文档
|
|
4
|
+
|
|
5
|
+
- [简介](#%E7%AE%80%E4%BB%8B)
|
|
6
|
+
- [mxdraw 是什么?](#mxdraw-%E6%98%AF%E4%BB%80%E4%B9%88)
|
|
7
|
+
- [项目应用构建](#%E9%A1%B9%E7%9B%AE%E5%BA%94%E7%94%A8%E6%9E%84%E5%BB%BA)
|
|
8
|
+
- [基于Vue-cli构建Vue单页面应用程序](#%E5%9F%BA%E4%BA%8Evue-cli%E6%9E%84%E5%BB%BAvue%E5%8D%95%E9%A1%B5%E9%9D%A2%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F)
|
|
9
|
+
- [安装](#%E5%AE%89%E8%A3%85)
|
|
10
|
+
- [npm](#npm)
|
|
11
|
+
- [用法](#%E7%94%A8%E6%B3%95)
|
|
12
|
+
- [引入](#%E5%BC%95%E5%85%A5)
|
|
13
|
+
- [加载](#%E5%8A%A0%E8%BD%BD)
|
|
14
|
+
- [如何实现一个画线的功能命令?](#%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E7%94%BB%E7%BA%BF%E7%9A%84%E5%8A%9F%E8%83%BD%E5%91%BD%E4%BB%A4)
|
|
15
|
+
- [按需引入配置](#%E6%8C%89%E9%9C%80%E5%BC%95%E5%85%A5%E9%85%8D%E7%BD%AE)
|
|
16
|
+
- [License](#license)
|
|
17
|
+
|
|
18
|
+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
19
|
+
## 简介
|
|
20
|
+
### mxdraw 是什么?
|
|
21
|
+
> 是一套用于构建CAD在线绘图的JS库,可以方便快捷构建起一个网页界面,实现CAD图纸预览和编辑功能的一套解决方案
|
|
22
|
+
### 浏览器兼容
|
|
23
|
+
> 支持大部分现代主流浏览器比如Chrome、Edge等, 不支持IE浏览器
|
|
24
|
+
### 使用人群
|
|
25
|
+
> 面向前端开发者 熟悉了解`JavaScript` 并且会使用 `three.js`框架。
|
|
26
|
+
> 如从未接触过three.js建议先阅读[three.js中文文档](http://www.yanhuangxueyuan.com/threejs/docs/index.html#manual/zh/) 后再进行开发使用。
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## 项目应用构建
|
|
30
|
+
### 基于Vue-cli构建Vue单页面应用程序
|
|
31
|
+
|
|
32
|
+
#### 1.打开命令行安装vue-cli脚手架工具(已安装跳过此步骤)
|
|
33
|
+
``` sh
|
|
34
|
+
npm install -g @vue/cli
|
|
35
|
+
# OR(或)
|
|
36
|
+
yarn global add @vue/cli
|
|
37
|
+
|
|
38
|
+
# 通过查看版本检查是否安装成功
|
|
39
|
+
vue --version
|
|
40
|
+
```
|
|
41
|
+
#### 2.命令行运行命名创建新项目
|
|
42
|
+
``` sh
|
|
43
|
+
# 创建名为mxdraw-test-vue3 的一个新Vue项目
|
|
44
|
+
vue create mxdraw-test-vue3
|
|
45
|
+
|
|
46
|
+
# 如果选择default则会直接创建项目,创建项目包括babel\eslin这些工具,比如Router/Vuex等其他依赖需要自己手动安装
|
|
47
|
+
? P1ease pick a preset:
|
|
48
|
+
# 默认选项
|
|
49
|
+
Default (vue 3)([vue 3] babel, eslint)
|
|
50
|
+
# 手动选择功能
|
|
51
|
+
Manually select features
|
|
52
|
+
|
|
53
|
+
# 如果选择Manually select features(手动安装)则会进入下一步选项:(这里推荐大家进行手动配置)
|
|
54
|
+
? Check the features needed for your project :
|
|
55
|
+
(*) Choose vue version # 选择vue版本
|
|
56
|
+
(*) Babel # 代码编译
|
|
57
|
+
(*) TypeScript # ts
|
|
58
|
+
( ) Progressive Web App (PWA)Support # 支持渐进式网页应用程序
|
|
59
|
+
(*) Router # vue路由
|
|
60
|
+
( ) vuex # 状态管理模式
|
|
61
|
+
( ) css Pre-processors # css预处理
|
|
62
|
+
(*) Linter ; Formatter # 代码风格、格式校验
|
|
63
|
+
( ) Unit Testing # 单元测试
|
|
64
|
+
( ) E2E Testing # 端对端测试
|
|
65
|
+
|
|
66
|
+
### TypeScript 选项配置
|
|
67
|
+
# 选择使用哪个版本的vue框架
|
|
68
|
+
? Choose a version of Vue.js that you want to start the project with
|
|
69
|
+
2.x # vue2.x
|
|
70
|
+
3.x # vue3.x
|
|
71
|
+
|
|
72
|
+
# 询问的是是否使用class风格的组件语法,如果在项目中想要保持使用TypeScript的class风格的话,建议大家选择y。
|
|
73
|
+
? Use class-style component syntax? (Y/n)
|
|
74
|
+
|
|
75
|
+
# 使用Babel与TypeScript一起用于自动检测的填充?这里一定要选择y
|
|
76
|
+
? Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, transpiling JSX)? (Y/n)
|
|
77
|
+
|
|
78
|
+
### Router 选项配置
|
|
79
|
+
# 路由是否使用history模式?如果项目中存在要求就使用history(即:y),但是一般还是推荐大家使用hash模式,毕竟history模式需要依赖运维。
|
|
80
|
+
? Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
### CSS Pre-processors css 选项配置
|
|
84
|
+
# 选择一种CSS预处理类型,根据各个项目的要求使用对应css编译处理
|
|
85
|
+
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)
|
|
86
|
+
> Sass/SCSS (with dart-sass)
|
|
87
|
+
Sass/SCSS (with node-sass)
|
|
88
|
+
Less
|
|
89
|
+
Stylus
|
|
90
|
+
|
|
91
|
+
### Linter / Formatter 选项配置
|
|
92
|
+
# TSLint只有在选择TypeScript时才会存在。
|
|
93
|
+
? Pick a linter / formatter config: (Use arrow keys)
|
|
94
|
+
> ESLint with error prevention only # 只进行报错提醒
|
|
95
|
+
ESLint + Airbnb config # 不严谨模式
|
|
96
|
+
ESLint + Standard config # 正常模式
|
|
97
|
+
ESLint + Prettier # 严格模式
|
|
98
|
+
TSLint (deprecated) # TypeScript格式验证工具
|
|
99
|
+
# 选择校验时机,一般都会选择保存时校验,好及时做出调整
|
|
100
|
+
? Pick additional lint features: (Press <space> to select, <a> to toggle all, <i> to invert selection)
|
|
101
|
+
(*) Lint on save # 保存时检测
|
|
102
|
+
( ) Lint and fix on commit # 修复和提交时检测
|
|
103
|
+
### Unit Testing 选项配置
|
|
104
|
+
# 选择单元测试解决方案,普遍用到最多的是Mocha + chai
|
|
105
|
+
? Pick a unit testing solution: (Use arrow keys)
|
|
106
|
+
> Mocha + Chai
|
|
107
|
+
Jest
|
|
108
|
+
### E2E Testing E2E(End To End)选项配置
|
|
109
|
+
# 选择端对端测试的类型
|
|
110
|
+
? Pick a E2E testing solution: (Use arrow keys)
|
|
111
|
+
> Cypress (Chrome only)
|
|
112
|
+
Nightwatch (WebDriver-based)
|
|
113
|
+
### 额外选项
|
|
114
|
+
# 选择Babel,PostCSS, ESLint等自定义配置的存放位置。这里建议大家选择第一个
|
|
115
|
+
? Where do you prefer placing config for Babel, ESLint, etc.? (Use arrow keys)
|
|
116
|
+
> In dedicated config files # 存放在专用配置文件中
|
|
117
|
+
In package.json # 存放在package.json中
|
|
118
|
+
# 是否保存当前选择的配置项,如果当前配置是经常用到的配置,建议选择y存储一下当前配置项
|
|
119
|
+
? Save this as a preset for future projects? (y/N)
|
|
120
|
+
# 选择n之后则会直接开始创建项目了,选择y之后则会输入一个存储当前配置项的名称:
|
|
121
|
+
? Save preset as:
|
|
122
|
+
```
|
|
123
|
+
#### 3.运行项目
|
|
124
|
+
``` sh
|
|
125
|
+
cd mxdraw-test-vue3
|
|
126
|
+
yarn serve
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
<!-- > 选择Manually select features自定义选项
|
|
130
|
+

|
|
131
|
+
|
|
132
|
+
> 按空格键选择对应需要选项 选取完成后按回车键进行下一项配置
|
|
133
|
+

|
|
134
|
+
|
|
135
|
+
> 这里选择vue3 框架
|
|
136
|
+

|
|
137
|
+
> 这里询问的是是否使用class风格的组件语法,如果在项目中想要保持使用TypeScript的class风格的话,建议大家选择y。
|
|
138
|
+

|
|
139
|
+
> 使用Babel与TypeScript一起用于自动检测的填充
|
|
140
|
+

|
|
141
|
+
> 选择一个代码格式器配置:
|
|
142
|
+

|
|
143
|
+
> 选择校验时机
|
|
144
|
+

|
|
145
|
+
> 设置Babel,ESLint等的配置放在哪里?
|
|
146
|
+

|
|
147
|
+
> 这里选择vue3 框架
|
|
148
|
+
 -->
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
> 详细说明请参考[vue-cli文档指南](https://cli.vuejs.org/zh/guide/prototyping.html)
|
|
157
|
+
>`vue`框架使用请参考[Vue.js 中文文档](https://vuejs.bootcss.com/guide/installation.html)
|
|
158
|
+
|
|
2
159
|
|
|
3
160
|
## 安装
|
|
4
|
-
|
|
5
|
-
|
|
161
|
+
### npm
|
|
162
|
+
``` sh
|
|
163
|
+
yarn add mxdraw 或 npm install mxdraw
|
|
6
164
|
```
|
|
7
165
|
|
|
8
166
|
## 用法
|
|
9
167
|
|
|
10
168
|
### 引入
|
|
169
|
+
|
|
11
170
|
``` javascript
|
|
12
171
|
import Mx from "mxdraw"
|
|
13
172
|
```
|
|
173
|
+
|
|
14
174
|
### 加载
|
|
15
175
|
> html
|
|
16
176
|
``` html
|
|
@@ -21,25 +181,117 @@ import Mx from "mxdraw"
|
|
|
21
181
|
> js
|
|
22
182
|
``` javascript
|
|
23
183
|
import Mx from "mxdraw"
|
|
24
|
-
//
|
|
25
|
-
Mx.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
184
|
+
// 动态加载 js库核心代码
|
|
185
|
+
Mx.useCoreCode().then(()=> {
|
|
186
|
+
// 设置服务器地址
|
|
187
|
+
Mx.MxFun.setMxServer("服务器地址")
|
|
188
|
+
// 创建控件对象
|
|
189
|
+
Mx.MxFun.createMxObject({
|
|
190
|
+
canvasId: "mxcad", // canvas元素的id
|
|
191
|
+
drawName:"test2.dwg", // 服务器中图纸名称
|
|
192
|
+
callback: (mxDraw, {
|
|
193
|
+
canvas,
|
|
194
|
+
canvasParent
|
|
195
|
+
}) => {
|
|
196
|
+
// 可以拿到canvas元素和它的父级元素
|
|
197
|
+
console.log(canvas, canvasParent)
|
|
198
|
+
console.log(mxDraw)
|
|
199
|
+
// 拿到图层数据
|
|
200
|
+
mxDraw.addEvent('uiSetLayerData', (listLayer) => {
|
|
201
|
+
console.log(listLayer)
|
|
202
|
+
})
|
|
203
|
+
},
|
|
204
|
+
isNewFile: true // 是否新建文件
|
|
205
|
+
})
|
|
40
206
|
})
|
|
41
207
|
```
|
|
42
208
|
|
|
209
|
+
### 如何实现一个画线的功能命令?
|
|
210
|
+
#### 1.实现画线功能
|
|
211
|
+
参考资料:
|
|
212
|
+
* [MrxDbgUiPrPointClass | getPoint](./classes/MrxDbgUiPrPointClass.html) 构建取点对象
|
|
213
|
+
* [status](./enums/MrxDbgUiPrBaseReturn.html) MrxDbgUiPrBaseReturn 表示对应状态
|
|
214
|
+
* [McEdGetPointWorldDrawObjectClass | pWorldDraw](./classes/McEdGetPointWorldDrawObjectClass.html) 用于构建一个动态绘制回调对象
|
|
215
|
+
* [MxThreeJS](./classes/MxThreeJS.html) three.js基础封装的一些功能
|
|
216
|
+
* [pt1 | pt2 | lastPt](http://www.yanhuangxueyuan.com/threejs/docs/index.html#api/zh/math/Vector3) THREE.Vector3 数据类型
|
|
217
|
+
|
|
218
|
+
``` javascript
|
|
219
|
+
import Mx from "mxdraw"
|
|
220
|
+
// 画线的函数
|
|
221
|
+
function BR_Line() {
|
|
222
|
+
// 构建取点对象
|
|
223
|
+
const getPoint = new Mx.MrxDbgUiPrPointClass();
|
|
224
|
+
// 构建动态绘制对象
|
|
225
|
+
const worldDrawComment = new Mx.McEdGetPointWorldDrawObjectClass();
|
|
226
|
+
// 开始动态拖动 行为: 鼠标点击画布时只执行一次回调函数,后续点击无效
|
|
227
|
+
getPoint.go((status) => {
|
|
228
|
+
if (status !== 0) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
// 获取鼠标在画布上的第一个点
|
|
232
|
+
const pt1 = getPoint.value();
|
|
233
|
+
// 将第一个点作为起始点
|
|
234
|
+
let lastPt = pt1.clone();
|
|
235
|
+
// 设置动态绘制的回调函数
|
|
236
|
+
worldDrawComment.setDraw((currentPoint, pWorldDraw) => {
|
|
237
|
+
// 绘制当前鼠标移动点到起始点的线段
|
|
238
|
+
pWorldDraw.drawLine(currentPoint, lastPt);
|
|
239
|
+
});
|
|
240
|
+
// 设置取点对象交互过程中的动态绘制调用对象
|
|
241
|
+
getPoint.setUserDraw(worldDrawComment)
|
|
242
|
+
|
|
243
|
+
// 开启动态拖动,连续取点,直到ESC退出。 行为: 鼠标点击一下执行一次回调函数
|
|
244
|
+
getPoint.goWhile((status) => {
|
|
245
|
+
if (status === 0) {
|
|
246
|
+
// 获取第二个点的位置
|
|
247
|
+
const pt2 = getPoint.value();
|
|
248
|
+
|
|
249
|
+
// 拿到Three的场景对象
|
|
250
|
+
let sence = Mx.MxFun.getCurrentDraw().getScene();
|
|
251
|
+
|
|
252
|
+
// 创建一条 从起始点到 当前点击位置的线段
|
|
253
|
+
let line = Mx.MxThreeJS.createLine(lastPt, pt2, 0xffffff);
|
|
254
|
+
|
|
255
|
+
// 将线段添加到场景中
|
|
256
|
+
sence.add(line);
|
|
257
|
+
|
|
258
|
+
// 将第二点作为起始点
|
|
259
|
+
lastPt = pt2
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
#### 2.注册使用命名
|
|
269
|
+
参考资料:
|
|
270
|
+
* [MxFun.addCommand](./classes/MxFun.html#addCommand) 注册命名方法
|
|
271
|
+
* [MxFun.sendStringToExecute](./classes/MxFun.html#sendStringToExecute) 执行命名方法
|
|
272
|
+
* [MxFun.isRunningCommand](./classes/MxFun.html#isRunningCommand) 检查是否有命令在运行
|
|
273
|
+
|
|
274
|
+
``` javascript
|
|
275
|
+
import Mx from "mxdraw"
|
|
276
|
+
// 注册命名
|
|
277
|
+
Mx.MxFun.addCommand("BR_Line", ()=> {
|
|
278
|
+
if(Mx.MxFun.isRunningCommand()) {
|
|
279
|
+
return
|
|
280
|
+
}
|
|
281
|
+
BR_Line()
|
|
282
|
+
})
|
|
283
|
+
// 执行命令
|
|
284
|
+
Mx.MxFun.sendStringToExecute("BR_Line")
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
> 更多Api使用说明请参考[Mx模块集](./modules.html)对应模块中的Api接口说明
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
43
295
|
## 按需引入配置
|
|
44
296
|
> 使用`babel` 插件`babel-plugin-import` 实现按需引入
|
|
45
297
|
> 需要安装 `npm i babel-plugin-import -D` 然后找到或创建项目根目录的`.babelrc`文件新增如下内容
|
|
@@ -64,11 +316,5 @@ import { MxFun } from "mxdraw"
|
|
|
64
316
|
```
|
|
65
317
|
> 或者直接通过`import MxFun from "mxdraw/dist/lib/MxModule/MxFun"` 这样的方式直接引入对应模块
|
|
66
318
|
|
|
67
|
-
|
|
68
|
-
## 注意
|
|
69
|
-
> 需要要开发人员有一定的three.js基础
|
|
70
|
-
|
|
71
|
-
> mxdraw 在文档中导入默认为`Mx`变量
|
|
72
|
-
|
|
73
319
|
## License
|
|
74
320
|
版权所有 (c) 2021 成都梦想凯德科技有限公司
|
package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** @module McEdGetPointWorldDrawObjectClass*/
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
var store_1 = require("../store/store");
|
|
5
|
+
var _McEdGetPointWorldDraw;
|
|
6
|
+
/**
|
|
7
|
+
* McEdGetPointWorldDrawObjectClass 用于构建一个动态绘制回调对象
|
|
8
|
+
* ```typescript
|
|
9
|
+
* new Mx.McEdGetPointWorldDrawObjectClass()
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
var McEdGetPointWorldDrawObjectClass = /** @class */ (function () {
|
|
13
|
+
function McEdGetPointWorldDrawObjectClass() {
|
|
14
|
+
_McEdGetPointWorldDraw = new (store_1.default.state.MxFun.getMxJigCmdManager().McEdGetPointWorldDrawObjectClass())();
|
|
15
|
+
/** @internal */
|
|
16
|
+
this._get = function () {
|
|
17
|
+
return _McEdGetPointWorldDraw;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 绘制圆
|
|
22
|
+
* @param cen 圆心位置
|
|
23
|
+
* @param dRadius 圆半径
|
|
24
|
+
* @returns void
|
|
25
|
+
* @example
|
|
26
|
+
* ``` typescript
|
|
27
|
+
* new Mx.McEdGetPointWorldDrawObjectClass().drawCircle(new HTREE.Vector3(0,100,5), 6)
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
McEdGetPointWorldDrawObjectClass.prototype.drawCircle = function (cen, dRadius) {
|
|
32
|
+
return _McEdGetPointWorldDraw.drawCircle(cen, dRadius);
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* 绘制直线
|
|
36
|
+
* @param pt1 开始点
|
|
37
|
+
* @param pt2 结束点
|
|
38
|
+
* @returns void
|
|
39
|
+
* @example
|
|
40
|
+
* ``` typescript
|
|
41
|
+
* new Mx.McEdGetPointWorldDrawObjectClass().drawLine(new HTREE.Vector3(0,100,5), new HTREE.Vector3(0,600,5))
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
*/
|
|
45
|
+
McEdGetPointWorldDrawObjectClass.prototype.drawLine = function (pt1, pt2) {
|
|
46
|
+
return _McEdGetPointWorldDraw.drawLine(pt1, pt2);
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* 绘制一个Three.js对象.
|
|
50
|
+
* @param ent THREE.Object3D对象
|
|
51
|
+
* @returns void
|
|
52
|
+
* @example
|
|
53
|
+
* ``` typescript
|
|
54
|
+
* new Mx.McEdGetPointWorldDrawObjectClass().drawEntity(new THREE.Object3D()))
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
*/
|
|
58
|
+
McEdGetPointWorldDrawObjectClass.prototype.drawEntity = function (ent) {
|
|
59
|
+
return _McEdGetPointWorldDraw.drawEntity(ent);
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* 绘制一个文档对象
|
|
63
|
+
* @param sText 文本
|
|
64
|
+
* @param iSize 大小
|
|
65
|
+
* @param dAngle 角度
|
|
66
|
+
* @param pt 位置
|
|
67
|
+
* @returns void
|
|
68
|
+
* @example
|
|
69
|
+
* ``` typescript
|
|
70
|
+
* new Mx.McEdGetPointWorldDrawObjectClass().drawText("字符串" ,36 ,90 ,new HTREE.Vector3(0,100,5))
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
*/
|
|
74
|
+
McEdGetPointWorldDrawObjectClass.prototype.drawText = function (sText, iSize, dAngle, pt) {
|
|
75
|
+
return _McEdGetPointWorldDraw.drawText(sText, iSize, dAngle, pt);
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* 设置动态绘制回调函数。
|
|
79
|
+
* @param call 回调函数 currentPoint 回调参数 当前位置 pWorldDraw 回调参数文档绘制对象
|
|
80
|
+
* @returns void
|
|
81
|
+
* @example
|
|
82
|
+
* ``` typescript
|
|
83
|
+
* new Mx.McEdGetPointWorldDrawObjectClass().setDraw((currentPoint, pWorldDraw)=> {
|
|
84
|
+
*
|
|
85
|
+
* })
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
McEdGetPointWorldDrawObjectClass.prototype.setDraw = function (call) {
|
|
89
|
+
return _McEdGetPointWorldDraw.setDraw(call);
|
|
90
|
+
};
|
|
91
|
+
return McEdGetPointWorldDrawObjectClass;
|
|
92
|
+
}());
|
|
93
|
+
exports.default = McEdGetPointWorldDrawObjectClass;
|
|
94
|
+
//# sourceMappingURL=McEdGetPointWorldDrawObjectClass.js.map
|
package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McEdGetPointWorldDrawObjectClass.js","sourceRoot":"","sources":["../../../../src/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.ts"],"names":[],"mappings":";AAAA,8CAA8C;;AAG9C,wCAAkC;AAElC,IAAI,sBAAmD,CAAA;AAEvD;;;;;GAKG;AACH;IAEE;QACE,sBAAsB,GAAG,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,gCAAgC,EAAE,CAAC,EAAE,CAAA;QAE1G,gBAAgB;QAChB,IAAI,CAAC,IAAI,GAAG;YACV,OAAO,sBAAsB,CAAA;QAC/B,CAAC,CAAA;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,qDAAU,GAAV,UAAW,GAAkB,EAAE,OAAe;QAC5C,OAAO,sBAAsB,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;IACD;;;;;;;;;;OAUG;IACH,mDAAQ,GAAR,UAAS,GAAkB,EAAE,GAAkB;QAC7C,OAAO,sBAAsB,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAClD,CAAC;IAED;;;;;;;;;OASG;IACH,qDAAU,GAAV,UAAW,GAA0B;QACnC,OAAO,sBAAsB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,mDAAQ,GAAR,UAAS,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,EAAiB;QACtE,OAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IAClE,CAAC;IAED;;;;;;;;;;OAUG;IACH,kDAAO,GAAP,UACE,IAAyF;QAEzF,OAAO,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;IACH,uCAAC;AAAD,CAAC,AAvFD,IAuFC"}
|
|
@@ -1,94 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/** @module McEdGetPointWorldDrawObjectClass*/
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* McEdGetPointWorldDrawObjectClass 用于构建一个动态绘制回调对象
|
|
7
|
-
* ```typescript
|
|
8
|
-
* new Mx.McEdGetPointWorldDrawObjectClass()
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
var McEdGetPointWorldDrawObjectClass = /** @class */ (function () {
|
|
12
|
-
function McEdGetPointWorldDrawObjectClass() {
|
|
13
|
-
var _MxFun = _index_1.default.state.MxFun;
|
|
14
|
-
_McEdGetPointWorldDraw = new (_MxFun.getMxJigCmdManager().McEdGetPointWorldDrawObjectClass())();
|
|
15
|
-
/** @internal */
|
|
16
|
-
this._get = function () {
|
|
17
|
-
return _McEdGetPointWorldDraw;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* 绘制圆
|
|
22
|
-
* @param cen 圆心位置
|
|
23
|
-
* @param dRadius 圆半径
|
|
24
|
-
* @returns void
|
|
25
|
-
* @example
|
|
26
|
-
* ``` typescript
|
|
27
|
-
* new Mx.McEdGetPointWorldDrawObjectClass().drawCircle(new HTREE.Vector3(0,100,5), 6)
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
*/
|
|
31
|
-
McEdGetPointWorldDrawObjectClass.prototype.drawCircle = function (cen, dRadius) {
|
|
32
|
-
return _McEdGetPointWorldDraw.drawCircle(cen, dRadius);
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* 绘制直线
|
|
36
|
-
* @param pt1 开始点
|
|
37
|
-
* @param pt2 结束点
|
|
38
|
-
* @returns void
|
|
39
|
-
* @example
|
|
40
|
-
* ``` typescript
|
|
41
|
-
* new Mx.McEdGetPointWorldDrawObjectClass().drawLine(new HTREE.Vector3(0,100,5), new HTREE.Vector3(0,600,5))
|
|
42
|
-
* ```
|
|
43
|
-
*
|
|
44
|
-
*/
|
|
45
|
-
McEdGetPointWorldDrawObjectClass.prototype.drawLine = function (pt1, pt2) {
|
|
46
|
-
return _McEdGetPointWorldDraw.drawLine(pt1, pt2);
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* 绘制一个Three.js对象.
|
|
50
|
-
* @param ent THREE.Object3D对象
|
|
51
|
-
* @returns void
|
|
52
|
-
* @example
|
|
53
|
-
* ``` typescript
|
|
54
|
-
* new Mx.McEdGetPointWorldDrawObjectClass().drawEntity(new THREE.Object3D()))
|
|
55
|
-
* ```
|
|
56
|
-
*
|
|
57
|
-
*/
|
|
58
|
-
McEdGetPointWorldDrawObjectClass.prototype.drawEntity = function (ent) {
|
|
59
|
-
return _McEdGetPointWorldDraw.drawEntity(ent);
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* 绘制一个文档对象
|
|
63
|
-
* @param sText 文本
|
|
64
|
-
* @param iSize 大小
|
|
65
|
-
* @param dAngle 角度
|
|
66
|
-
* @param pt 位置
|
|
67
|
-
* @returns void
|
|
68
|
-
* @example
|
|
69
|
-
* ``` typescript
|
|
70
|
-
* new Mx.McEdGetPointWorldDrawObjectClass().drawText("字符串" ,36 ,90 ,new HTREE.Vector3(0,100,5))
|
|
71
|
-
* ```
|
|
72
|
-
*
|
|
73
|
-
*/
|
|
74
|
-
McEdGetPointWorldDrawObjectClass.prototype.drawText = function (sText, iSize, dAngle, pt) {
|
|
75
|
-
return _McEdGetPointWorldDraw.drawText(sText, iSize, dAngle, pt);
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* 设置动态绘制回调函数。
|
|
79
|
-
* @param call 回调函数 currentPoint 回调参数 当前位置 pWorldDraw 回调参数文档绘制对象
|
|
80
|
-
* @returns void
|
|
81
|
-
* @example
|
|
82
|
-
* ``` typescript
|
|
83
|
-
* new Mx.McEdGetPointWorldDrawObjectClass().setDraw((currentPoint, pWorldDraw)=> {
|
|
84
|
-
*
|
|
85
|
-
* })
|
|
86
|
-
* ```
|
|
87
|
-
*/
|
|
88
|
-
McEdGetPointWorldDrawObjectClass.prototype.setDraw = function (call) {
|
|
89
|
-
return _McEdGetPointWorldDraw.setDraw(call);
|
|
90
|
-
};
|
|
91
|
-
return McEdGetPointWorldDrawObjectClass;
|
|
92
|
-
}());
|
|
93
|
-
exports.default = McEdGetPointWorldDrawObjectClass;
|
|
4
|
+
var McEdGetPointWorldDrawObjectClass_1 = require("./McEdGetPointWorldDrawObjectClass");
|
|
5
|
+
exports.default = McEdGetPointWorldDrawObjectClass_1.default;
|
|
94
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/MxModule/McEdGetPointWorldDrawObjectClass/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/MxModule/McEdGetPointWorldDrawObjectClass/index.ts"],"names":[],"mappings":";AAAA,8CAA8C;;AAE9C,uFAAiF;AACjF,kBAAe,0CAAgC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** @module MrxDbgUiPrBaseReturn*/
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
/**
|
|
5
|
+
* MrxDbgUiPrBaseReturn枚举
|
|
6
|
+
* @description
|
|
7
|
+
* 用于适配{@link MrxDbgUiPrPointClass.go} 和 {@link MrxDbgUiPrPointClass.goWhile} 方法中的回调参数`status`
|
|
8
|
+
* @example
|
|
9
|
+
* ```
|
|
10
|
+
* const Point = new Mx.MrxDbgUiPrPointClass()
|
|
11
|
+
* Point.go((status)=> {
|
|
12
|
+
* if(Mx.MrxDbgUiPrBaseReturn.kCancel === status) {
|
|
13
|
+
* // 取消
|
|
14
|
+
* }
|
|
15
|
+
* })
|
|
16
|
+
*
|
|
17
|
+
* ```
|
|
18
|
+
* @enum
|
|
19
|
+
* */
|
|
20
|
+
var MrxDbgUiPrBaseReturn;
|
|
21
|
+
(function (MrxDbgUiPrBaseReturn) {
|
|
22
|
+
/** 取消 */
|
|
23
|
+
MrxDbgUiPrBaseReturn[MrxDbgUiPrBaseReturn["kCancel"] = -2] = "kCancel";
|
|
24
|
+
/** 空输入,当输入关键字和实体时会返回此值 */
|
|
25
|
+
MrxDbgUiPrBaseReturn[MrxDbgUiPrBaseReturn["kNone"] = -1] = "kNone";
|
|
26
|
+
/** 获取用户输入成功 */
|
|
27
|
+
MrxDbgUiPrBaseReturn[MrxDbgUiPrBaseReturn["kOk"] = 0] = "kOk";
|
|
28
|
+
/** 用户输入了关键字*/
|
|
29
|
+
MrxDbgUiPrBaseReturn[MrxDbgUiPrBaseReturn["kKeyWord"] = 1] = "kKeyWord";
|
|
30
|
+
})(MrxDbgUiPrBaseReturn || (MrxDbgUiPrBaseReturn = {}));
|
|
31
|
+
exports.default = MrxDbgUiPrBaseReturn;
|
|
32
|
+
//# sourceMappingURL=MrxDbgUiPrBaseReturn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MrxDbgUiPrBaseReturn.js","sourceRoot":"","sources":["../../../../src/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.ts"],"names":[],"mappings":";AAAA,kCAAkC;;AAElC;;;;;;;;;;;;;;;KAeK;AACL,IAAK,oBAaJ;AAbD,WAAK,oBAAoB;IACvB,SAAS;IAET,sEAAY,CAAA;IACZ,0BAA0B;IAE1B,kEAAU,CAAA;IACV,eAAe;IAEf,6DAAO,CAAA;IACP,cAAc;IAEd,uEAAY,CAAA;AACd,CAAC,EAbI,oBAAoB,KAApB,oBAAoB,QAaxB;AAED,kBAAe,oBAAoB,CAAA"}
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/** @module MrxDbgUiPrBaseReturn*/
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var MrxDbgUiPrBaseReturn;
|
|
4
|
-
|
|
5
|
-
/** 取消 */
|
|
6
|
-
MrxDbgUiPrBaseReturn[MrxDbgUiPrBaseReturn["kCancel"] = -2] = "kCancel";
|
|
7
|
-
/** 空输入,当输入关键字和实体时会返回此值 */
|
|
8
|
-
MrxDbgUiPrBaseReturn[MrxDbgUiPrBaseReturn["kNone"] = -1] = "kNone";
|
|
9
|
-
/** 获取用户输入成功 */
|
|
10
|
-
MrxDbgUiPrBaseReturn[MrxDbgUiPrBaseReturn["kOk"] = 0] = "kOk";
|
|
11
|
-
/** 用户输入了关键字*/
|
|
12
|
-
MrxDbgUiPrBaseReturn[MrxDbgUiPrBaseReturn["kKeyWord"] = 1] = "kKeyWord";
|
|
13
|
-
})(MrxDbgUiPrBaseReturn || (MrxDbgUiPrBaseReturn = {}));
|
|
14
|
-
exports.default = MrxDbgUiPrBaseReturn;
|
|
4
|
+
var MrxDbgUiPrBaseReturn_1 = require("./MrxDbgUiPrBaseReturn");
|
|
5
|
+
exports.default = MrxDbgUiPrBaseReturn_1.default;
|
|
15
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/MxModule/MrxDbgUiPrBaseReturn/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/MxModule/MrxDbgUiPrBaseReturn/index.ts"],"names":[],"mappings":";AAAA,kCAAkC;;AAElC,+DAAyD;AACzD,kBAAe,8BAAoB,CAAA"}
|