前言
梦想CAD控件提供两种技术在网页中加载CAD图纸,一个是OCX技术方案,另一个是HTML5技术方案,它们各有优缺点,用户需根据实际情况进行选择,下边分别说明一下。
OCX技术方案 1.OCX技术是IE的插件标准,使用OCX技术可以在IE加一个二进制代码插件,在IE或国产浏览器兼容模式下加载我们的CAD ocx,就能直接显示图纸。
OCX方案运行效果:
4.前端代码引用方式,通过加载:
classid = "74A777F8-7A8F-4e7c-AF47-7074828086E2",
Sys.ie || Sys.ie9 ? (document.write("<!-- 用来产生编辑状态的ActiveX控件的JS脚本--> "),
document.write("<!-- 因为微软的ActiveX新机制,需要一个外部引入的js--> "),
document.write('<object id="'+ id + '" classid="clsid:' + classid + '" '),
//document.write('width="85%" height="85%" align="left"> '),
document.write('codebase=" ' + cabpath + 'width="85%" height="85%" align="left"> '),
document.write('<param name="_Version" value="65536"> '),
document.write('<param name="_ExtentX" value="24262"> '),
document.write('<param name="_ExtentY" value="16219"> '),
document.write('<param name="_StockProps" value="0">'),
document.write('<param name="DwgFilePath" value="' + dwgfile + '" > '),
document.write('<param name="IsRuningAtIE" value="1">'),
document.write('<param name="EnablePrintCmd" value="1"> '),
document.write('<param name="ShowCommandWindow" value="1"> '),
document.write('<param name="ShowToolBars" value="1"> '),
document.write('<param name="ShowModelBar" value="1">'),
document.write('<param name="Iniset" value=""> '),
document.write('<param name="ToolBarFiles" value="">'),
document.write('<param name="ShowMenuBar" value="1">'),
document.write('<param name="EnableUndo" value="1">'),
document.write('<param name="ShowPropertyWindow" value="1">'),
document.write('<SPAN STYLE="color:red">不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置。请点击<a href=' + msipath + '>安装控件</a></SPAN>'),
document.write('</object>')) :
优点:梦想CAD ocx有十年开发积累,开发接口非常丰富,功能最成熟,可以在网页里直接打开编辑CAD图纸,对服务器没有要求,也不需要在服务器安装插件。
缺点:对浏览器有要求,必须是IE,或IE内核浏览器,如果想在chrome浏览器上使用,必须使用我们指定安装的谷歌浏览器,而国产浏览器,QQ,360浏览器是可以在极速模式下使用,用户在第一次使用时,需要安装一下我们的插件,IE支持CAB安装包的自动安装。
HTML5技术方案
1.网页直接使用canvas渲染CAD图纸,chrome浏览器推使用该技术在网页显示二维,三维图形。
2.H5在线CAD功能DEMO:demo.mxdraw3d.com:3000/mxcad/
运行效果:
优点:跨平台,可以在手机,微信朋友圈,小程序,安桌,苹果系统上使用,只要有chrome内核的浏览器就能加载显示CAD图纸,不需要在用户端安装任何程序。
缺点:最近几年开发出来,所以相比OCX方案,编辑功能简单一些,开发接口也没有OCX成熟,需要在服务器后台调用我们的图纸转换程序对图纸格式转换。不过我们在不停完善,当前如果只需要浏览,批注,测量CAD图纸已经足够使用。
canvas打印代码:
var dataURL = canvas.toDataURL("image/png");
var newWindow=window.open();
newWindow.document.write('<img src="'+dataURL+'"/>');
newWindow.print();
}