Exemplo n.º 1
0
        public void CreateFilledRegion(Document doc, ViewSection intElev, BoundingBoxXYZ roombb)
        {
            List <CurveLoop> filledRegionBoundaries = FilledRegionBoundary(intElev);
            ElementId        filledRegionTypeId     = new FilteredElementCollector(doc)
                                                      .OfClass(typeof(FilledRegionType))
                                                      .Select(f => f as FilledRegionType)
                                                      .Where(f => f != null &&
                                                             f.BackgroundPatternColor.Red == 255 &&
                                                             f.BackgroundPatternColor.Blue == 255 &&
                                                             f.BackgroundPatternColor.Green == 255 &&
                                                             f.IsMasking == true)
                                                      .Select(f => f.Id)
                                                      .FirstOrDefault();

            FilledRegion region = FilledRegion.Create(doc, filledRegionTypeId, intElev.Id, filledRegionBoundaries);
            // set inside and outside lineweight

            Element lineStyle = FilledRegion.GetValidLineStyleIdsForFilledRegion(doc)
                                .Select(id => doc.GetElement(id))
                                .Where(el => el.Name.Contains("05") && el.Name.ToLower().Contains("solid"))
                                .FirstOrDefault();


            region.SetLineStyleId(lineStyle.Id);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creates a filled region for the elevatin using the previously found boundaries
        /// and the user selected filled region type and line style
        /// </summary>
        /// <param name="doc">UI Document</param>
        /// <param name="intElev">Interior Elevation</param>
        /// <param name="filledRegionId">Id of user selected filled region</param>
        /// <param name="lineStyle">Id of user selected line style</param>
        public void CreateFilledRegion(Document doc, ViewSection intElev, ElementId filledRegionId, ElementId lineStyle)
        {
            List <CurveLoop> filledRegionBoundaries = FilledRegionBoundary(intElev);

            FilledRegion region = FilledRegion.Create(doc, filledRegionId, intElev.Id, filledRegionBoundaries);

            region.SetLineStyleId(lineStyle);
        }