999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Revit的排水溝快速建模插件開發

2021-12-08 06:13:34湖北理工學院土木建筑工程學院北京橄欖山軟件有限公司
智能建筑與智慧城市 2021年11期
關鍵詞:用戶

(1.湖北理工學院土木建筑工程學院;2.北京橄欖山軟件有限公司)

謝星星1,羅顯楓1,葉雄進2

1 引言

建筑信息模型簡稱BIM(Building Information Modeling),是一款先進的三維數字設計解決方案,應用在房屋建筑工程、結構、機電等領域,利用數字信息在三維平臺模擬建筑物的真實信息。BIM 技術有五大特點:可視化、協調性、模擬性、可出圖性、優化性[1]。

雖然BIM技術給我們帶來了便利,但是依然有許多不便的地方,例如,在水利、交通等方面就存在諸多不便,需要工程師在Revit平臺進行二次開發。

2 Revit API的介紹

Autodesk Revit 不僅功能強大,而且還提供了應用程序接口API(Application Programming Interface)。軟件工程師可以通過調用API 對Revit 應用程序進行操作和使用,將繁瑣、重復的工作自動化[2]。

VB.NET、C++、C#等語言可以調用Revit API 進行BIM 軟件開發。利用Revit API進行二次開發的優點:直接讀取模型的幾何參數;直接創建、修改、刪除圖元等操作。

3 開發環境配置

3.1 新建一個項目

在Visual Studio 里選擇項目類型并創造新的類庫,指定對應的命名空間和存儲位置,單擊ok即可。

3.2 添加相應的引用

在Revit的安裝程序中找到RevitAPI.dll和RevitAPIUI.dll文件,為減少成本,可將兩個文件的復制本地文件屬性改成false(見圖1)[3]。

圖1 開發流程

3.3 編寫代碼

在編寫代碼前需要引用相應的命名空間,根據需求判斷是實現IExternalApplication,還是IExternalCommand接口,同時,實現相應函數。

下列代碼是一個簡單的程序:

3.4 添 加AddInManager 和Revit-Lookup

AddInManager 的作用是在指定路徑加載腳本文件到Revit 平臺中運行,便于使用和調試,RevitLookup 的作用是查看元素的各個信息,便于查看和使用API。

將兩個文件的addin 文件和dll 文件放到指定文件夾中,將addin 文件中的路徑改為當前文件下AddInManager.dll文件路徑,保存關閉即可。圖2 是打開Revit后添加成功的效果。

圖2 添加成功后的Revit界面

4 排水溝快速建模開發

本節將利用前述配置的Revit開發環境進行排水溝快速建模的開發。

4.1 手動做族

排水溝在建筑物室外和停車場內部隨處可見,能有效解決城市的內澇問題,也能解決人們生活用水的正常排放處理。排水溝分為暗溝和明溝(見圖3)。左側是帶蓋排水溝,右側是無蓋排水溝。注意:需要勾選加載時剪切。

圖3 族效果圖

4.2 界面設計

如圖4 所示,該設計左側是一個treeview,右側是一個Plane 用來放previewcontrol 控件,設計簡單易懂,避免用戶的消極情緒。當用戶選擇了族類別時,右側的previewcontrol 就顯示該類型的截面形狀,讓用戶修改。

圖4 界面設計

4.3 開發思路

首先獲取指定文件夾里面的族文件,根據族名字過濾相應的族,例如,族文件名字是否含有“排水溝”。把族的名字和族類型的名字記錄下來,當程序運行時(Form.Loaded),填到treeview 里,部分代碼如下:

用戶點擊族類型時,首先加載族到當前項目中,打開族文檔并且找到族文檔里的剖面1(見圖5),用Dictionary 對象記錄當前族類型里面族參數名稱和ID和值的三者的關系,隨后previewcontrol 顯示這個剖面,該圖支持縮放,支持滑動修改操作。

圖5 加載族剖面圖界面

用戶切換視圖時,需要判斷當前previewcontrol 是否有視圖顯示,如果有,需要把當前顯示的視圖dispose(),隨后在加載其他的視圖,以下是加載和切換視圖的部分代碼:

當用戶點擊注釋的時候,判斷附近是否有參數,如果有,則顯示一個TextBox,如圖6。用戶輸入后回車即可修改族參數,其注冊事件代碼如下:

圖6 點擊事件效果

隨即點擊繪制線的按鈕,窗口關閉,程序調用Revit 自帶的繪制模型線API(PostCommand),在DocumentChanged 事件中獲取當前文檔中變化的元素,最后捕捉鍵盤的Esc 異常錯誤,使程序退出繪制,進入空閑事件,在空閑事件中開啟事務,創建族實例,圖7 就是創建的兩個族實例后的樣子,連接和剪切良好,事件注冊部分代碼如下:

圖7 通過繪制線創建排水溝效果

用戶點擊拾取邊線按鈕創建族實例時,先沿兩條線的中心線創建一條紅色的模型線,用來提示這個地方已經創建了,當選擇的兩條線不平行或者兩條線沒有交集時,應該提示用戶重新選擇(見圖8),創建良好。

圖8 拾取邊線創建族實例效果

5 研究的問題和未來展望

該研究的難點是當用戶切換previewcontrol界面時,要關閉當前還打開的文檔,會觸發將要打開的族文檔的載入事件,如果用document.close(),會報異常,但是用document.dispose()就切換正常。目前,剪切和連接板互相剪切時,API 會導致板連接進來,這一問題有待解決。

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 色婷婷在线影院| 亚洲人成网线在线播放va| 被公侵犯人妻少妇一区二区三区| 午夜免费视频网站| 国产欧美精品一区aⅴ影院| 欧美爱爱网| 国产视频 第一页| 欧美日韩中文国产va另类| 欧美笫一页| 国产欧美日韩专区发布| 91丨九色丨首页在线播放| 亚洲AV成人一区二区三区AV| 欧美a级完整在线观看| 国产精品一区在线麻豆| 美女国内精品自产拍在线播放| 欧美劲爆第一页| 亚洲国产精品日韩av专区| 在线免费无码视频| 人妻丰满熟妇αv无码| a天堂视频| 99久久国产精品无码| 欧美成人二区| 99热这里只有精品2| 97久久人人超碰国产精品| 国产精品美女免费视频大全| 青青青国产精品国产精品美女| 国产成人免费观看在线视频| 亚洲精品欧美日本中文字幕| 国内熟女少妇一线天| 久久久久久久久18禁秘| 精品人妻系列无码专区久久| 亚洲AV一二三区无码AV蜜桃| 国产情精品嫩草影院88av| 午夜国产不卡在线观看视频| 久久九九热视频| 重口调教一区二区视频| 免费黄色国产视频| 91啪在线| 五月激激激综合网色播免费| 福利国产在线| 国产网站在线看| 国语少妇高潮| 91精品免费高清在线| 国产三级a| 在线观看免费人成视频色快速| 激情综合图区| 在线国产毛片| 久久综合色视频| 啊嗯不日本网站| 国产JIZzJIzz视频全部免费| 另类专区亚洲| 91一级片| 成人精品区| 国产va在线| 欧美午夜一区| 欧美精品一区在线看| 综合网久久| 国产制服丝袜91在线| 亚洲国产中文综合专区在| 色有码无码视频| 亚洲中文精品人人永久免费| 国产人成乱码视频免费观看| 成人国产免费| 久久国产亚洲欧美日韩精品| 性欧美在线| 1024你懂的国产精品| 亚洲天堂久久| 国产性精品| 欧美福利在线| 91亚洲精选| 国产精品刺激对白在线| 亚洲欧洲日产无码AV| 亚洲欧美一区二区三区图片| 免费观看亚洲人成网站| 国产免费福利网站| 99资源在线| 欧美精品伊人久久| WWW丫丫国产成人精品| 国产在线精品香蕉麻豆| 亚洲不卡影院| 日本欧美中文字幕精品亚洲| 国产在线精彩视频二区|