天天看點

Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫

共同精進Revit及程式設計開發技能興趣群:660319009

BIM運維,一個很重要的方向就是工程量。

怎麼讀取工程量?

1)軟體本身讀取:即所見即所得,需要依靠軟體本身的計算功能,在Revit分析裡有個明細表的功能。

Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫

2)通過插件以及自制功能來獲得扣減後的工程量。

今天就順帶講一下第一個功能,重點講第二個功能怎麼實作。這裡我比較熟一點的是sql server資料庫,是以就用這個資料庫,其實也可以用免費的mysql資料庫。讀取的話,C#語言勞心勞力,是以這裡用Python語言來解決(大部分人回報,有點程式設計基礎的,這語言三天掌握,沒有基礎的也隻需要一周)。

首先,這裡用的是系統自帶的工程樣例,并讀取其中門的資料明細表:

Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫
Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫

接下來就用我們的資料庫來讀取明細表。

那麼問題來了,怎樣讀取明細表會更快?是直接從項目裡讀取更快還是通過資料庫讀取更快?其實我也沒試過,囧!!!反正通過項目來讀取,我需要寫一堆代碼,而且這代碼還賣不出去,是以最友善的做法是直接讀取資料庫。(如果模型項目已經完工,這樣做是最好不過了)

步驟:

1)将Revit的資料導入到SQL SERVER

Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫
Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫

一步步操作下來,最後這個項目的資料庫就導入到了sql server中。

Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫

然後,我們來分析一下門的資料庫:其中門這個資料庫裡包含門類型id,門類型裡又包含了門類型和門名稱。是以要得到上述程式生成的表格,我門需要整合這兩個資料即可。

Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫
Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫

到了最後一步,用Python來讀取sql server資料庫。python讀取資料庫還是很友善的,這裡就以上面為例,示範一下具體操作過程。這裡要引用pymssql标準庫,這個庫主要是為了讀取sql server的,然後再引用一下pandas庫,用這個庫主要是為了結果能夠更标準的顯示。

這就是最後的一個結果,至于怎麼去求和,這個就是資料庫裡的知識,也很簡單,這裡就沒必要講。

雖然内容不多,但是跨度還是比較大的,revit、資料庫、python、pandas都需要有所了解。

Revit明細表讀取、将明細表資料存儲到sql server資料庫、python讀取資料庫

其他問題請咨詢:qq 254033230(非免費,時間是有價值的,咨詢前考慮清楚,沒這覺悟勿擾)

更多講解及例子請見:http://class.qq.com/class/24205.html 快速更新,也算您對我的支援。