【问题标题】:Revit Api, Cannot turn on in familydoc model anti-aliasing and model edges properties for family elementRevit Api,无法在familydoc模型抗锯齿和家庭元素的模型边缘属性中打开
【发布时间】:2015-11-04 12:43:07
【问题描述】:

我正在尝试使用 Revit API 为缩略图导出 3d Revit 模型族图像。我尝试打开模型边缘,使它们显示为较暗的线条,并且我尝试打开抗锯齿,使线条平滑。我意识到打开阴影可能是没有希望的,因为这个选项在家庭文档中不可用。
我已经用尽了所有图像导出选项属性。下面的代码包含导出图像选项和我目前设置的枚举 Revit API 属性。

    if (view3D != null)
            {
                views.Add(view3D.Id);
                var graphicDisplayOptions = view3D.get_Parameter(BuiltInParameter.MODEL_GRAPHICS_STYLE);
                // Settings for shaded with edges
                graphicDisplayOptions.Set(3);

                var detailLevelOptions = view3D.get_Parameter(BuiltInParameter.VIEW_DETAIL_LEVEL);
                //Settings for view detail, 3 = fine, 2=med, 1=coarse
                detailLevelOptions.Set(3);

            }
        }
        catch (Autodesk.Revit.Exceptions.InvalidOperationException)
        {

        }

        var ieo = new ImageExportOptions
        {
            //Export image file configuration settings
            FilePath = ImageFamModelFileName,
            FitDirection = FitDirectionType.Horizontal,
            HLRandWFViewsFileType = ImageFileType.BMP,
            ShadowViewsFileType = ImageFileType.BMP,
            ImageResolution = ImageResolution.DPI_600,
            ShouldCreateWebSite = false
        };

【问题讨论】:

    标签: c# parameters model revit-api family-tree


    【解决方案1】:

    this blog 的帖子有一个家庭文档和视图的测试用例,请看一下。下面是其中的一部分。

    #if !VERSION2014
        var direction = new XYZ(-1, 1, -1);
        var view3D = doc.IsFamilyDocument
          ? doc.FamilyCreate.NewView3D(direction)
          : doc.Create.NewView3D(direction);
    #else
        var collector = new FilteredElementCollector(
          doc );
    
        var viewFamilyType = collector
          .OfClass( typeof( ViewFamilyType ) )
          .OfType<ViewFamilyType>()
          .FirstOrDefault( x =>
            x.ViewFamily == ViewFamily.ThreeDimensional );
    
        var view3D = ( viewFamilyType != null )
          ? View3D.CreateIsometric( doc, viewFamilyType.Id )
          : null;
    
    #endif // VERSION2014
    

    【讨论】:

    • Thanx Augusto,我将在那里留下一个查询,但是该帖子没有讨论如何打开家庭文档、家庭边缘或抗锯齿。另一个问题是缩放以适应压缩导出图像,使它们看起来像是来自两个地球重力行星的家具和特殊设备。
    • GetViewDisplayModel() 和 activeview.SetViewDisplayModel(vdm) 我认为可以选择 vdm.SmoothEdges = true;但是我收到一个错误。轮廓线样式 ID 不是应用于视图的有效线样式。参数名称:viewDisplayModel
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 2019-11-27
    • 1970-01-01
    相关资源
    最近更新 更多