Skip to content

显示设置

1 设置坐标轴样式

AnyCAD内置ViewCube和坐标轴两种显示样式,用以表示当前相机的方向。

csharp
    //设置为红绿蓝轴
    renderView.SetViewCube(EnumViewCoordinateType.Axis);
    //显示为Cube
    renderView.SetViewCube(EnumViewCoordinateType.Cube);
    // 不显示
    renderView.SetViewCube(EnumViewCoordinateType.Empty);

设置坐标轴的位置:

csharp
    var settings = new CoordinateWidgetSetting(renderView.Viewer);
    // 设置不到屏幕四个角中的一个 [0, 1, 2, 3]
    settings.SetCoordinateWidgetPosition(1);

2 设置背景

2.1 设置背景色

设置背景色为黑色:

csharp
    mRenderView.SetBackgroundColor(0, 0, 0, 0);

2.2 设置渐变背景色

设置过渡背景色,从上到下渐变

csharp
    var topColor = new Vector3(1,0,0);
    var bottomColor = new Vector3(0, 0, 1);
    var background = new GradientColorBackground(topColor, bottomColor);
    mRenderView.Viewer.SetBackground(background);

2.3 设置背景图片

使用一张图片作为背景

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);

上海图无形科技有限公司旗下产品
Copyright © 2013-2025 AnyCAD