数字孪生
利用物理模型、传感器数据、历史数据等在虚拟空间中完成映射,反映相对应实体装备的全生命周期过程。
1、开发工具.NET或者Unity
- Windows 使用WPF (windows Present Framework)
- macOS/linux使用maui (multi platform application UI)是WPF的扩展
- 安装maui
- dotnet workload install maui
2、通信仿真
3、创建项目
dotnet new sln -n 解决方案名
dotnet new maui -n 项目名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| { "version": "2.0.0", "tasks": [ { "label": "build maui-ios", "command": "dotnet", "type": "shell", "args": [ "build", "-t:Build", "-c", "Debug", "-f", "net10.0-ios", "-r", "iossimulator-arm64", "${workspaceFolder}/FirstProject/FirstProject.csproj" ], "problemMatcher": "$msCompile" }, { "label": "build maui-mac", "command": "dotnet", "type": "shell", "args": [ "build", "-t:Build", "-c", "Debug", "-f", "net10.0-maccatalyst", "-r", "maccatalyst-arm64", "${workspaceFolder}/FirstProject/FirstProject.csproj" ], "problemMatcher": "$msCompile" }, ] }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| { "version": "0.2.0", "configurations": [ { "name": "Run iOS Simulator", "type": "coreclr", "request": "launch", "preLaunchTask": "build maui-ios", "program": "dotnet", "args": [ "build", "-t:run", "--framework", "net10.0-ios", "-r", "iossimulator-arm64", "-p:_DeviceName=:v2:udid=6E2F2C58-D041-4097-BF2E-791E169DC1B9" ], "cwd": "${workspaceFolder}", "console": "integratedTerminal" }, { "name": "Run Mac Catalyst", "type": "coreclr", "request": "launch", "preLaunchTask": "build maui-mac", "program": "dotnet", "args": [ "run", "--project", "${workspaceFolder}/FirstProject/FirstProject.csproj", "--framework", "net10.0-maccatalyst", "--runtime", "maccatalyst-arm64" ], "cwd": "${workspaceFolder}", "console": "integratedTerminal" } ] }
|
-
常用命令
1 2 3 4 5 6
| dotnet workload install <工作负荷> --version 10.0.1 #安装平台应用 dotnet workload uninstall <工作负荷> #卸载平台应用 dotnet workload search #查询可用平台应用 dotnet workload list #已安装的平台 dotnet --info #dotnet信息 dotnet new globaljson --sdk-version 10.0.100 --force #切换dotnet版本
|
4、vscode创建项目
5、(1)创建项目时要联网,否则一些依赖配置无法下载
(2)运行环境macos系统是15+,.Net10+, Xcode 26+
(3) 各类型项目(例如maui)sdk的版本要和dotnet sdk版本一致否则报错
(4)MAUI 采用原生控件渲染,直接利用平台特定的 UI 组件(如 Android 的 Android.Views 或 iOS 的 UIKit),从而实现接近原生的性能和外观,但需为每个平台编写或适配特定代码;而 MAUI Blazor 将 Blazor(一种基于 Web 技术的框架)集成到 MAUI 中,使用HTML/CSS/JavaScript 渲染 UI,通过 WebView 在原生外壳中显示内容,使 UI 保持跨平台一致性,但可能引入 Web 技术的性能开销。
工程项目讲解
-
App.xaml

-
MainPage.xaml主窗口
3D空间
- 概念:坐标系,点线面,三角顶点网格,材质(贴图),光源,相机
- 模型结构:MeshGemetry3D, Positions, TriangleIndices, Material
- 相机:透视相机、正交相机
- 光源:环境光、平行光、点光源、聚光灯
- 对象容器:ViewPort3D