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