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;
}

 

posted @ 2024-04-01 21:02  秉忠贞之志  阅读(90)  评论(0编辑  收藏  举报