Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 protected override Element CreateHostGeometry(HorizontalFinishingResult res)
 {
     return(null);
 }
Ejemplo n.º 3
0
 protected abstract Element CreateHostGeometry(HorizontalFinishingResult res);