原创 使用ThreeJs搭建BIM模型瀏覽器-第十步 加載優化
最近在嘗試了新的傳輸方式。不過對QModel而言,影響不是很大,因爲QModel這個產品只有首次加載是需要從服務器下載模型數據的。 首先,把原本的模型文件拆分成多份了。原本只有一個zip數據壓縮包,現在改爲在服務端拆解爲N份,根據構件
原创 使用ThreeJs搭建BIM模型瀏覽器-Revit篇-構件顏色
Revit的構件顏色常見有三種。 1、材質顏色 2、視圖的可見性過濾器 3、管道系統的特殊顏色 從我的作品中摘抄片段吧 1、獲取構件材質 必須按面去獲取 material = m_Document.GetElement(face.Mat
原创 javascript的異步傳遞
異步這東西很令人討厭啊,尤其是對我一個Java和C#的程序員來說,經常直來直往的衝進坑裏。 各種各樣的異步回調這裏就不枚舉了。自定義一般使用promise實現,這裏舉例直接用setTimeout。 比如下面段代碼,會輸出什麼呢:
原创 使用ThreeJs搭建BIM模型瀏覽器 QModel的誕生記
QModel模型瀏覽器展示頁面:QModel鏈接入口,支持Revit文件上傳,在Web端瀏覽,並集成與模型相關的業務。 首先關於筆者的介紹: 2010年機緣巧合進行建築信息化行業,當時主要還是在做工程造價相關的軟件。 2015年BIM概念
原创 使用ThreeJs搭建BIM模型瀏覽器,第七步-測量
前面說到構件選擇,實現了點擊時與界面記錄的焦點。《使用ThreeJs搭建BIM模型瀏覽器,第二步-構件選擇》 主要的實現思路是:通過一個全局標記,記錄前一次點擊(作爲起點)和後一次點擊(作爲終點),求兩點之前的距離。 然後在終點附近插件一
原创 Revit二次開發-幾何信息導出爲JSON的方法和源碼分享
在此聲明這份原代碼是在git上下載到的,國內某位大神分享的東西,我調試的時候略微改過一點東西,我當年也是從這一份源碼入坑的。下載地址:https://download.csdn.net/download/ztz87/12516773 這個
原创 JSON.parse反序列化與split的效率對比
最新在封裝自己的BIM模型瀏覽器,定義一個符合自己需求的輕量BIM模型文件。其中有一個問題,當構件數量達到數十萬,頂點數量達到億級,JSON序列化與反序列化的效率實在讓人難以接受。 在某些場合,JSON對象跟字符串都能符合需求。例如一個T
原创 使用ThreeJs搭建BIM模型瀏覽器,第九步-內存優化(1)
添加到場景的mesh,是通過geometry+materail生成的。如果場景內大量重複的構件,或者大量的構件的材質都是相同的,threejs提供這種方案節省內存:共享geometry 和materail。舉例說明: 創建300個一樣的圓
原创 使用ThreeJs搭建BIM模型瀏覽器,第八步-邊緣線
這個輔助線條,一般稱爲輔助線,類似草圖裏的草稿線條。下面分別是有線條和沒有線條的對比。 在Threejs對面的邊緣添加線條,其實很簡單。可以從官方示例中找到。 var geometry = new THREE.BoxBufferGe
原创 使用ThreeJs搭建BIM模型瀏覽器 第六步 紋理貼圖(材質)
上效果圖 解決思路: Threejs上沒啥好說的。看郭老師的博客:http://www.yanhuangxueyuan.com/Three.js_course/texture.html Revit上如何導出呢,不好意思,這次真不能貼核心代
原创 使用ThreeJs搭建BIM模型瀏覽器 IFC篇
前面提到的模型瀏覽器所瀏覽的文件,都是基於自己對Revit文件的進行解析,所導出的蹭文件是JSON結構的。有朋友 提到可否瀏覽IFC文件呢? 小作嘗試確認是可以的。但是IFC存在非常大的問題: 第一,沒有模型結構樹。 第二,沒有構件屬性信
原创 Revit文件導出二維視圖(view2D)
不廢話,直接上源代碼。 如果有設置了二維視圖的生成設置,請添加setupName進行過濾。如果沒有,請直接按第一個設置選項導出。 private bool ExportDWGF(Document document,Vie
原创 使用ThreeJs搭建BIM模型瀏覽器 第五步 漫遊
基礎的鍵盤操作漫遊其實很好解決。Threejs有一個FlyControl這個控制器,就是完成鍵盤操作的。 廢話不說,上圖 關鍵代碼 <script src="js/controls/FlyControls.js"></scr
原创 使用ThreeJs搭建BIM模型瀏覽器 第四步 剖切
技術方案:threejs的剖切,是由renderer.clippingPlanes實現的。 this.clipHelpers = new THREE.Group(); this.clipHelpers.add(
原创 jhipster-架構優化技巧總結
經過一段時間的部門動盪,框架的事終於轉交給其他部門了。雖然以後不再是我操心的事,但是我要把這些經歷記錄下來,與朋友們分享。個別jhipster的配置問題不要讓新手們花太多時間了。 一、關於UAA 建議採用OAuth2的模式。安全性較