【Revit API】改变填充区域的填充样式

话不多说,直接上代码

var target = pattern.Target;
var name = pattern.Name;
var fpElem = FillPatternElement.GetFillPatternElementByName(doc, target, name);

using (var tran = new Transaction(doc, "FillPattern"))
{
tran.Start();
var selectionIds = app.ActiveUIDocument.Selection.GetElementIds(); if (selectionIds != null && selectionIds.Any()) { foreach (var id in selectionIds) { FilledRegion elem = doc.GetElement(id) as FilledRegion; if (elem != null && !elem.IsMasking) { OverrideGraphicSettings overrideGraphicSettings = new OverrideGraphicSettings(); overrideGraphicSettings = doc.ActiveView.GetElementOverrides(elem.Id); overrideGraphicSettings.SetProjectionFillPatternId(fpElem.Id); doc.ActiveView.SetElementOverrides(elem.Id, overrideGraphicSettings); } } } tran.Commit();
}

猜你喜欢

转载自www.cnblogs.com/lovecsharp094/p/9268014.html