.NET8:快速集成Rapid.NET三维控件_控件

.NET8正式版本发布了,AnyCAD Rapid.NET针对.NET8进行了升级和优化。本文以WPF项目为例介绍在.NET8中使用AnyCAD Rapid.NET三维控件。

.NET8正式版本发布了,AnyCAD Rapid.NET针对.NET8进行了升级和优化。本文以WPF项目为例介绍在.NET8中使用AnyCAD Rapid.NET三维控件。

1 从.NET6升级

若之前使用NET6升级到.NET8,升级过程非常简单,升级到AnyCAD Rapid .NET最新版本后,仅需要更改以下两处:

(1).csproj文件

<TargetFramework>net8.0-windows</TargetFramework>

(2)控件窗口

xmlns:anycad="clr-namespace:AnyCAD.WPF;assembly=AnyCAD.WPF.NET8"

 

2 在.NET8项目中集成控件

对于新建的.NET8项目,使用AnyCAD Rapid .NET控件仅需要三步:

- 使用nuget安装控件

- 程序初始化

- 在XAML中使用控件

具体过程如下:

(1)安装Rapid .NET控件最新版本

.NET8:快速集成Rapid.NET三维控件_WPF_02

 

(2)程序初始化

App.xaml

<Application x:Class="WpfStarter.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WpfStarter"
             StartupUri="MainWindow.xaml" Startup="Application_Startup" Exit="Application_Exit">
    <Application.Resources>
         
    </Application.Resources>
</Application>

  

App.xaml.cs

using System.Windows;

namespace WpfStarter
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    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();
        }
    }
}

  

(3) 窗口中添加三维控件

MainWindow.xaml

 

<Window x:Class="WpfStarter.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfStarter"
        xmlns:anycad="clr-namespace:AnyCAD.WPF;assembly=AnyCAD.WPF.NET8"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition MinWidth="100" Width="0.3*"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <anycad:RenderControl Grid.Column="1" x:Name="mRenderCtrl" Margin="0,0,0,0" ViewerReady="mRenderCtrl_ViewerReady" />

    </Grid>
</Window>

  

MainWindow.xaml.cs

using AnyCAD.Foundation;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows;

namespace WpfStarter
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            
        }

        private void mRenderCtrl_ViewerReady()
        {
            var shape = ShapeBuilder.MakeCylinder(GP.XOY(), 10, 20, 0);
            mRenderCtrl.ShowShape(shape, ColorTable.AliceBlue);
        }
    }
}

  

3 编译和运行项目

.NET8:快速集成Rapid.NET三维控件_xml_03

 

4 总结

.NET8带来了诸多新特性,建议还在使用.NET Framework 4.x的用户尽快升级。使用.NET6的用户升级到.NET8也是非常的丝滑~