圖紙問題/修訂(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個屬性,分別為:
Description:描述,文字類型,可讀寫
Issued:發佈,布林類型,可讀寫
IssuedBy:發佈者,文字類型,可讀寫
IssuedTo:發佈至:文字類型,可讀寫
RevisionNumberType:編號,列舉類型(0:數字, 2:無, 3:字母數字),可讀寫
RevisionDate:日期,文字類型,可讀寫
RevisionNumber:版序號碼,文字類型,唯讀
SequenceNumber:順序,整數類型,唯讀
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()}");
}
成果展示:
댓글