WPF 三维应用搭建(基础)

1 创建项目

选择创建WPF应用
 

WPF 三维应用搭建(基础)_第1张图片

给程序起一个酷酷的名字,选一个酷酷的位置:
 

WPF 三维应用搭建(基础)_第2张图片

选一下.NET6
 

WPF 三维应用搭建(基础)_第3张图片

2 配置项目

从nuget.org上安装AnyCAD Rapid SDK 2022。
 

WPF 三维应用搭建(基础)_第4张图片

3 设计界面

  • 首先引入程序集:
  • xmlns:anycad="clr-namespace:AnyCAD.WPF;assembly=AnyCAD.WPF.NET6"

  • 设计布局

给三维界面留个位置,采用经典的左右窗口。右边用来显示三维内容。完整的xaml如下:


    
        
            
            
        
        
    

运行一下:
 

WPF 三维应用搭建(基础)_第5张图片

5 显示模型

  • 增加一个ViewerReady事件
    WPF 三维应用搭建(基础)_第6张图片

 


  • 在mRenderCtrl_ViewerReady中创建一个球
 private void mRenderCtrl_ViewerReady()
        {
            var shape = ShapeBuilder.MakeSphere(new GPnt(0, 0, 0), 100);
            mRenderCtrl.ShowShape(shape, ColorTable.AliceBlue);
        }

在三维控件初始化完成之前是不能进行对控件进行操作的

再运行一下:
 

WPF 三维应用搭建(基础)_第7张图片

6 资源释放

在调试模式下,程序退出的时候在输出窗口中,你可能会发现这样的错误:


  1. 程序“[57196] WpfApp1.exe”已退出,返回值为 3221225477 (0xc0000005) 'Access violation'。

这是因为AnyCAD Rapid SDK没有正确的释放资源。为保证三维控件资源能够正确释放,程序能够得到正常的返回值,只需要这样加一下Startup和Exit消息:



    
    

代码修改:

  public partial class App : Application
    {
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            AnyCAD.Foundation.GlobalInstance.Initialize();
        }
        private void Application_Exit(object sender, ExitEventArgs e)
        {
            AnyCAD.Foundation.GlobalInstance.Destroy();
        }
    }

你可能感兴趣的:(WPF,wpf)