Revit 平面图常规模型怎么换颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Revit 平面图常规模型怎么换颜色相关的知识,希望对你有一定的参考价值。

参考技术A 可以根据特定值或值范围,将颜色方案应用于楼层平面视图和剖面视图。 可以向每个视图应用不同颜色方案更换颜色。
“建筑”选项卡“房间和面积”面板下拉列表(颜色方案)。且使用颜色方案,必须先在项目中定义房间、面积、空间、分区、管道或风管。注释选项卡下,"颜色填充图例"单击“修改 | 颜色填充图例”选项卡 “方案”面板 (编辑方案)。在“编辑颜色方案”对话框中,选择一行并单击 或 在列表中向上或向下移动值。这些选项只在选择了“按值”时才可用。注: 修改项目的顺序时,所有使用颜色方案的项目视图均会受到影响。颜色方案可将您指定的房间和区域颜色应用到楼层平面视图或剖面视图中。可向已填充颜色的视图中添加颜色填充图例,以标识颜色所代表的含义。

如何使用 Revit API 激活(显示)视图(平面图或标高)?

【中文标题】如何使用 Revit API 激活(显示)视图(平面图或标高)?【英文标题】:How can I activate (display) a view (floor plan or Level) using Revit API? 【发布时间】:2021-12-16 05:49:04 【问题描述】:

我正在尝试使用 Revit API 激活视图。我想要做的是显示水平或平面图视图。所以我想激活的视图(我的意思是,我希望这个视图实际显示在屏幕上)已经存在,我可以访问它的 ID。

我看到了有关创建、浏览、过滤视图的线程,但没有激活它...这是一个平面图视图。 (我想要的是通过选择一个级别/平面图,它会在屏幕上显示该级别/平面图(就像从现有的 Revit 模型中打开该平面图以显示在用户屏幕上一样)。

【问题讨论】:

这里是 ActiveView 属性revitapidocs.com/2022/b6adb74b-39af-9213-c37b-f54db76b75a3.htm 【参考方案1】:

FilteredElementCollector viewCollector = new FilteredElementCollector(doc);

                viewCollector.OfClass(typeof(View));

                foreach (Element viewElement in viewCollector)
                
                        yourview = (View)viewElement;
                      
                        break;  
                
            

            uidoc.ActiveView = yourview;

【讨论】:

【参考方案2】:

这是一个如何切换到默认 3d 视图的示例 https://thebuildingcoder.typepad.com/blog/2011/09/activate-a-3d-view.html

您可以对所有其他可用视图执行相同操作

    UIApplication uiapp = commandData.Application;
    UIDocument uidoc = uiapp.ActiveUIDocument;
  
    uidoc.ActiveView = yourview;

要从您的代码看起来像这样的级别创建视图

ViewFamilyType viewFamilyType = (from elem in new 
    FilteredElementCollector(doc)
    .OfClass(typeof(ViewFamilyType))
    let type = elem as ViewFamilyType
    where type.ViewFamily == ViewFamily.FloorPlan
    select type).FirstOrDefault();

using (Transaction t = new Transaction(doc))

    t.Start("Create View");
    var floorPlan = ViewPlan.Create(doc, viewFamilyType.Id, yourLevel.Id);
    floorPlan.Name = "NewView";
    t.Commit();

【讨论】:

我试过这个。但我无法将“视图”设置为“uidoc.ActiveView”。 无法将 Autodesk.Revit.DB.Level 投射到 Autodesk.Revit.DB.View 你必须从你的关卡中创建一个视图。使用一种可用的视图类型revitapidocs.com/2017/76bee86d-3c34-7ee1-4349-cd7abcbf3d78.htm,然后使用 .Create(level.Document, viewTypeId, level.Id); 我创建了一个功能区选项卡和一个打开“WPF”的按钮,其中有一个下拉菜单,在这里我收集了楼层/平面图(例如 Level1、Level2 等)来自 Revit 项目。所以在这里我想通过选择特定级别来打开(我添加了一个按钮....单击以“显示”)特定级别/平面图。 我们可以按级别过滤视图吗??【参考方案3】:

超级简单:

# normally you have the ui set at the start of your script
ui = __revit__.ActiveUIDocument 

# then just set the ActiveView as your view (not the ViewId)
ui.ActiveView = yourView

【讨论】:

以上是关于Revit 平面图常规模型怎么换颜色的主要内容,如果未能解决你的问题,请参考以下文章

revit剖面框在哪里弄出来。

revit剖面图看不见门

revit楼板颜色放大缩小不一样

revit中如何修改构件的颜色

在 Forge Viewer 中查看 Revit 平面图(2D 视图)

revit不能同时开两个模型吗