Revit .net Issue

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
My Issue is: I need to replace the Dormer opening with Vertical opening "Dormer opening cause error by area definitions in combinations with RoomComputationHeight"
Level level = commandData.Application.ActiveUIDocument.Document.ActiveView.GenLevel;
ICollection<Opening> DormerOpeningsList = new List<Opening>();
ElementLevelFilter filterElementsOnLevel = new ElementLevelFilter(level.Id);
FilteredElementCollector collector = new FilteredElementCollector(doc);
collector.OfCategory(BuiltInCategory.OST_Roofs).WherePasses(filterElementsOnLevel);
foreach (Element element in collector)
{
RoofBase roof = element as RoofBase;
ElementId id = roof.Id;
BuiltInCategory bic = BuiltInCategory.OST_RoofOpening;
FilteredElementCollector Opening_collector = new FilteredElementCollector(doc);
Opening_collector.OfClass(typeof(Opening));
Opening_collector.OfCategory(bic);
List<Element> openings = new List<Element>();
if (Opening_collector != null)
{
foreach (Opening e in Opening_collector)
{
if (e.Host.Id.Equals(id))
{
Opening myOpening = e as Opening;
Boolean a = myOpening.IsRectBoundary;
if (myOpening.Name == "Dormer Opening")
{
DormerOpeningsList.Add(myOpening);
}
}
}
}
} // foreach (Element element in collector)
if (DormerOpeningsList.Count > 0)
{
foreach (Opening DormerOpening in DormerOpeningsList)
{
CurveArray profile = new CurveArray();
profile = DormerOpening.BoundaryCurves;
Element hostElement = DormerOpening.Host;
FootPrintRoof roof = hostElement as FootPrintRoof;
doc.Delete(DormerOpening.Id);
doc.Create.NewOpening(roof, profile, true);
}
}
This does not work! doc.Create.NewOpening(roof, profile, true); !?
I would be very grateful if you could give me some feedback for my Issue.
Have a Nice Day.