protected override Element CreateHostGeometry(HorizontalFinishingResult res) { try { /*CurveArray mainProfileWithDoors = res.MainProfile; * foreach (FamilyInstance door in new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Doors)) * { * if (FinishingData.IsElementCollideRoom(res.Room, door)) * { * Curve c = ModelCurveCreator.GetFamilyInstanceCutBaseLine(door); * XYZ ptSt = c.GetEndPoint(0); * XYZ ptEnd = c.GetEndPoint(1); * * mainProfileWithDoors.get_Item(0).Project * } * }*/ return(doc.Create.NewFloor(res.MainProfile, res.FinishingType as FloorType, res.Level, false)); } catch (Autodesk.Revit.Exceptions.ArgumentException e) { ModelCurveCreator mmc = new ModelCurveCreator(doc); mmc.MakeModelCurve(res.MainProfile); mmc.DrawGroup(res.MainProfile, "Незамкнутый контур помещения #" + res.Room.Number.ToString()); Debug.WriteLine(e.ToString()); TaskDialog td = new TaskDialog("Предупреждение"); td.MainIcon = TaskDialogIcon.TaskDialogIconWarning; td.MainInstruction = string.Format("Помещение {0} имеет незамкнутый внешний контур. создание отделки пола для него было пропущено", res.Room.Number); td.MainContent = "Проверьте контур помещения. Он автоматически сгенерирован, проверьте группы моделей"; td.Show(); return(null); } }
protected override Element CreateHostGeometry(HorizontalFinishingResult res) { return(null); }
protected abstract Element CreateHostGeometry(HorizontalFinishingResult res);