diff --git a/src/CADShared/ExtensionMethod/DBDictionaryEx.cs b/src/CADShared/ExtensionMethod/DBDictionaryEx.cs index 829b1ae9b5751da28ddb9335b6e18a956fe994e4..1b701fac16cea84b6a8ed2c82e914d8d7309fd4a 100644 --- a/src/CADShared/ExtensionMethod/DBDictionaryEx.cs +++ b/src/CADShared/ExtensionMethod/DBDictionaryEx.cs @@ -303,15 +303,17 @@ public static void SetValue(this DataCell cell, CellType type, object value) /// 字典 /// 组名 /// 实体Id集合 + /// 组内所有图元能否被一起选中 + /// 编组的描述 /// 编组Id - public static ObjectId AddGroup(this DBDictionary dict, string name, ObjectIdCollection ids) + public static ObjectId AddGroup(this DBDictionary dict, string name, ObjectIdCollection ids, bool selectable = true, string description = "") { if (dict.Contains(name)) return ObjectId.Null; using (dict.ForWrite()) { - Group g = new(); + var g = new Group(description,selectable); g.Append(ids); dict.SetAt(name, g); var tr = DBTrans.GetTopTransaction(dict.Database); @@ -326,14 +328,16 @@ public static ObjectId AddGroup(this DBDictionary dict, string name, ObjectIdCol /// 字典 /// 组名 /// 实体Id集合 + /// 组内所有图元能否被一起选中 + /// 编组的描述 /// 编组Id - public static ObjectId AddGroup(this DBDictionary dict, string name, IEnumerable ids) + public static ObjectId AddGroup(this DBDictionary dict, string name, IEnumerable ids, bool selectable = true, string description = "") { if (dict.Contains(name)) return ObjectId.Null; using ObjectIdCollection idc = new(ids.ToArray()); //需要using吗? 暂无测试 - return dict.AddGroup(name, idc); + return dict.AddGroup(name, idc, selectable, description); } diff --git a/src/CADShared/Runtime/Env.cs b/src/CADShared/Runtime/Env.cs index 024eb5d45d3f3c49fa1583349ebfeaba8b5fdad8..1e89e8bb670dafab53f630f47d3cb9aabd6a60bf 100644 --- a/src/CADShared/Runtime/Env.cs +++ b/src/CADShared/Runtime/Env.cs @@ -289,7 +289,7 @@ public static ObjectId GetDimblkId(DimblkType dimblk) var oldDimblk = Acaop.GetSystemVariable("dimblk"); Dimblk = dimblk; var id = HostApplicationServices.WorkingDatabase.Dimblk; - Acaop.SetSystemVariable("dimblk", oldDimblk); + Acaop.SetSystemVariable("dimblk", oldDimblk.ToString() == "" ? "." : oldDimblk); return id; }