显示设置
1 设置坐标轴样式
AnyCAD内置ViewCube和坐标轴两种显示样式,用以表示当前相机的方向。
csharp
//设置为红绿蓝轴
renderView.SetViewCube(EnumViewCoordinateType.Axis);
//显示为Cube
renderView.SetViewCube(EnumViewCoordinateType.Cube);
// 不显示
renderView.SetViewCube(EnumViewCoordinateType.Empty);
设置坐标轴的位置:
csharp
// 设置不到屏幕四个角中的一个 [0, 1, 2, 3]
renderView.Viewer.SetCoordinateWidgetPosition(1);
2 设置背景
设置背景色
这是背景色为黑色:
csharp
mRenderView.SetBackgroundColor(0, 0, 0, 0);
设置背景图片
使用一张图片作为背景
csharp
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Image files (*.png;*.jpg)|*.png;*.jpg";
if (dlg.ShowDialog() != DialogResult.OK)
return;
var texture = ImageTexture2D.Create(dlg.FileName);
var background = new ImageBackground(texture);
mRenderView.Viewer.SetBackground(background);
3 设置标准视图
系统内置了几种标准的视角,前后左右上下等
csharp
// 设置到默认的3D视角
mRenderView.SetStandardView(EnumStandardView.DefaultView);
4 屏幕截图
把屏幕截图保存为位图文件:
csharp
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "Bitmap (*.bmp)|*.bmp";
if (dialog.ShowDialog() != DialogResult.OK)
return;
var screenShot = mRenderView.CreateScreenShot();
screenShot.ToBGR();
screenShot.SaveFile(dialog.FileName);
5 显示过滤器
通过控件得到ViewContext对象,可以控制点、线、面的显示。
csharp
EnumShapeFilter filter = ...
viewContext.SetDisplayFilter(filter);
// 清空所有的,仅显示边
viewContext.ClearDisplayFilter();
viewContext.AddDisplayFilter(EnumShapeFilter.Edge);
//重置,显示全部
viewContext.ResetDisplayFilters();
6 设置工作平面网格
使用Viewer设置CoordinateGridWidget对象,以控制网格/全局坐标系显示
csharp
var grid = new PlanarGridWidget(10, 10, 10, 5);
viewer.SetCoordinateGrid(grid);
// 隐藏
viewer.ShowCoordinateGrid(false);
7 设置2D刻度尺
在屏幕周围显示刻度尺
csharp
viewer.SetRulerWidget(EnumRulerWidgetType.Default);