亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Revit怎么實現機電管線實時凈高查詢功能

發布時間:2022-03-21 14:59:05 來源:億速云 閱讀:241 作者:iii 欄目:大數據

這篇文章主要介紹了Revit怎么實現機電管線實時凈高查詢功能的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Revit怎么實現機電管線實時凈高查詢功能文章都會有所收獲,下面我們一起來看看吧。

一、前言

1.可以通過點選管道,通過左側屬性欄里的頂部底部高程來進行判斷(如圖1所示)。

Revit怎么實現機電管線實時凈高查詢功能

圖1

但是該方式存在很大的缺陷(如圖2所示),由于面層板處于標高±0以下,而高程是從±0開始算起的,因此直接去讀取底部高程會造成管綜的誤差。在機電bimer非常熟悉標高的情況下,可以手動去計算糾正凈高。但如果使用可停靠窗口實時顯示凈高可以說是非常方便了。

Revit怎么實現機電管線實時凈高查詢功能

圖2

2.通過做剖面來量取凈高。

這種方式是最精準但也是最影響效率的方式,在管線比較復雜和密集的區域可以使用該方法進行管綜優化。但如果只是在管線較少的情況下,去使用該方法,那將會嚴重影響效率,更何況有些區域升降板較多,要做剖面的量就會大大增加。

3.使用插件三維量取凈高。

目前有較多的插件都有三維量取凈高的功能,但操作比較繁瑣(如圖3所示)需要點擊功能面板按鈕,再拾取需要量取凈高的管線才能彈窗顯示凈高。

Revit怎么實現機電管線實時凈高查詢功能

圖3

二、可停靠窗口顯示凈高的思路來源

最近做管線綜合優化的時候,發現很難去把控凈高,想起前東家的一些實用的工具,因此仿照前東家的部分思路內容進行技術開發,故,

特此聲明: 本文內容只可用于技術研究和學術探討,不可用于商業用途,如因此產生商業糾紛與本文作者無關,且本文作者保留追究抄襲者的權力。

三、可停靠窗口顯示凈高的過程與方法

1、閑置事件

如果想要實現在Revit里選擇一個構件,然后在可停靠窗口里顯示一些信息,需要用空閑事件來實現

顧名思義,該事件是在用戶不對Revit進行操作時觸發的事件,RevitAPI的定義(如圖4),該事件觸發的另一個條件是在該狀態下API程序可以安全訪問到當前的文檔,若有其他事務還未結束,該事件是不會被觸發的。 Revit怎么實現機電管線實時凈高查詢功能

圖4

閑置事件有兩種模式,默認模式和非默認模式。

在默認模式下,每次Revit開始空閑時,都會引發一次空閑事件。請注意,當用戶在Revit用戶界面中處于活動狀態時,每當鼠標停止移動一會兒或命令完成時,空閑事件就會開始并一直被觸發。但是,如果用戶沒有在用戶界面中處于活動狀態,則Revit在相當長的一段時間內不會調用這些空閑事件。這意味著當用戶完全離開計算機一段時間后,這段時間不會觸發空閑事件,你的插件程序無法利用這些時間來完成計算。

在非默認模式下,程序將強制Revit保持空閑事件打開,并重復調用空閑事件。在這種模式下,即使用戶已經停止對計算機的操作,Revit也將一直使應用程序。這樣做可以一直利用空閑時間來進行計算,但是,這可能會導致運行Revit的系統性能下降,因為在Revit應用程序空閑期間,CPU始終處于滿負荷狀態。

可以通過調用IdlingEventArgs.SetRaiseWithoutDelay()來把空閑事件設置成非默認模式。必須在每次空閑事件中都調用此方法,則Revit將恢復為默認的空閑事件。

由于閑置事件是在用戶界面操作之間觸發的,如果程序處理的方法需要大量的時間來做運算,會導致Revit變得卡頓,非常影響用戶的體驗,因此不建議在空閑事件中去使用。

空閑事件的創建非常簡單,如下:

 application.Idling += method;

2、外部事件

外部事件和閑置事件是類似的,區別在于需要用戶自己觸發,而閑置事件是自動觸發的。繼承并實現外部事件的處理接口為IExternalEventHandeler。

我們要想快捷的實現可停靠窗口實時顯示凈高,就要使用閑置事件來進行,而外部事件可以實現連續調用命令。

3、創建可停靠窗口

如圖5所示,需要新建一個用戶控件,WFP的窗體。

Revit怎么實現機電管線實時凈高查詢功能

圖5 

revit中可停靠窗口的父類為page類,同時也繼承IDockablePaneProvider接口。

首先我們需要修改窗體的父類,在XAML頁面中,把UserControl改成Page,如下所示:

Revit怎么實現機電管線實時凈高查詢功能

Revit怎么實現機電管線實時凈高查詢功能

需要將紅框處的父類進行修改,并且在頁面添加一個控件label。

Revit怎么實現機電管線實時凈高查詢功能

通過 IDockablePaneProvider接口來實現空閑事件。并通過創建空閑事件來調用凈高算法  application.Idling += method。通過 函數SetupDockablePane來初始化可停靠窗口出現的位置。如圖6

Revit怎么實現機電管線實時凈高查詢功能

圖6

4、在Revit中注冊一個可停靠窗口。

在ribbon中添加一個可停靠窗口打開的按鈕,然后通過RegisterDockablePane添加可停靠窗口。在這里要給定窗口唯一的Guid碼,這個碼可以自己修改原有的碼或者生成一個新的碼,但是必須是唯一的 G ui d碼。

Revit怎么實現機電管線實時凈高查詢功能

5、在IExternalCommand中添加執行按鈕的命令,這里的 G ui d 碼要和可停靠窗口的 G ui d 碼一致。 Revit怎么實現機電管線實時凈高查詢功能

6、可停靠窗口空閑事件實現凈高查詢的算法。

利用實體和曲線的交點來求管線到板的距離,并且排除其他板的影響只求管線到面層的距離,即管線的真正凈高。利用該算法可以實現管線的實時三維凈高顯示。

以上便是實現了可停靠窗口實時查詢管線高度的方法。

效果如下:

Revit怎么實現機電管線實時凈高查詢功能

關于“Revit怎么實現機電管線實時凈高查詢功能”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Revit怎么實現機電管線實時凈高查詢功能”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临安市| 报价| 旺苍县| 泰兴市| 黄冈市| 巫山县| 丰都县| 永仁县| 万盛区| 卫辉市| 教育| 当阳市| 芷江| 祁阳县| 大港区| 都匀市| 抚远县| 田林县| 彰化县| 南丰县| 龙川县| 察隅县| 蓝田县| 阿克陶县| 嘉峪关市| 萍乡市| 溧水县| 仁化县| 莱西市| 西峡县| 栖霞市| 灌云县| 区。| 蓝山县| 嫩江县| 本溪| 嘉义市| 武鸣县| 安徽省| 陵水| 永州市|