假許起手式
  • 首頁
  • 服務
  • 技術文章
    • CREO
    • Revit API
  • 資源庫
  • 加入社群
  • 與我聯絡
  • 隱私權政策
Tag:

教學

Revit API

【Revit API】01-Revit API-前置作業與資源

by LuSir 2021-05-05

工欲善其事,必先利其器,在我們開始撰寫Revit API之前,需要先準備以下工具。

開始前準備

  • Revit (不同版本撰寫時可能會有不同的Method)
  • Visual Studio 2019 (上傳文章時目前的最新版本)
  • .NET Framework 4.7 以上
  • C# 程式基本能力

學習必備工具:SDK

  • Revit API Help
  • Getting Started with the Revit API
  • Revit Developer Center & SDK Samples
  • Revit API Docs

以上的工具,是學習Revit API與未來要查詢如何撰寫的重要資源,我在開始學習到現在,都還是常常在這些地方搜尋我所需要的知識。

開發必備工具:

  • RevitLookup
  • Add-In Manager
  • ILSpy、dnSpy (反組譯工具)

無論是使用Revit API抑或Dynamo二次開發,RevitLookup都是不可或缺的工具,針對RevitLookup基本所需要的功能與說明,可以點選這裡。

Add-In Manager是在Revit API開發中很重要的工具,主要是讓使用者可以將寫好的外掛直接套用,快速進行程式debug ,還有一個很重要的知識,是關於如何安裝、新增移除Revit外掛的細節,這些內容可以點選這裡看文章說明,讓各位清楚了解讓Revit運作外掛的方式。

反組譯工具有許多,ILSpy、dnSpy… 主要是來看dll檔內的程式碼,用來查看說明、結合Revit API Docs使用,可輔助Revit API二次開發。

2021-05-05 0 comments
0 FacebookPinterestLINEEmail
Revit API

【Revit API】00-Revit API 淺談

by LuSir 2021-04-28

在開始前,讓我們先來了解何謂API,API全名為(Application Programming Interface ),
稱為應用程式介面,舉例而言,當你要搭乘電梯上五樓快活時,你要去五樓,電梯可以運送你上去,
但你需要與電梯溝通,就是透過電梯內的按鈕,這個按鈕就如同API,讓你能與電梯溝通的橋樑。
所以當我們想要Revit可以進行我們要的動作時,會撰寫要執行運作的程式碼,製作成一個按鈕,
當你按下這個按鈕時,讓Revit幫你進行期望執行的動作。

為什麼要進行Revit二次開發?

  • 提高工作效率,減少重工的反覆動作
  • 擴展Revit不足的功能
  • 與其他系統的對接,匯出、匯入模型資訊,並轉換另一系統可辨識之格式等…

我想要進行Revit二次開發,可以有哪些選擇?

  • 巨集(C#、VB.NET、Ruby、Python)
  • Dynamo(Python)
  • Revit API (Visual C#、VB.NET)

巨集、 Dynamo與Revit API差異在哪裡?

巨集(Marco)其實也就等同於Revit API,只是它使用了Revit內建的介面,故我們在此就先不多著墨。
(對不起巨集,只用一句話就把你省略了… >O<)
大多數人都比較想知道,Dynamo與Revit API差異在哪裡?如果我要學習,該要選誰呢?
以我個人的認知,兩者並沒有誰特別的好壞,因為多數的開發外掛功能,兩者皆可達成。

真要比較的話,我認為最大的差異點是,Dynamo的優點在,擁有介面可在開發過程中即看到成果,
缺點在於運行的效果較差;Revit API的優點則是開發較不被受限(Ex. 與其他系統對接、開發介面等…),
運行效率較Dynamo快上數倍,缺點則是入門較Dynamo難入手,較難預先於開發中看到成果。

但其實Dynamo到了後期二次開發進階功能,依然是得熟悉Python語法,並且引用Revit API,所以要學習程式語言這回事,似乎也沒誰較難入手的差別,遲早得面對啊~~
我想對於二次開發這件事有個想法,那就是,只要能夠完成我們期望的結果,減少使用者的工時,提高工作效率,無論選擇何者二次開發,都是好方法!

個人經驗分享

最後,在此提供我的個人學習經驗給各位參考,開始的我並不會Revit,對程式語言也多年未接觸,
最開始的問題就是,我要選擇哪個語言入手二次開發?選擇Visual C#最主要的原因為,原廠所提供或網路上查詢等資源,多數都為 Visual C# ,可以讓學習的過程較容易找到支援。

問我為何沒選擇Dynamo,我得說當年在二次開發時Dynamo還沒有普及,所以我選擇了Visual C#,在Dynamo開始時我也去使用過,但因為許多想要開發的功能,後來還是都得引用Revit API的RevitAPI.dll與RevitAPIUI.dll(日後會開新文章說明),所以我最後還是選擇用Visual C#來開發。
近期Revit新增了許多功能,例如路徑分析需要耗費大量時間來運算,我慶幸當時是選擇Revit API,在現今需要大量數據運算結果時,可以減少許多運算時間。

接下來我會分享我在學習Revit API的過程中,透過哪些資源學習、遇到哪些問題、如何排除等經驗,希望對你在未來學習Revit API的路程中有所幫助,能縮短學習與排除問題的時間。

2021-04-28 0 comments
0 FacebookPinterestLINEEmail

近期文章

  • 2025 AI CAD 軟體趨勢|7 款最佳 AI CAD 軟體評測與推薦
  • 【Creo】35-用Creo11效能報告比較陣列
  • 【Creo】34-人體模型安裝使用
  • 【Creo】33-草繪尺寸無法編輯
  • 【Creo】32-Pro/E Wildfire與Creo的差異

近期留言

  1. 「假許」於〈【Creo】05-工程圖轉PDF設定線寬(table.pnt)〉發佈留言
  2. 「賴秀俞」於〈【Creo】05-工程圖轉PDF設定線寬(table.pnt)〉發佈留言
  3. 「Junjia」於〈【Creo】19-materials library材料庫下載〉發佈留言
  4. 「假許」於〈【Creo】18-輕鬆刪除舊版檔案,Purge大法〉發佈留言
  5. 「James」於〈【Creo】18-輕鬆刪除舊版檔案,Purge大法〉發佈留言

Keep in touch

Facebook Instagram Youtube Line

電子報

訂閱我的電子報,以獲得新的部落格文章、技巧。讓我們保持更新!

文章分類

  • Creo (37)
  • Revit API (6)
  • Trend (3)
  • 未分類 (1)

Copyright © 2024 - 假許起手式 Start-up joshups.com


Back To Top
假許起手式
  • 首頁
  • 服務
  • 技術文章
    • CREO
    • Revit API
  • 資源庫
  • 加入社群
  • 與我聯絡
  • 隱私權政策