CAD如何把对象置后、置前

public static class ModelSpaceUtils
{
    public static void MoveToBottom(ObjectIdCollection objToMove)
    {
        using var tr = new DBTrans();
        using var dot = tr.ModelSpace.DrawOrderTableId.GetObject(OpenMode.ForWrite) as DrawOrderTable;
        dot.MoveToBottom(objToMove);
    }
    public static void MoveToTop(ObjectIdCollection objToMove)
    {
        using var tr = new DBTrans();
        using var dot = tr.ModelSpace.DrawOrderTableId.GetObject(OpenMode.ForWrite) as DrawOrderTable;
        dot.MoveToTop(objToMove);
    }
    public static void MoveBelow(ObjectIdCollection objToMove, ObjectId target)
    {
        using var tr = new DBTrans();
        using var dot = tr.ModelSpace.DrawOrderTableId.GetObject(OpenMode.ForWrite) as DrawOrderTable;
        dot.MoveBelow(objToMove, target);
    }
    public static void MoveAbove(ObjectIdCollection objToMove, ObjectId target)
    {
        using var tr = new DBTrans();
        using var dot = tr.ModelSpace.DrawOrderTableId.GetObject(OpenMode.ForWrite) as DrawOrderTable;
        dot.MoveAbove(objToMove, target);
    }
    public static void SwapOrder(ObjectId id1, ObjectId id2)
    {
        using var tr = new DBTrans();
        using var dot = tr.ModelSpace.DrawOrderTableId.GetObject(OpenMode.ForWrite) as DrawOrderTable;
        dot.SwapOrder(id1, id2);
    }
}

评论