BIM百科 Revit二次開發之創建一個簡單的插件

2021-02-20 柏慕聯創BIM服務

【成都/長沙】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人才

· 點亮建築新夢想 ·

相關焦點

  • [程序]ETE-Revit的BIM建模的初步開發與介紹
    [B站動畫]https://www.bilibili.com/video/BV1754y1H7A4本篇關於BIM模型軟體的Revit的二次開發的工作總結:(1) 軟體平臺:Visual Studio 2019社區版,需要下載Revit API 包,以下實例是基於Revit2019進行開發的。
  • 比目雲:一個神奇的Revit算量插件
    摘 要:比目雲,在設計和功能上有些亮點,是基於revit平臺的二次開發插件,直接把各地清單定額做到revit裡面,扣減規則也是通過各地清單定額規則來內置的
  • 盤點20個可免費下載Revit、CAD、BIM等資源、組件的網站
    RevitCity不僅是一個下載免費Revit組件的地方,也是個論壇,可以分享想法或作品,檢索想要資料。由Mestek創建的一個BIM對象庫,供設計師免費下載和使用。對各種資源類別的特定內容而言,這是一個很好的免費下載網站。而且該網站易於瀏覽,可以通過查找類似、搜索和過濾器等功能快速查找相關資源。
  • .NET 開源軟體開發BIM工具包xBIM
    它是一個.NET 開源軟體開發BIM工具包,支持BuildingSmart數據模型(又名工業基礎類IFC)  xBIM允許.NET開發人員以IFC格式讀取,創建和查看建築信息(BIM)模型。完全支持幾何,拓撲操作和可視化。此外,xBIM支持IFC和COBie格式(BIM設施資產信息交換標準)之間的雙向轉換。
  • Revit二次開發案例之拆分梁(按照梁跨進行拆分梁打斷梁)
    小編曾試用過某某山的插件,他也有柱斷梁工具,但有一點不便之處在於,某某山的插件斷梁是讓你選擇柱,和這個柱相交的梁都會在柱邊打斷。但無法做到按跨打斷,也無法修改稱自己想要的效果,其實這是目前插件的弊端所在。
  • 拳打Maya腳踢Revit!
    ,從而無縫銜接。大家基本都能達成共識,就是Archicad更好用,更貼近建築師的使用習慣,但是也都無法否認的一個事實就是Revit有著壓倒性的普及度,基本上國內的大院都是用Revit,畢竟····建築結構設備都能用一個軟體就搞定這誘惑力對於領導層來說太大了。但是對於建築設計來說,Revit確實不太好用,不然也不會有這事兒了:
  • Revit2016中文版軟體下載與安裝教程
    10、點擊「激活」;11、如果出現下圖點擊【關閉】然後彈出一個END 自學revit 微信號:zxrevit專注revit技巧與bim技術應用分享·↑長按此二維碼可關注 ↑·點此查看更多視頻教程
  • UE4 開發之如何創建 iOS 平臺插件
    那就是我們要儘量減少跨平臺功能的數量,只保證我們的核心功能在各個平臺上能完美的適配,把一些輔助功能模塊例如:登錄,分享,數據採集等模塊獨立出來做成插件,然後集成到我們的項目中去,這些插件都是用各個平臺的原生代碼開發的,iOS 平臺就用 OC 或者 swift 開發,Android就用 java 或者 kotlin 開發,所以完全就不用去考慮它的平臺兼容性問題了。
  • 【bim專題】revit快捷鍵命令大全
    一、建模與繪圖工具常用快捷鍵序號命令快捷鍵1牆WA2門DR3窗WN4放置構件CM5房間RM6房間標記RT7軸線GR8文字TX9對齊標註DI10標高LL11高程點標註EL12繪製參照平面RP13模型線LI14按類別標記TG15詳圖線DL二、
  • Rhino.Inside.Revit 入門指引(中文版)
    Rhino.Inside® 是隨同 Rhino 7 開發的一個開源項目,目的是為了讓 Rhino 與 Grasshopper 能在類似 Revit、AutoCAD 等其他 64 位程序內無縫運行它不僅能完美地進行數據轉化,還能為其他程序增加曲面造型與參數化設計的能力, 包括:可以在其他程序以內置插件的方式啟動 Rhino 或 Grasshopper;其他程序中直接利用 Rhino 或 Grasshopper 建模;可以在 Grasshopper 與 Rhino 插件中調用其他的應用程式接口;可以在其他程序的插件中調用 Rhino 的應用接口
  • Illustrator(AI)二次開發教程(01):入門
    本教程只講VBScript,因為極少用Mac版軟體,也不熟悉Mac環境下的開發。本教程主要針對AI的設計師用戶而不是職業程式設計師,所以一些更專業的開發工具就不介紹了。設計師學習後能迅速入門編寫出自己用得上的插件,提升自己的作品逼格,這是本教程的宗旨;至於能不能搞出一個商業化插件來賣出去掙錢,那是第二位的,有賴各人腦洞和水平了。
  • 效率工程篇-如何開發一個Chrome插件(二)
    前言書從上文:《效率工程篇-如何開發一個Chrome插件(一)》昨天我們簡要學習開發了一個簡單的Chrome插件,了解了開發Chrome插件的基本原理,但是相對於大多數的前端Coder來說,用習慣了各種前端開發框架之後,基於HTML,JavaScript,Css的原生開發多多少少會有些許的不方便
  • 什麼Revit是主流BIM軟體之一?Revit軟體的優點有哪些?
    構件(或者族)種類數量眾多Revit 除了簡單的操作接口外,Revit 有詳細和實用的檔案和教學,欲學習Revit 的使用者可以從許多渠道獲得信息,以revitcity.com 為例,裡頭有數千個網站會員所自製的或是第三方軟體所提供的構件(或者族),像是機電管線或家具構件(或者族),可以輕易下載並匯入到Revit;Revit 有自己的構件(或者族)庫,大致涵蓋許多項目可使用的構件
  • 【教程】BIM開發——BIMServer伺服器環境搭建
    BIM與GIS的結合也是未來的一個發展方向。最近在學習一下BIMServer,首先第一步就是對BIMServer環境的安裝。主要是兩種安裝和配置方法,一種是通過jar包直接進行運行來安裝,一種是通過war包,將其放置在tomcat目錄下,配置。這裡我記錄的過程,是通過jar包來進行配置的。感覺這種方法將BIMServer獨立出來,可以單獨進行配置與運行。
  • Webpack 插件開發如此簡單!
    建議多閱讀 Webpack 文檔《Writing a Plugin》章節,學習開發簡單插件。」本文將帶你一起開發第一個 Webpack 插件,從 Webpack 配置工程師,邁向 Webpack 開發工程師!做自己的輪子,讓別人用去吧。
  • 【BIM平臺】增加AutoCAD插件!RevitBus正式更名為Plugin'Plug!
    來源丨 畢馬科技投稿發布丨 EaBIM_工號07
  • BIMBOX | BIM軟體江湖之承影劍ArchiCAD
    魔術棒功能Revit上很多付費插件都在做線條生實體的功能,原因就是Revit原生功能不允許把二維線條直接轉化為三維物體。而ArchiCAD就變通的多了,你可以直接在模型裡畫一段異形的曲線,然後利用魔術棒直接生成曲線牆體,也可以繼續利用這段曲線來生成樓板和屋頂。這在創建異形建築的時候會非常的便利。
  • 想要真正懂BIM,這些BIM軟體必須知道!
    Revit插件非常多,根據專業和需求的不同而各有不同,而且,大型單位往往會定製自己的插件。這裡介紹幾款。比如統計一個房間面積,房間編號排序等等。我們之所以看不到一些東西的優點,往往是因為我們自身太狹隘。哦,對了,CASE公司做了一些Dynamo的插件,比如支持犀牛文件轉到Revit裡的Rhynamo,可以安裝在Dynamo上。
  • BIM智庫 | Revit2021軟體下載地址及安裝步驟
    序列號:666-69696969     安裝密鑰:829M1Autodesk Revit 2021激活破解步驟1、下載全部文件解壓後得到autodesk revit2021中文原程序和autodesk revit 2021註冊機和破解補丁文件首先運行"Revit_2021_G1_Win_64bit_dlm_001_006.sfx.exe"開始安裝原程序;
  • CobaltStrike二次開發環境初探
    在我們使用cobaltstrike的過程中,會涉及到二次開發