如何在Revit中将视图设置为自定义视图系列名称?

时间:2014-05-08 21:28:27

标签: c# revit-api

我无法看到如何将视图族类型更改为其他视图系列名称... 例如,我有"Detail Views (Detail)",这是浏览器中放置新ViewSection.CreateDetail部分的默认位置。但我想将视图放在我创建的另一个浏览器位置,名为"Detail Views (Beam Top Detail Views)"

我尝试过的是section.get_Parameter(BuiltInParameter.VIEW_TYPE),它为我提供了它所使用的名称,但它不会让我跟着.Set(NewViewName)(同一个交易)。有没有办法在CreateDetail条目中直接设置它,或者我是否必须运行单独的事务查找给定模式的所有视图,并在那里更改设置?

1 个答案:

答案 0 :(得分:1)

创建细节时,使用ElementId获取正确的viewFamilyTypeId,用于"细节视图(Beam Top Detail Views)"。

这里有一个链接,可以帮助你杰里米·塔姆米克的博客thebuildingcoder.typepad.com

Revit 2014 SDK包含ViewSection.CreateDetail方法的示例代码,如果您不想从安装盘安装,可以在Autodesk's website下载。

ViewFamilyType vt = new FilteredElementCollector(doc).OfClass(typeof(ViewFamilyType))
    .Where(q => q.Name == "Detail Views (Beam Top Detail Views)")
    .First() as ViewFamilyType;
ElementId DetailViewId = vt.Id;
ViewSection newDetail = ViewSection.CreateDetail(document, DetailViewId, box);

如果您想要在创建视图后更改ViewFamilyType ,可以使用以下方式完成此操作:newDetail.ChangeTypeId(DetailViewId);