CAD添加带文字线型 ---文字---C#
public static ObjectId WenziLine()
{
Database db = HostApplicationServices.WorkingDatabase;
ObjectId ltid;
using (Transaction trans = db.TransactionManager.StartTransaction())
{
TextStyleTable txtId = (TextStyleTable)trans.GetObject(db.TextStyleTableId, OpenMode.ForRead);
ltid = db.AddLineType("LineTypeName");//增加线型LineTypeName
LinetypeTableRecord ltr = (LinetypeTableRecord)trans.GetObject(ltid, OpenMode.ForWrite);//获取LineTypeName线型块表记录
ltr.AsciiDescription = "TextLine";//线型说明
ltr.PatternLength = 1.8;//线型总长度1.0+0.4+0.4
ltr.NumDashes = 3;//线型笔画
ltr.SetDashLengthAt(0, 1.0);//0 第一笔;正数实线。负数空格 实线1.0
ltr.SetDashLengthAt(1, -0.4);//1 第二笔 空格0.4
ltr.SetShapeStyleAt(1, txtId["Standard"]);//1第二笔处 设置文字字体Standard
ltr.SetShapeOffsetAt(1, new Vector2d(-0.1, -0.12));//1第二笔处 文字在线型上X轴向左移动0.1,Y轴向下移动0.12
ltr.SetShapeScaleAt(1, 0.4);//1第二笔处 文字的缩放比例
ltr.SetShapeRotationAt(1, 0);//1第二笔处 文字的旋转角
ltr.SetTextAt(1, "X"); //1 第二笔处 文字的内容
ltr.SetDashLengthAt(2, -0.4); //2 第三笔 0.4个空格
trans.Commit();
}
return ltid;
}