前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.NET8:快速集成Rapid.NET三维控件

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

作者头像
郑子铭
发布2024-01-06 14:40:17
1720
发布2024-01-06 14:40:17
举报
文章被收录于专栏:DotNet NB && CloudNative

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

1 从.NET6升级

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

(1).csproj文件

代码语言:javascript
复制
 <TargetFramework>net8.0-windows</TargetFramework>    

(2)控件窗口

代码语言:javascript
复制
 xmlns:anycad="clr-namespace:AnyCAD.WPF;assembly=AnyCAD.WPF.NET8"    

2 在.NET8项目中集成控件

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

- 使用nuget安装控件

- 程序初始化

- 在XAML中使用控件

具体过程如下:

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

(2)程序初始化

App.xaml

代码语言:javascript
复制

  <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" <strong>Startup="Application_Startup" Exit="Application_Exit"</strong>>
    <Application.Resources>
          
    </Application.Resources>
</Application>

App.xaml.cs

代码语言:javascript
复制
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)
        {
           <strong> AnyCAD.Foundation.GlobalInstance.Initialize();</strong>
        }
 
        private void Application_Exit(object sender, ExitEventArgs e)
        {
            <strong>AnyCAD.Foundation.GlobalInstance.Destroy();</strong>
        }
    }
}
  

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

MainWindow.xaml

代码语言:javascript
复制
 <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"
       <strong> xmlns:anycad="clr-namespace:AnyCAD.WPF;assembly=AnyCAD.WPF.NET8"</strong>
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition MinWidth="100" Width="0.3*"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
      <strong>  <anycad:RenderControl Grid.Column="1" x:Name="mRenderCtrl" Margin="0,0,0,0" ViewerReady="mRenderCtrl_ViewerReady" /></strong>
 
    </Grid>
</Window>

  

MainWindow.xaml.cs

代码语言:javascript
复制
<strong>using AnyCAD.Foundation;</strong>
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()
        {
<strong>            var shape = ShapeBuilder.MakeCylinder(GP.XOY(), 10, 20, 0);
            mRenderCtrl.ShowShape(shape, ColorTable.AliceBlue);</strong>
        }
    }
}

3 编译和运行项目

4 总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet NB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档