其他帳號(hào)登錄: 註冊(cè) 登錄
柏慕聯(lián)創(chuàng)BIM技術(shù)服務(wù)

點(diǎn)亮建筑新夢(mèng)想

LIGHT BUILDING NEW DREAM

企業(yè)BIM定制服務(wù)經(jīng)典案例

BIM百科 | Revit二次開(kāi)發(fā)入門(mén)--創(chuàng)建一個(gè)簡(jiǎn)單的程序①

 二維碼
作者:佚名來(lái)源:網(wǎng)絡(luò)網(wǎng)址:http://www.rengneng.cn

【成都/長(zhǎng)沙】9月1日柏慕聯(lián)創(chuàng)BIM實(shí)戰(zhàn)訓(xùn)練營(yíng)開(kāi)始報(bào)名!



獲取《每日一技,我的成長(zhǎng)軌跡》匯總

· 請(qǐng)?jiān)L問(wèn)柏慕聯(lián)創(chuàng)官方網(wǎng)站: www.rengneng.cn ·


Revit插件制作實(shí)例步驟:

1.創(chuàng)建你的第一步驟插件


啟動(dòng) Visual C# 速成版開(kāi)發(fā)環(huán)境:

打開(kāi) Visual C# 2010年速成版使用 Windows 開(kāi)始菜單,選擇所有程序,然后 Microsoft Visual Studio 2010 速成,然后 Microsoft Visual C# 2010年速成版的子菜單項(xiàng)。


2.創(chuàng)建一個(gè)類庫(kù)項(xiàng)目:

里面 Visual C# 速成版,在文件菜單上單擊新建項(xiàng)目。在已安裝的模板選項(xiàng)卡的左側(cè)窗口中,單擊 Visual C#。在中間的窗口中,單擊類庫(kù)。在名稱框中輸入 Lab1PlaceGroup。然后單擊確定。

3.Visual C# 速成版將會(huì)為您創(chuàng)建一個(gè)默認(rèn)的代碼項(xiàng)目并在代碼窗口中顯示的代碼。

保存項(xiàng)目:

在文件菜單上單擊全部保存。在顯示窗口中鍵入 C:\test 在位置框中的,然后單擊保存。


4.添加引用的文件:

在 Visual C# 速成版窗口右側(cè)的解決方案資源管理器窗口中,右鍵單擊引用,然后單擊添加引用的文件

5.單擊瀏覽選項(xiàng)卡在添加引用對(duì)話框中的,瀏覽到 Revit 產(chǎn)品安裝的子文件夾。(子文件夾路徑上取決于在安裝有 Revit 建筑 201x。默認(rèn)的路徑是 C:\Program Files\Autodesk\Revit Architecture 201x\Program)。


路徑不同可能因您使用 Autodesk Revit安裝的位置。

您將從該文件夾中添加兩個(gè)引用文件。選擇 RevitAPI.dll,在按住 Ctrl 鍵和選擇 RevitAPIUI.dll,然后單擊確定?,F(xiàn)在這兩個(gè)接口在您的項(xiàng)目中引用的 DLL 文件。所有 Revit Api 都公開(kāi)的這些接口文件和您的項(xiàng)目可以使用那些可用的 Api。

6.設(shè)置引用的文件副本屬性值:

在解決方案資源管理器窗口中您看到在步驟 5 中,單擊 RevitAPI 引用節(jié)點(diǎn)下。在屬性窗口中,單擊復(fù)制本地屬性,然后單擊下拉列表中,選擇 False。重復(fù)相同的步驟,RevitAPIUI 的復(fù)制本地屬性值更改為 False。


7.設(shè)置目標(biāo).NET 框架:

注意: Autodesk Revit 2011 支持.NET Framework 3.5 的使用。歐特克 Revit 2012 以及更高支持.NET 框架 4.0,Visual C# 2010年表示使用默認(rèn)情況下的使用。需要以下步驟,以便使用正確的版本。如果您正在使用的 Revit 體系結(jié)構(gòu)版本支持.NET 框架 4.0,你可以跳過(guò)步驟 7、 8 和 9。


在解決方案資源管理器窗口中,右擊 Lab1PlaceGroup 項(xiàng)目,然后單擊屬性


8.在顯示項(xiàng)目屬性表單中,請(qǐng)單擊應(yīng)用程序選項(xiàng)卡上的窗口左側(cè),單擊目標(biāo)框架下方的下拉列表,然后單擊列表中的.NET Framework 3.5 選項(xiàng)。


9.下面的消息框會(huì)顯示要求您確認(rèn)。單擊是以確認(rèn)更改。

10.添加的代碼:

Class1.cs 在解決方案資源管理器窗口中的顯示代碼編輯窗口,請(qǐng)雙擊。刪除在此窗口中的所有內(nèi)容,然后鍵入下面的 C# 代碼。

包括例如智能感知功能的使用 ,與開(kāi)發(fā)經(jīng)驗(yàn)我們建議您鍵入從本指南,而不是復(fù)制和粘貼代碼。說(shuō),如果你也可以復(fù)制并粘貼到 Visual C# 速成版代碼窗口中,雖然這減少了從直接與代碼工作獲得的經(jīng)驗(yàn),最好是自己寫(xiě)一遍。

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;
 }
}

不要太擔(dān)心看不懂代碼,我們?cè)谙旅鎸?huì)看到這些代碼的效果,慢慢的體會(huì)其中的意思!


11.保存該文件:

在文件菜單上單擊全部保存。

12.生成項(xiàng)目:


注意: 如果您正在使用 Revit 2012 API,您將看到一個(gè)警告,指出 'Autodesk.Revit.DB.Reference.Element' 已過(guò)時(shí)。此時(shí),不要擔(dān)心此警告

如果您正在使用 Revit 2013 年和更高的 API,你將需要替換下面的代碼行:

   Element elem = pickedRef.Element;

替換成

Element elem = doc.GetElement(pickedRef);

就這么簡(jiǎn)單 !這就是一個(gè)簡(jiǎn)單的Revit插件!



圖書(shū)推薦 | Autodesk Revit 二次開(kāi)發(fā)基礎(chǔ)教程(同濟(jì)大學(xué)出版社)




柏慕聯(lián)創(chuàng)BIM技術(shù)服務(wù)

BIM設(shè)計(jì) | BIM咨詢 | BIM培訓(xùn) | BIM人才

· 點(diǎn)亮建筑新夢(mèng)想 ·


會(huì)員登錄
登錄
其他帳號(hào)登錄:
我的資料
留言
回到頂部