【成都/長沙】9月1日柏慕聯創BIM實戰訓練營開始報名!
獲取《每日一技,我的成長軌跡》匯總
· 請訪問柏慕聯創官方網站: www.lcbim.com ·
Revit插件製作實例步驟:
1.創建你的第一步驟插件
啟動 Visual C# 速成版開發環境:
打開 Visual C# 2010年速成版使用 Windows 開始菜單,選擇所有程序,然後 Microsoft Visual Studio 2010 速成,然後 Microsoft Visual C# 2010年速成版的子菜單項。
2.創建一個類庫項目:
裡面 Visual C# 速成版,在文件菜單上單擊新建項目。在已安裝的模板選項卡的左側窗口中,單擊 Visual C#。在中間的窗口中,單擊類庫。在名稱框中輸入 Lab1PlaceGroup。然後單擊確定。
3.Visual C# 速成版將會為您創建一個默認的代碼項目並在代碼窗口中顯示的代碼。
保存項目:
在文件菜單上單擊全部保存。在顯示窗口中鍵入 C:\test 在位置框中的,然後單擊保存。
4.添加引用的文件:
在 Visual C# 速成版窗口右側的解決方案資源管理器窗口中,右鍵單擊引用,然後單擊添加引用的文件
5.單擊瀏覽選項卡在添加引用對話框中的,瀏覽到 Revit 產品安裝的子文件夾。(子文件夾路徑上取決於在安裝有 Revit 建築 201x。默認的路徑是 C:\Program Files\Autodesk\Revit Architecture 201x\Program)。
路徑不同可能因您使用 Autodesk Revit安裝的位置。
您將從該文件夾中添加兩個引用文件。選擇 RevitAPI.dll,在按住 Ctrl 鍵和選擇 RevitAPIUI.dll,然後單擊確定。現在這兩個接口在您的項目中引用的 DLL 文件。所有 Revit Api 都公開的這些接口文件和您的項目可以使用那些可用的 Api。
6.設置引用的文件副本屬性值:
在解決方案資源管理器窗口中您看到在步驟 5 中,單擊 RevitAPI 引用節點下。在屬性窗口中,單擊複製本地屬性,然後單擊下拉列表中,選擇 False。重複相同的步驟,RevitAPIUI 的複製本地屬性值更改為 False。
7.設置目標.NET 框架:
注意: Autodesk Revit 2011 支持.NET Framework 3.5 的使用。歐特克 Revit 2012 以及更高支持.NET 框架 4.0,Visual C# 2010年表示使用默認情況下的使用。需要以下步驟,以便使用正確的版本。如果您正在使用的 Revit 體系結構版本支持.NET 框架 4.0,你可以跳過步驟 7、 8 和 9。
在解決方案資源管理器窗口中,右擊 Lab1PlaceGroup 項目,然後單擊屬性
8.在顯示項目屬性表單中,請單擊應用程式選項卡上的窗口左側,單擊目標框架下方的下拉列表,然後單擊列表中的.NET Framework 3.5 選項。
9.下面的消息框會顯示要求您確認。單擊是以確認更改。
10.添加的代碼:
Class1.cs 在解決方案資源管理器窗口中的顯示代碼編輯窗口,請雙擊。刪除在此窗口中的所有內容,然後鍵入下面的 C# 代碼。
包括例如智能感知功能的使用 ,與開發經驗我們建議您鍵入從本指南,而不是複製和粘貼代碼。說,如果你也可以複製並粘貼到 Visual C# 速成版代碼窗口中,雖然這減少了從直接與代碼工作獲得的經驗,最好是自己寫一遍。
using System;
using System.Collections.Generic;
using System.Linq;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
[TransactionAttribute(TransactionMode.Manual)]
[RegenerationAttribute(RegenerationOption.Manual)]public class Lab1PlaceGroup : IExternalCommand{ public Result Execute( ExternalCommandData commandData, ref string message, ElementSet elements)
{ //Get application and document objects
UIApplication uiApp = commandData.Application;
Document doc = uiApp.ActiveUIDocument.Document; //Define a Reference object to accept the pick result.
Reference pickedRef = null;
//Pick a group
Selection sel = uiApp.ActiveUIDocument.Selection;
pickedRef = sel.PickObject(ObjectType.Element, "Please select a group"); Element elem = pickedRef.Element;
Group group = elem as Group; //Pick a point
XYZ point = sel.PickPoint("Please pick a point to place group"); //Place the group
Transaction trans = new Transaction(doc);
trans.Start("Lab");
doc.Create.PlaceGroup(point, group.GroupType);
trans.Commit(); return Result.Succeeded;
}
}
不要太擔心看不懂代碼,我們在下面將會看到這些代碼的效果,慢慢的體會其中的意思!
11.保存該文件:
在文件菜單上單擊全部保存。
12.生成項目:
注意: 如果您正在使用 Revit 2012 API,您將看到一個警告,指出 'Autodesk.Revit.DB.Reference.Element' 已過時。此時,不要擔心此警告
如果您正在使用 Revit 2013 年和更高的 API,你將需要替換下面的代碼行:
Element elem = pickedRef.Element;
替換成
Element elem = doc.GetElement(pickedRef);
就這麼簡單 !這就是一個簡單的Revit插件!
圖書推薦 | Autodesk Revit 二次開發基礎教程(同濟大學出版社)
推薦悅讀:
BIM百科 | Dynamo與Revit 建立參數化TBM盾構隧道模型(一)
BIM百科 | Dynamo與Revit 建立參數化TBM盾構隧道模型(二)
BIM合同 | 我們該談些什麼
BIM案例 | (含視頻)柏慕聯創某潔淨室BIM模型漫遊展示
柏慕聯創BIM技術服務
BIM設計 | BIM諮詢 | BIM培訓 | BIM人才
· 點亮建築新夢想 ·
▼