|
@@ -59,9 +59,9 @@ namespace SAGA.MBI.Calc
|
|
|
var spaces = context.RevitDoc.GetSpaces();
|
|
|
foreach (Space space in spaces)
|
|
|
{
|
|
|
- if(!space.IsSpace())continue;
|
|
|
+ if (!space.IsSpace()) continue;
|
|
|
MISpace mspace = DalSpace.GetSpace(space);
|
|
|
- if(mspace==null)continue;
|
|
|
+ if (mspace == null) continue;
|
|
|
mspace.Operator = DocumentChangedOperator.Add;
|
|
|
context.MSpaces.Add(mspace);
|
|
|
}
|
|
@@ -73,9 +73,10 @@ namespace SAGA.MBI.Calc
|
|
|
private static void CalcEquipPartRlt(CalcContext context)
|
|
|
{
|
|
|
var familyInstances = context.RevitDoc.GetFamilyInstances();
|
|
|
+ List<FamilyInstance> parts = new List<FamilyInstance>();
|
|
|
foreach (FamilyInstance fi in familyInstances)
|
|
|
{
|
|
|
- if(!fi.IsValidObject)continue;
|
|
|
+ if (!fi.IsValidObject) continue;
|
|
|
if (fi.IsEquipment())
|
|
|
{
|
|
|
MEquipment equipment = DalEquip.GetEquipment(fi);
|
|
@@ -91,15 +92,15 @@ namespace SAGA.MBI.Calc
|
|
|
if (mSpace != null)
|
|
|
{
|
|
|
//设备所在空间添加添加一组关系
|
|
|
- context.RltEquipInSpaces.Add(new RltEquipInSpace(mSpace, equipment){Operator = DocumentChangedOperator.Add});
|
|
|
+ context.RltEquipInSpaces.Add(new RltEquipInSpace(mSpace, equipment) { Operator = DocumentChangedOperator.Add });
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//在这里处理信标
|
|
|
- if (fi.IsBeacon())
|
|
|
+ else if (fi.IsBeacon())
|
|
|
{
|
|
|
MBeacon mode = DalBeacon.GetBeacon(fi);
|
|
|
- if(mode==null)continue;
|
|
|
+ if (mode == null) continue;
|
|
|
mode.Operator = DocumentChangedOperator.Add;
|
|
|
context.MBeacons.Add(mode);
|
|
|
|
|
@@ -113,30 +114,32 @@ namespace SAGA.MBI.Calc
|
|
|
context.RltBeaconinElementSps.Add(new RltBeaconinElementSp(mSpace, mode) { Operator = DocumentChangedOperator.Add });
|
|
|
}
|
|
|
}
|
|
|
+ else if (fi.IsEquipmentPart())
|
|
|
+ {
|
|
|
+ parts.Add(fi);
|
|
|
+ }
|
|
|
}
|
|
|
//单独处理部件,因为部件要依赖设备
|
|
|
- foreach (FamilyInstance fi in familyInstances)
|
|
|
+ foreach (FamilyInstance fi in parts)
|
|
|
{
|
|
|
// 在这里处理部件
|
|
|
- if (fi.IsEquipmentPart())
|
|
|
- {
|
|
|
- MEquipmentPart equipment = DalEquipPart.GetEquipPart(fi);
|
|
|
- if(equipment?.MEquipment == null)continue;
|
|
|
-
|
|
|
- equipment.Operator = DocumentChangedOperator.Add;
|
|
|
- context.MEquipmentParts.Add(equipment);
|
|
|
+ MEquipmentPart equipment = DalEquipPart.GetEquipPart(fi);
|
|
|
+ if (equipment?.MEquipment == null) continue;
|
|
|
|
|
|
- //识别设备所在空间
|
|
|
- var space = fi.GetReferenceSpace();
|
|
|
- if (space == null) continue;
|
|
|
- string spaceId = space.GetCloudBIMId();
|
|
|
- MISpace mSpace = context.MSpaces.FirstOrDefault(t => t.BimID == spaceId);
|
|
|
- if (mSpace != null)
|
|
|
- {
|
|
|
- //设备所在空间添加添加一组关系
|
|
|
- context.RltEquipInSpaces.Add(new RltEquipInSpace(mSpace, equipment) { Operator = DocumentChangedOperator.Add });
|
|
|
- }
|
|
|
+ equipment.Operator = DocumentChangedOperator.Add;
|
|
|
+ context.MEquipmentParts.Add(equipment);
|
|
|
+
|
|
|
+ //识别设备所在空间
|
|
|
+ var space = fi.GetReferenceSpace();
|
|
|
+ if (space == null) continue;
|
|
|
+ string spaceId = space.GetCloudBIMId();
|
|
|
+ MISpace mSpace = context.MSpaces.FirstOrDefault(t => t.BimID == spaceId);
|
|
|
+ if (mSpace != null)
|
|
|
+ {
|
|
|
+ //设备所在空间添加添加一组关系
|
|
|
+ context.RltEquipInSpaces.Add(new RltEquipInSpace(mSpace, equipment) { Operator = DocumentChangedOperator.Add });
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|