AutoCAD Civil 3D Help: Sharing Styles Between Drawings

在不同图形之间共享样式


像所有的样式对象一样,标签样式可以在不同图形文件之间共享。调用该样式的ExportTo() 方法,目标设为要输出的图形文件,即可实现共享。

注:

你也可以通过静态方法StyleBase::ExportTo() 来导出样式集合至另外一个图形文件。

When exporting styles, you specify how conflicts are resolved using the StyleConflictResolverType enum. In this example, the first style in the MajorStationLabelStyles collection is exported from the active drawing to another open drawing named Drawing1.dwg:

当导出样式时,你可以通过枚举类型StyleConflictResolverType来指定如何解决冲突。下面的例子中,MajorStationLabelStyles集合的第一个样式被从活动图形中导出至另外一个名为“Drawing1.dwg”的活动图形中。

[CommandMethod("ExportStyle")]
public void ExportStyle()
{
    CivilDocument doc = CivilApplication.ActiveDocument;
    Document AcadDoc = Application.DocumentManager.MdiActiveDocument;
    Database destDb = null;
    // Find the database for "Drawing 1"
    foreach (Document d in Application.DocumentManager)
    {
        if (d.Name.Equals("Drawing1.dwg")) destDb = d.Database;
    }
    // cancel if no matching drawing:
    if (destDb == null) return;
    using (Transaction ts = AcadDoc.Database.TransactionManager.StartTransaction())
    {
        // Export style:
        ObjectId styleId = doc.Styles.LabelStyles.AlignmentLabelStyles.MajorStationLabelStyles[0];
        LabelStyle oLabelStyle = ts.GetObject(styleId, OpenMode.ForRead) as LabelStyle;
        oLabelStyle.ExportTo(destDb, Autodesk.Civil.StyleConflictResolverType.Rename);
    }
}

注:

当调用ExportTo()方法时,在特定情况下,尝试中止事务会导致失败。当下列条件都为true时,即是一例:

输出多个样式,样式间有命名冲突且StyleConflictResolverType等于StyleConflictResolverType.Override

父主题:

标签样式

results matching ""

    No results matching ""