網頁載入CAD圖紙的兩個方案

ywl0224發表於2021-05-18

說明

夢想控制元件提供兩種技術在網頁中載入CAD圖紙,一個是OCX技術方案,另一個是HTML5技術方案,它們各有優缺點,使用者需根據實際情況進行選擇,下邊分別說明一下。

OCX技術方案

1.OCX技術是IE的外掛標準,使用OCX技術可以在IE加一個二進位制程式碼外掛,在IE或國產瀏覽器相容模式下載入我們的CAD ocx,就能直接顯示圖紙。

2.快速入門教程:

3.線上演示:

執行效果:

圖片1.png

4.前端程式碼引用方式,透過<object>載入:

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.快速入門教程:

3.線上演示:

4.MxCAD雲圖相簿:

執行效果:

圖片2.png

優點:跨平臺,可以在手機,微信朋友圈,小程式,安桌,蘋果系統上使用,只要有chrome核心的瀏覽器就能載入顯示CAD圖紙,不需要在使用者端安裝任何程式。

缺點:最近幾年開發出來,所以相比OCX方案,編輯功能簡單一些,開發介面也沒有OCX成熟,需要在伺服器後臺呼叫我們的圖紙轉換程式對圖紙格式轉換。不過我們在不停完善,當前如果只需要瀏覽,批註,測量CAD圖紙已經足夠使用。

詳細功能對比較表格
功能說明 OCX情況 HTML5情況
前端是否需要安裝程式
瀏覽器要求 IE,支援國產瀏覽器QQ,360,chrome需要指定安裝包,不支援火狐 Chrome,火狐,國產瀏覽器。
是否支援VUE 可以簡單支援,或使用iframe把ocx包起來 完整支援
圖紙瀏覽 直接開啟 後臺轉換載入顯示
編輯功能 完整編輯功能,精簡版本CAD 支援,不完整,正在開發
顯示效率 達到AutoCAD:89% 顯示載入圖紙很快,超過AutoCAD
是否跨平臺 只能windows 所有平臺
前臺開發語言 JS,HTML JS,TS,HTML5,THREE.JS
 後臺開發語言 JAVA,NODE.JS,ASP.NET,PHP,GO等都可以。
前端系統要求 Windows
Windows,安卓,Linux,蘋果等所有系統 
後端系統要求 無,可以不在後臺執行 Windows,Linux
後端轉pdf,jpg 支援,呼叫COM介面 支援,呼叫我們的轉換程式
前端轉pdf,jpg 支援 不支援
協同功能 不支援 可以實現(定製功能)
測量批註功能 支援 支援
是否支援天正自定義實體 不支援,必須儲存T3格式。 不支援,必須儲存T3格式,但可以做到服務後臺自動轉T3(定製功能)
圖紙大小 一般最大50M,具體看圖紙內容複雜度 一般最大50M,具體看圖紙內容複雜度
列印功能 支援直接列印 支援列印,使用canvas列印

canvas列印程式碼:

fun("print").οnclick=function(){
    var dataURL = canvas.toDataURL("image/png");
    var newWindow=window.open();
    newWindow.document.write('<img src="'+dataURL+'"/>');
    newWindow.print();
 }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29511035/viewspace-2772771/,如需轉載,請註明出處,否則將追究法律責任。

相關文章