AutodeskApplet.txt 12.8 KB
Newer Older
W
wangzuohuai 已提交
1
Autodesk内嵌网页小程序:基于跨浏览器的小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )网络版开发,底层调用Autodesk的AutoCAD软件VBA接口及DWG TrueView或Design Review的OCX控件实现可程序化驱动的dwg等工程图在线查看、编辑、审阅等,可分别将AutoCAD、DWG TrueView、Design Review软件窗口内嵌到网页指定区域运行并操控。最低可用在Chrome 41、Firefox 50、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ等浏览器,也兼容运行于这些浏览器的最新版本。
W
wangzuohuai 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有ZbaService.txt日志文件输出运行情况。

2、Autodesk内嵌网页小程序控制相关接口:
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP网页在线测试:http://zorrosoft.com/acadfull.html  HTTPS网页在线测试:https://zorrosoft.com/acadframe.html
前端集成可参考以上测试网页进行,HTML网页中需要嵌入以下类似代码;
A、标记小程序的显示位置和大小
.ACADApplet {
            margin: 20px 0 0 20px;
            width: 480px;
            height: 320px;
            border: 1px solid blue;
        }
或者
.ACADApplet {
            width: 480px;
            height: 320px;
            top: 20px;
            left: 20px;
            border: 1px solid blue;
        }
W
wangzuohuai 已提交
27 28 29 30
如果在网页Header区没有标记小程序初始显示位置和大小,请在启动小程序的JSON参数里,添加以下参数:
"Left":20,"Top":20,"Width":480,"Height":320

B、网页中嵌入元素
W
wangzuohuai 已提交
31 32 33 34 35 36 37 38 39 40 41 42 43 44
支持IFrame的:
<iframe name="ACADApplet" id="ACADApplet" src="AcadApplet3.html" frameborder="0" align="left" width="550" height="540" scrolling="no></iframe>
或者直接用
<div id="ACADApplet" class="ACADApplet"</div>

另外需要嵌入用到的JS脚本,脚本程序是完全开源的。

1)、请求启动Autodesk内嵌网页小程序实现网页中局部加载dwg/dxf等文档进行操作:
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Title:网页标题中的关键词
Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示  64根据标题避免重复加载相同的小程序
IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标
BarW和BarH分别是网页右侧和底部预留区域
小程序实际显示首先会基于网页中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正
W
wangzuohuai 已提交
45
App:0启动AutoCAD实现在线编辑(推荐用2015及以上版本,可根据具体版本定制) 1启动DWG TrueView在线查看和转换 2启动Design Review在线审阅
W
wangzuohuai 已提交
46 47
Url:加载小程序所在的网页实际地址
Open:为需要打开的文档路径,磁盘目录斜杠用/
48
注意:Open和Url如果有特殊字符= & 双引号或中文等,需要用URL编码处理后传递
W
wangzuohuai 已提交
49 50
举例:
自动识别当前浏览器并启动AutoCAD程序在线编辑dwg、dxf等文档
W
wangzuohuai 已提交
51
{"req":"Wrl_ACADApplet","rid":5,"para":{"Type":"0","Title":"Autodesk Applet","Flag":0,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/acadframe.html","App":"0","Open":"D:/Zorro/test.dwg"}}
W
wangzuohuai 已提交
52

W
wangzuohuai 已提交
53
自动识别当前浏览器并启动DWG TrueView程序在线查看或转换dwg文档
W
wangzuohuai 已提交
54
{"req":"Wrl_ACADApplet","rid":6,"para":{"Type":"0","Title":"Autodesk Applet","Flag":0,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/acadframe.html","App":"1","Open":"D:/Zorro/test.dwg"}}
W
wangzuohuai 已提交
55 56

自动识别当前浏览器并启动Design Review程序在线审阅dwg、dxf文档
W
wangzuohuai 已提交
57
{"req":"Wrl_ACADApplet","rid":7,"para":{"Type":"0","Title":"Autodesk Applet","Flag":0,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/acadframe.html","App":"2","Open":"D:/Zorro/test.dwg"}}
W
wangzuohuai 已提交
58 59

自动识别当前浏览器指定位置自动适配网页大小启动:
W
wangzuohuai 已提交
60
{"req":"Wrl_ACADApplet","rid":8,"para":{"Type":"0","Title":"Autodesk Applet","Flag":8,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/acadfull.html","App":"0","Open":"D:/Zorro/test.dwg"}}
W
wangzuohuai 已提交
61 62 63 64

当前页指定位置自动适配网页加载测试
http://zorrosoft.com/acadframe.html

W
wangzuohuai 已提交
65
启动后会前后收到三个JSON数据包
W
wangzuohuai 已提交
66
A、{"ret":0,"rid":1,"data":{"ID":3}}
W
wangzuohuai 已提交
67
代表小程序WS侦听服务就绪
W
wangzuohuai 已提交
68
B、{"event":"Wrl_Listen","aid":3,"data":{"SID":"123","PID":"ACadApplet","port":990}}
W
wangzuohuai 已提交
69
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能,比如新打开一个网页。
W
wangzuohuai 已提交
70
代表小程序创建成功,返回ID为当前小程序运行ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。
W
wangzuohuai 已提交
71
C、{"event":"Wrl_AppletOK","aid":3,"data":{"SID":"123","PID":"ACadApplet","Port":990}}
W
wangzuohuai 已提交
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

2)、请求控制Autodesk内嵌网页小程序:
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
ID为启动小程序时返回JSON中的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}

3)、请求滚动Autodesk内嵌网页小程序:
当前端截取到网页滚动通知时,需要调用此接口实现小程序和网页的滚动联动
ID为启动小程序时返回JSON中的ID值
Code为滚动方向1是水平直,2是垂直,3是同时
Left为横向滚动条位置,Top为纵向滚动条位置
{"req":"Wrl_AppletScroll","rid":3,"para":{"ID":"1","Code":2,"Left":0,"Top":100}}

4)、请求改变Autodesk内嵌网页小程序显示位置或大小:
当前端网页显示区域缩放时,可动态修改小程序的显示位置或大小
ID为启动小程序时返回JSON中的ID值,Width和Height分别为新的宽度和高度,X和Y分别为新的显示位置,不指定时保持不变,指定时原设置的IframeX和IframeY失效
{"req":"Wrl_AppletResize","rid":4,"para":{"ID":1,"Width":500,"Height":600}}
或同时设置小程序显示起始坐标
{"req":"Wrl_AppletResize","rid":5,"para":{"ID":1,"Width":500,"Height":600,"X":20,"Y":20}}

5)、请求设置网页预留右侧宽度和底部高度,滚动条信息、垂直滚动及水平滚动位置:
当小程序显示区域超过当前网页时,需去除滚动条的显示影响
ID为启动小程序时返回JSON中的ID值,BarW为预留右侧宽度 BarH为预留底部高度
Code 1代表有水平滚动条,2代表有垂直滚动条,3代表都有
ScrollTop垂直滚动条位置 ScrollTop水平滚动条位置
{"req":"Wrl_ScrollBar","rid":6,"para":{"ID":"1","Code":2,"BarW":0,"BarH":0,"ScrollTop":0,"ScrollLeft":0}}

W
wangzuohuai 已提交
99 100 101 102 103 104 105 106 107 108 109
6)、请求对小程序窗口做Alpha透明处理,便于前端临时显示覆盖到小程序窗口的菜单等:
ID为Wrl_ACADApplet启动小程序时返回的ID值,Alpha为透明度百分比,1-100
{"req":"Wrl_AppletAlpha","rid":7,"para":{"ID":1,"Alpha":30}}

7)、请求对小程序窗口内容进行截图:
ID为启动小程序时返回JSON中的ID值,
File为指定截图文件保存路径或扩展名
Base64指定为1时代表返回BASE64编码的图像内容
{"req":"Wrl_AppletSnap","rid":10,"para":{"ID":1,"Base64":1,"File":".png"}}

8)、请求缩放IE控件内嵌网页小程序,用于浏览器网页按比例缩放,一般不需要处理:
W
wangzuohuai 已提交
110
ID为启动小程序时返回JSON中的ID值,Scall为缩放百分比
W
wangzuohuai 已提交
111
{"req":"Wrl_AppletScale","rid":11,"para":{"ID":1,"Scale":120}}
W
wangzuohuai 已提交
112 113 114 115 116

3、小程序安装、升级、卸载
1)、请求安装Autodesk内嵌网页小程序
请在输入框中,输入如下请求,然后点击发送,完成安装:

W
wangzuohuai 已提交
117
{"req":"Plugin_Install","rid":1,"para":{"Name":"Autodesk内嵌网页小程序","PID":"ACadApplet","Date":"2021-03-27","Desc":"PluginOK之上跨浏览器的Autodesk内嵌网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌AutoCAD等程序进行在线编辑、查看或审阅工程图","DownAddr":"http://local.zorrosoft.com/Files/Net/ACadApplet.pid","MD5":"0027A8725ED1E0EBD2E002663C895B4C","Version":"2.1.3.1","Size":688128,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"2AC1E526005948B79007391E62616EDD1567D6A4C7521EC60E8AA81621E0FDB3387B6C7B1FADB0EB0400F6D54F425B6915C499F4DC704BAF1F2CF0DFC124E517DAFB3918BF5E9AA2A3A4F16AA70A163A876F5374DD08457AE95F2DEF4428EEB9EF65BE8CA8C1F6D280356CFEE364B5D04F7960CCF9AB5D4C195EEFEC08D7230D2ED5FC8BDFEA5F87F5920E54184C77A5797FF8C6039527C64E9CAE84A74DE0CDF0B583131E9F3E4738589C05E707574433CC6E1C7B8658442819CC0FEE0D73C549A9A71D26C68857A5AF2B0F9D5652746D8B9BD15057BC1F285B584FC206AF0F012BACE2B7FA55E9EB20FAB5814E68D441AFF3DBFA74D92C241C65C740E0BB7C"}}
W
wangzuohuai 已提交
118 119 120 121 122 123

启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。

2)、请求升级Autodesk内嵌网页小程序:

W
wangzuohuai 已提交
124
{"req":"Plugin_Update","rid":1,"para":{"Name":"Autodesk内嵌网页小程序","PID":"ACadApplet","Date":"2021-03-27","Desc":"PluginOK之上跨浏览器的Autodesk内嵌网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌AutoCAD等程序进行在线编辑、查看或审阅工程图","DownAddr":"http://local.zorrosoft.com/Files/Net/ACadApplet_Update.pid","MD5":"9FCA97C259EE1E98B7C043B9BEABEEE1","Version":"2.1.3.1","Size":688128,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"71DFA793A810DFAB2530191A555D3A2B1D65E088FB759B511A796AD9EF604158E3B33FA27E7510AFC8DFB64542E2DAFB06652CA8F24ECBE323EEC61BC8F948C9525AC005C1E007BD308C8C26F52C1AA77D5DA087262BB8758F720AD6625979EE6190D6F8A958C6FE1B71A7C52998801F9D6CADABA095FC6676311A39983D6335C57D70BE86578B2CFB7A0B213B9C491E4AE20EF5BABBF942ADE320CCE24BA0F083D08A7239A46340367B96810FE43286762216F5CE6966DDA0760C336474098CA823C811819A1F0A1D34D7EE6A0464E3EC8413C84B294FF244DC9F629839B8FC4C5C1DA73E4CFEA3D716ADE84A8785505FFAD5700B7B23624205BA9F04214483"}}
W
wangzuohuai 已提交
125 126 127 128 129

以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。 

3)、请求卸载Autodesk内嵌网页小程序:

W
wangzuohuai 已提交
130
{"req":"Plugin_Remove","rid":3,"para":{"PID":"ACadApplet","Type":8}}
W
wangzuohuai 已提交
131

W
wangzuohuai 已提交
132
4、Autodesk内嵌网页小程序转调用Autodesk的AutoCAD软件VBA接口及DWG TrueView或Design Review的OCX控件接口,先根据Wrl_ACADApplet请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
W
wangzuohuai 已提交
133 134
A、常用功能请求:

W
wangzuohuai 已提交
135
1)、请求退出小程序
W
wangzuohuai 已提交
136
{"req":"ACAD_Exit","rid":1,"para":{}}
W
wangzuohuai 已提交
137 138 139
返回: {"ret":0,"rid":1",data":{"Ret":"0"}} Ret为0代表成功

2)、请求关闭当前打开的文档
W
wangzuohuai 已提交
140
{"req":"ACAD_Close","rid":2,"para":{}}
W
wangzuohuai 已提交
141 142 143 144 145 146 147 148 149 150 151 152
返回: {"ret":0,"rid":2,"data":{"Ret":"0"}} Ret为0代表成功

3)、请求打开文档
Open打开文档路径,如有特殊字符或中文的需要用URLCode先编码 PW打开密码 Read为1代表只读打开
{"req":"ACAD_Open","rid":3,"para":{"Open":"D:/Zorro/test.dwg","PW":"","Read":0}}
返回: {"ret":0,"rid":3,"data":{"Ret":"0"}} Ret为0代表成功

4)、打开文档转换到PDF
SrcFile打开文档路径,如有特殊字符或中文的需要用URLCode先编码 PW打开密码,如已打开可不设置
DestFile转换目标路径,如有特殊字符或中文的需要用URLCode先编码
{"req":"ACAD_ConvertTo","rid":4,"para":{"SrcFile":"D:/Zorro/test1.dwg","DestFile":"D:/Zorro/test1.pdf","PW":""}}
返回: {"ret":0,"rid":4,"data":{"Ret":"0"}} Ret为0代表成功
W
wangzuohuai 已提交
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

5、事件通知:
A、

B、PluginOK支持的事件通知:

1) 小程序是否响应了热键全屏
{"event":"ACAD_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记

2) Wrl_AppletExit 小程序退出通知
{"event":"Wrl_AppletExit","data":{"ID":1}}

6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938