Revit-二开之创建FilledRegion
FilledRegion在Revit注释模块中,具体位置如图所示
图中是Revit2018版本
Revit绘制FilledRegion
在此文中我们通过创建矩形填充区域为例
继上图操作后在修改面板中选择【绘制】中的矩形,如下图所示
在空白的平面视图中拖拽一个矩形区域
点击绿色对号完成绘制
选中绘制的填充区,【右键】–【替换视图中的图形】–【按图元】
本文以【按图元】绘制填充区
在【表面填充图案】中设置【颜色】和【填充图案】
设置完成后【应用】【确定】完成。
Revit API 绘制 FilledRegion
创建FilledRegion
ExternalCommandData externalCommandData = CommandData as ExternalCommandData;
UIDocument uiDoc = externalCommandData.Application.ActiveUIDocument;
Document rvtDoc = uiDoc.Document;
// 获取当前活动的文档
View activeView = uiDoc.ActiveView;
ElementId defaultTypeId = rvtDoc.GetDefaultElementTypeId(ElementTypeGroup.FilledRegionType);
FilledRegionType filledRegionType = rvtDoc.GetElement(defaultTypeId) as FilledRegionType;
FilteredElementCollector fillPatternFilter = new FilteredElementCollector(rvtDoc);
fillPatternFilter.OfClass(typeof(FillPatternElement));
//获取实体填充
FillPatternElement fp = fillPatternFilter.First(m => (m as FillPatternElement).GetFillPattern().IsSolidFill) as FillPatternElement;
FilledRegion filledRegion = FilledRegion.Create(rvtDoc, defaultTypeId, activeView.Id, curves);
OverrideGraphicSettings ogs = activeView.GetElementOverrides(filledRegion.Id);
#if REVIT2016 || REVIT2017 || REVIT2018
//设置 投影/表面 ->填充图案->填充图案
ogs.SetProjectionFillPatternId(fp.Id);
//设置 投影/表面 ->填充图案->颜色
ogs.SetProjectionFillColor(new Autodesk.Revit.DB.Color(255,0,0));
#else
//设置 投影/表面 ->填充图案->填充图案
ogs.SetSurfaceForegroundPatternId(fp.Id);
//设置 投影/表面 ->填充图案->颜色
ogs.SetSurfaceForegroundPatternColor(new Autodesk.Revit.DB.Color(255,0,0));
#endif
Revit2019及Revit2019之前版本
SetProjectionFillPatternId
SetProjectionFillColor
从Revit2020版本正式废弃,分别使用一下两个方法替代
SetProjectionFillPatternId
SetSurfaceForegroundPatternColor