首页 > 其他分享 >.NET8:快速集成Rapid.NET三维控件

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

时间:2023-11-23 11:24:36浏览次数:28  
标签:控件 Rapid NET8 NET AnyCAD MainWindow

.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也是非常的丝滑~

标签:控件,Rapid,NET8,NET,AnyCAD,MainWindow
From: https://www.cnblogs.com/anycad/p/net8-rapid-net-3d.html

相关文章

  • Airtest结合Poco对控件实施精准截图,学起来!
    此文章来源于项目官方公众号:“AirtestProject”版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途1.前言最近在Q群内发现有个小伙伴提出了一个很有趣的脚本需求,想要实现“通过选择器获取到了控件,然后截图这个控件范围”,根据我们的Airtest的局部截图接口以及poco......
  • QT实战 之TableWidget控件
    QT实战之TableWidget控件指定列数setColumnCount(3)指定表头setHorizontalHeaderLabels(QStringList)指定行数setRowCount(5)设置每个单元格的内容setItem(int行数,int列数,*QTableWidgetItem内容)#include "tablewidget.h"#include "ui_tablewidget.h" TableWidge......
  • QT实战 之自定义控件(QSpinBox+QSlider)
    QT实战之自定义控件(QSpinBox+QSlider)创建自定义控件(QT设计师界面类)打开ui文件,拖拽需要用到的基础控件(QSpinBox+QSlider)事件绑定(注意QSpinBox::valueChanged有重载,需要用函数指针指定信号函数)使用自定义控件(拖拽添加Widget容器控件,右键菜单--提升为,打开提升对话框,填写提升的......
  • C#在ListView中使用按钮、输入框、进度条等控件
    usingJues.CustomListItemView;usingSystem;usingSystem.Collections.Generic;usingSystem.Windows.Forms;usingstaticSystem.Windows.Forms.ListViewItem;namespaceDemo{publicpartialclassForm1:Form{privateCustomControlcustomC......
  • GUI--JFrame学习01(基本控件)
    [Java进阶]Swing两万字大总结一(超详细教程,这不得收藏一波)_swing教程_程序喵正在路上的博客-CSDN博客1.创建第一个JFrame窗体packagelearn;importjavax.swing.*;importjava.awt.*;publicclassMyFrame01extendsJFrame{publicvoidCreateJFrame(Stringtitl......
  • 界面控件DevExpress WPF流程图组件,完美复制Visio UI!(一)
    DevExpressWPFDiagram(流程图)控件帮助用户完美复制MicrosoftVisioUI,并将信息丰富且组织良好的图表、流程图和组织图轻松合并到您的下一个WPF项目中。P.S:DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着......
  • Teamcenter AWC开发,如果要使用原生的HTML下拉框控件的坑
    1、如果要在AWC原生的弹出框中<aw-popup2>,加入下拉框<selectname="fruit"><optionvalue="apple">Apple</option><optionvalue="banana">Banana</option><optionvalue="orange">Orange</......
  • wpf 任意控件绑定Command
    <BorderBackground="White" BorderBrush="Gray" BorderThickness="1" CornerRadius="2"> <Border.InputBindings> <MouseBindingCommand="{BindingDataContext.BorderCommand,RelativeSource={RelativeS......
  • .NET8.0 AOT 经验分享 - 专项测试各大 ORM 是否支持
    AOT特点发布和部署本机AOT应用具有以下优势:最大程度减少磁盘占用空间:使用本机AOT发布时,将生成一个可执行文件,其中仅包含支持程序所需的外部依赖项的代码。减小的可执行文件大小可能会导致:较小的容器映像,例如在容器化部署方案中。缩短了较小映像的部署时间。缩短启动......
  • .NET8 Blazor新特性 流式渲染
    什么是SSRBlazor中的流式渲染结合了SSR(服务端渲染),服务端将HTML拼好返回给前端,有点像我们熟知的RazorPages或MVC。当已经有了RazorPages或MVC时,为什么还要选择使用Blazor来实现这一点?这里有几个原因。首先,RazorPages和MVC没有像Blazor这样提供了很好的可重用组......