|
@@ -26,7 +26,17 @@ namespace ToolCommand
|
|
|
//删除当前视图下的所有空间和空间分割
|
|
|
var doc = view.Document;
|
|
|
var elements = doc.GetElements(filter);
|
|
|
- return elements.Where(e => e.LevelId == view.GenLevel.Id).ToList();
|
|
|
+ List<Element> list=new List<Element>();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if(null!= view.GenLevel?.Id)
|
|
|
+ list = elements.Where(e => e.LevelId == view.GenLevel.Id).ToList();
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ Console.WriteLine(e);
|
|
|
+ }
|
|
|
+ return list;
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 房间转换成空间
|
|
@@ -136,7 +146,9 @@ namespace ToolCommand
|
|
|
relationItem.Messages.Add("房间信息无效,定位点为空");
|
|
|
continue;
|
|
|
}
|
|
|
- useSpcae = doc.GetSpaceAtPoint(location.Add(offset));
|
|
|
+ ElementId phaseId = view.GetParameterElementId(BuiltInParameter.VIEW_PHASE);
|
|
|
+ var phase = doc.GetElement(phaseId) as Phase;
|
|
|
+ useSpcae = doc.GetSpaceAtPoint(location.Add(offset), phase);
|
|
|
if (useSpcae == null)
|
|
|
{
|
|
|
relationItem.Messages.Add("未找到对应空间");
|
|
@@ -179,19 +191,27 @@ namespace ToolCommand
|
|
|
var points = GetSpacesPoints(view);
|
|
|
try
|
|
|
{
|
|
|
- //doc.LoadFamilySymbolExt(Path.Combine(AppBaseInfo.FamilyPath, "空间标记.rfa"));
|
|
|
+ doc.LoadFamilySymbolExt(Path.Combine(AppBaseInfo.FamilyPath, "空间标记.rfa"));
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
+ Console.WriteLine(ex);
|
|
|
}
|
|
|
foreach (var point in points)
|
|
|
{
|
|
|
var oldSpace = doc.GetSpaceAtPoint(point, phase);
|
|
|
if (oldSpace == null)
|
|
|
{
|
|
|
- var tempSapce = doc.Create.NewSpace(level, phase, new UV(point.X, point.Y));
|
|
|
- //doc.Create.NewSpaceTag(tempSapce, new UV(point.X, point.Y), view);
|
|
|
- spaces.Add(tempSapce);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var tempSapce = doc.Create.NewSpace(level, phase, new UV(point.X, point.Y));
|
|
|
+ doc.Create.NewSpaceTag(tempSapce, new UV(point.X, point.Y), view);
|
|
|
+ spaces.Add(tempSapce);
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ Console.WriteLine(e);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|