miki969696

revit api创建自定义线样式

线型在Revit里有LinePatternElement类来表示。 

        private LinePatternElement CreateLinePatternElement(string patternName)
        {
            //Create list of segments which define the line pattern
            List<LinePatternSegment> lstSegments = new List<LinePatternSegment>();
            lstSegments.Add(new LinePatternSegment(LinePatternSegmentType.Dot, 0.0));
            lstSegments.Add(new LinePatternSegment(LinePatternSegmentType.Space, 0.02));
            lstSegments.Add(new LinePatternSegment(LinePatternSegmentType.Dash, 0.03));
            lstSegments.Add(new LinePatternSegment(LinePatternSegmentType.Space, 0.02));
 
            LinePattern linePattern = new LinePattern(patternName);
            linePattern.SetSegments(lstSegments);
 
            Transaction trans = new Transaction(doc);
            trans.Start("Create a linepattern element");
            LinePatternElement linePatternElement = LinePatternElement.Create(doc, linePattern);
            trans.Commit();
            return linePatternElement;
        }

创建线型之后,可以把这个线型赋值给线样式。这里把一个线样式列表中的对象都进行修改线型。

 LinePatternElement myLinePatternElement = CreateLinePatternElement("MyLinePattern");
            foreach (ElementId typeId in lstGridTypeIds)
            {
                Element gridType = doc.GetElement(typeId);
                //set the parameter value of End Segment Pattern
                SetParameter("End Segment Pattern", myLinePatternElement.Id, gridType);
            }
 
 

 

posted on 2025-11-01 01:28  sswsswssw1996  阅读(0)  评论(0)    收藏  举报

导航