.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控件最新版本
(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 编译和运行项目
4 总结
.NET8带来了诸多新特性,建议还在使用.NET Framework 4.x的用户尽快升级。使用.NET6的用户升级到.NET8也是非常的丝滑~