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