• Yimin Chen

[Revit API教學]利用Revit API讀取圖紙修訂(Revisions)


圖紙問題/修訂(Sheet issue/Revisions)功能為Revit中用來控管圖紙版本修改的功能,通常會搭配修訂雲形(Revision Cloud)一起使用,修訂工具的開啟位置可參考下圖。


本篇文章將示範如何利用API讀寫Revit表格修訂裡的資料。


讀取所有修訂

UIApplication uiApp = commandData.Application;
UIDocument uidoc = uiApp.ActiveUIDocument;
Document doc = uiApp.ActiveUIDocument.Document;

IList<ElementId> revisions = Revision.GetAllRevisionIds(doc);

要讀取所有修訂非常簡單,只要透過一個靜態的方法Revision.GetAllRevisionIds(),即可取得所有專案中的修訂內容,接著我們可以來看看一個Revision物件有哪些屬性能夠使用


從上圖可以清楚看出Revision的架構,其總共有9個屬性,分別為:

  1. Description:描述,文字類型,可讀寫

  2. Issued:發佈,布林類型,可讀寫

  3. IssuedBy:發佈者,文字類型,可讀寫

  4. IssuedTo:發佈至:文字類型,可讀寫

  5. RevisionNumberType:編號,列舉類型(0:數字, 2:無, 3:字母數字),可讀寫

  6. RevisionDate:日期,文字類型,可讀寫

  7. RevisionNumber:版序號碼,文字類型,唯讀

  8. SequenceNumber:順序,整數類型,唯讀

  9. RevisionVisibility:展示,列舉類型(0:隱藏, 1:雲形和標籤, 2:標籤)


接著我們可以透過一個簡單的for迴圈來把這些屬性資料顯示出來,程式碼請參考下方:

foreach (ElementId eId in revisions)
{
    Revision r = doc.GetElement(eId) as Revision;
    TaskDialog.Show("讀取修訂", $"{r.SequenceNumber}, {r.RevisionNumber}, {r.NumberType.ToString()}
, {r.RevisionDate}, {r.Description}, {r.Issued}, {r.IssuedTo}, {r.IssuedBy}, {r.Visibility.ToString()}");
}

成果展示:


168 次查看0 則留言