Skip to content

显示设置

1 设置坐标轴样式

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

csharp
    CoordinateWidgetSetting setting = new CoordinateWidgetSetting(renderView.Viewer);
    //设置为红绿蓝轴
    setting.SetCoordinateWidget(EnumViewCoordinateType.Axis);
    //显示为Cube
    setting.SetCoordinateWidget(EnumViewCoordinateType.Cube);
    // 不显示
    setting.SetCoordinateWidget(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
    RulerWidgetSetting setting = new RulerWidgetSetting(viewer);
    setting.SetRulerWidget(EnumRulerWidgetType.Default);

8 通用颜色设置

在窗口创建之前,可以使用 ThemeColorTable 设置配色。 颜色支持保存为文件。

csharp
var tt = ThemeColorTable.Instance();
tt.SetColor(EnumColorItemName.FaceSelection, new Vector3(1, 0, 0)); // 设置选中颜色为红色

// 保存
tt.Save("d:/themeColor.txt");

// 加载
tt.Load("d:/themeColor.txt");

9 通用显示设置和保存

GraphicsSetting支持把显示设置保存为文件。

csharp

var gs = GraphicsSetting.Instance();
gs.SetFreeOrbit(true);

// 保存
gs.Save("d:/graphicsSetting.txt");

// 加载
gs.Load("d:/graphicsSetting.txt");


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