Revit學習之路01 Revit基礎

2022-01-14 02:23:34 字數 1652 閱讀 9719

序言:

revit介紹

revit專為建築資訊模型(bim)構建的一款建模軟體。隨著bim概念在國內的興起,各大設計院對revit建模的需求增多,相關的基於revit的二次開發也逐漸增多。具體介紹不在搬運。

revit是專為bim構建的軟體,了解revit必須先了解bim。bim的概念不僅僅是二維圖紙到三維模型的變化,bim是乙個資訊管理和互動的平台。revit既然作為專為bim構建的軟體,那麼他就必須能夠管理模型和資訊。

參考:revit作為乙個平台類的軟體,那麼必須有平台的功能:1、可自定義的選單2、載入外部外掛程式3、提供外部外掛程式呼叫的藉口。

revit選單

revit 二次開發建立自定義外部選項卡時 需要引用revit·外部應用介面,然後在revit啟動的時候(onstartup)建立 tab,panel,button。由於二次開發選單經常變動,總去調程式十分麻煩。所以應該將選單定義到乙個配置檔案中,revit啟動的時候去讀取選單配置。這部分博主剛做過,後續會詳細介紹。

註冊外掛程式

revit通過addin檔案本質是xml檔案)來載入外部外掛程式。檔案格式如下:

<?xml version="1.0" encoding="utf-8"?>

d:\helloworld\bin\debug\helloworld.dll

4d8936ea-82ca-49b0-abc0-d0904d8bd716

helloworld.class1

helloworld

abc外掛程式呼叫

1、 新增revitapi.dll和revitui.dll到專案的參考引用中。它們可以revit的安裝目錄下或者sdk包中找到。2、繼承iexternalcommand介面並實現介面的execute()方法。

**示例:

//一、命令呼叫

using autodesk.revit.db; 

using autodesk.revit.ui; 

using autodesk.revit.attributes; 

namespace helloworld 

[transaction(transactionmode.manual)] 

public class helloworld : iexternalcommand 

public result execute(externalcommanddata commanddata, ref string messages, elementset elements) 

taskdialog.show("title", "hello world"); 

return result.succeeded; 

//二、外部應用程式 

using autodesk.revit.db; 

using autodesk.revit.ui; 

using autodesk.revit.attributes; 

[transaction(transactionmode.manual)] 

taskdialog.show("結束", "結束"); 

return result.succeeded; 

taskdialog.show("開始", "開始"); 

return result.succeeded; 

結語正式學習revit開發的第一天,千里之行始於足下!

Revit學習之路02 Revit基礎選單定義

序言 前一章對revit載入外部外掛程式進行了簡單的說明,本章詳細說明revit自定義選單的設計與實現。revit選單機制 revit的選單配置結構為tab panel button如上圖所示 選單的最頂級為選項卡 tab 每個選項卡下包含很多面板 panel 無論是tab還是panel都只是乙個容...

Golang學習之路 01

1 在go的結構體中,如果成員屬性小寫開頭代表這個成員是私有的,如果是大寫開頭代表是公開的。因此在定義一些json資料的結構體時,需要將成員屬性均改為大寫,否則無法解析 2 beego建立乙個純api專案,通過bee api 為專案名 建立以後我們需要進入專案目錄直接執行bee run gendoc...

python 學習之路 01

1.三元表示式 a 3b 5d a if a b else b print d 如果條件為真,取a 如果條件為假,取b 2 bytes string轉換 由於py3對於編碼的轉換。預設為string型別。因此轉為bytes為編碼形式既encode.3.列表切片 顧頭不顧尾 例 name 小李 小張 ...