1. 程式人生 > >Revit二次開發—建立文字註釋(TextNote)

Revit二次開發—建立文字註釋(TextNote)

Revit API 在2016版本及以後對建立文字註釋做了改動

新版本建立方法:

using (Transaction tran = new Transaction(RevitDoc, "Creating a Text note"))
{
   XYZ origin = new XYZ(10, 10, 0);
   ElementId defaultTypeId = RevitDoc.GetDefaultElementTypeId(ElementTypeGroup.TextNoteType);

   tran.Start();
   TextNote note = TextNote.Create(RevitDoc, someView.Id, origin,  "Text Note", defaultTypeId);
   note.AddLeader(TextNoteLeaderTypes.TNLT_STRAIGHT_L);
   tran.Commit();
}
using (Transaction tran = new Transaction(RevitDoc, "Creating a Text note"))
{
   XYZ origin = new XYZ(10, 10, 0);
   double width = 3.0 / 12.0; // feet on paper

   TextNoteOptions options = new TextNoteOptions();
   options.HorizontalAlignment = HorizontalTextAlignment.Center;
   options.TypeId = RevitDoc.GetDefaultElementTypeId(ElementTypeGroup.TextNoteType);

   tran.Start();
   TextNote note = TextNote.Create(RevitDoc, someView.Id, origin, width, "Text Box Content", options);
   tran.Commit();

舊版本建立方法:

文字註釋的建立方法:
通過以下方法可以建立文字註釋。
①Autodesk.Revit.Creation.Document NewTextNote( View pView,XYZ origin,XYZ baseVec, XYZ upVec, double lineWidth, TextAlignFlags textAlign, string strText) 

其中,pView是文字註釋所要建立在的檢視,origin是其原點,baseVec和upVec決定了其水平和垂直方向,lineWidth是線寬,textAlign是文字的對齊方式,strText是文字內容。

② Autodesk.Revit.Creation.Document. NewTextNote( View pView, XYZ origin, XYZ baseVec,XYZ upVec,double lineWidth,TextAlignFlags textAlign, TextNoteLeaderTypes leaderType, TextNoteLeaderStyles leaderStyle,XYZ leaderEnd,XYZ leaderElbow,string strText)

其中,pView是文字註釋所要建立在的檢視,origin是其原點,baseVec和upVec決定其水平和垂直方向,lineWidth是線寬,textAlign是文字的對齊方式,leaderType是箭頭的型別(直線型或弧形),leaderStyle是箭頭的樣式(一段直線型、一段弧線型或兩段直線型),leaderEnd是箭頭的端點,leaderElbow是箭頭的彎曲點,strText是文字內容。