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>
        /// Gets all the line styles in the document
        /// </summary>
        /// <param name="doc">UI Document</param>
        /// <returns>List of line styles</returns>
        public List <Element> GetLineStyles(Document doc)
        {
            List <Element> lineStyleList = FilledRegion.GetValidLineStyleIdsForFilledRegion(doc)
                                           .Select(id => doc.GetElement(id))
                                           .ToList();

            return(lineStyleList);
        }