Revit Api, не включается в свойствах сглаживания модели familydoc и ребер модели для элемента семейства

Я пытаюсь экспортировать изображение семейства моделей 3D Revit для миниатюры с помощью Revit API. Я попытался включить края модели, чтобы они отображались в виде более темных линий, и я попытался включить сглаживание, чтобы линии были сглажены. Я понимаю, что переключение теней, вероятно, безнадежно, поскольку эта опция недоступна в семейном документе.
Я исчерпал все свойства параметров экспорта изображений. Приведенный ниже код имеет параметры экспорта изображения и перечисленные свойства 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
        };

1 ответ

В этой записи блога есть контрольный пример для семейных документов и просмотра, пожалуйста, посмотрите. Ниже приведен фрагмент этого.

#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
Другие вопросы по тегам