欢迎来到我的博客
Civil 3D开发与应用,欢迎加入QQ群:484124761
AutoCAD开发,欢迎加入QQ群:193522571

转帖:获取样式名称

原贴链接

1 条消息(共 2 条)
24 次查看, 1 条回复
 
 
Profile Style Collection C#

Is there any way to get profile styles in the current dwg.

I want to list the styles.

ObjectId styleId = doc.Styles.ProfileStyles[0];
ObjectId labelSetId = doc.Styles.LabelSetStyles.ProfileLabelSetStyles[0];

Above code only gets 1st style.

Is there any way same like this below?

oAlignments = doc.GetAlignmentIds();





2 条消息(共 2 条)
 
 
 

This is an extension method to get the names of any StyleCollection:

 

        public static List<string> StyleCollectionNames(this StyleCollectionBase scb)
        {
            var list = new List<string>();
            foreach(ObjectId id in scb)
            {
                var style = (StyleBase)id.Open(OpenMode.ForRead);
                list.Add(style.Name);
                style.Close();
            }
            return list;
        }

 

 

and sample usage:

 

        var stylelist = CivilApplication.ActiveDocument.Styles.ProfileStyles.StyleCollectionNames();
        Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("\nThe first name in the list is {0}", stylelist[0]);
        var setslist = CivilApplication.ActiveDocument.Styles.LabelSetStyles.ProfileLabelSetStyles.StyleCollectionNames();
        Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("\nThe first name in the list is {0}", setslist[0]);

posted @ 2020-08-31 08:53  david96007  阅读(203)  评论(0编辑  收藏  举报