3D Print Model

3D Print Model を描画します。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. 3D Model は DirectX で描画するのですが、3mf File はC#の[空白アプリ(ユニバーサル Windows)]で簡単に描画出来るようです。
    拡張子が 3mf のファイルは、三次元印刷用に開発された3Dモデルのデータファイルです。
    Windows10 の 3D Builder を起動すれば幾つかのサンプルモデルが取得出来ます。
    また、ここから3Dプリンターで印刷の依頼が出来るようです。
    3D Builder で取得したページ先頭の [ティラノサウルス.3mf] を描画するプログラムを作成します。
  2. Visual Studio を起動して [Visual C#][Windows][空白アプリ(ユニバーサル Windows)]を選びます。
    Scenario2_Launch.xaml と Scenario2_Launch.xaml.cs をプロジェクトのフォルダーに格納して [Project][既存の項目の追加] から加えます。
    Scenario2_Launch.xaml ファイルのソースコードです。
    <Page
        x:Class="App1.Scenario2_Launch"
        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"
        mc:Ignorable="d">
    
        <ScrollViewer Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Padding="12,10,12,12">
            <StackPanel>
                <TextBlock Text="Description:" />
                <TextBlock Text="Launch 3D Builder"/>
    
                <Button Margin="0,10,0,0" Content="Open a file in 3D Builder" Click="{x:Bind LaunchFileIn3DBuilder}"/>
            </StackPanel>
        </ScrollViewer>
    </Page>
    
  3. Scenario2_Launch.xaml.cs ファイルのソースコードです。
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Windows.ApplicationModel;
    using Windows.Foundation;
    using Windows.Storage;
    using Windows.Storage.Pickers;
    using Windows.System;
    using Windows.UI.Xaml.Controls;
    using System.Diagnostics;
    
    namespace App1
    {
        public sealed partial class Scenario2_Launch : Page
        {
            private static string PackageFamilyName3DBuilder = "Microsoft.3DBuilder_8wekyb3d8bbwe";
    
            public Scenario2_Launch()
            {
                this.InitializeComponent();
            }
    
            private async void LaunchFileIn3DBuilder()
            {
                FileOpenPicker openPicker = new FileOpenPicker();
                openPicker.ViewMode = PickerViewMode.Thumbnail;
                openPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
                openPicker.FileTypeFilter.Add(".3mf");
                openPicker.FileTypeFilter.Add(".stl");
    
                StorageFile file = await openPicker.PickSingleFileAsync();
                if (file == null)
                {
                    return;
                }
    
                var options = new LauncherOptions();
    
                // The target application is 3D Builder.
                options.TargetApplicationPackageFamilyName = PackageFamilyName3DBuilder;
    
                // If 3D Builder is not installed, redirect the user to the Store to install it.
                options.FallbackUri = new Uri("ms-windows-store:PDP?PFN=" + PackageFamilyName3DBuilder);
    
                await Launcher.LaunchFileAsync(file, options);
            }
        }
    }
    
  4. 右三角矢印(または F5 キー)でコンパイル&実行するとボタンが表示されます。
    ボタンをクリックして 3mf ファイルを選択すると3Dモデルが表示され、マウスで回転や移動が出来ます。
    Windows10 の「スタート」ボタンクリックすると今作製したアプリ(App1)が登録されています。
    残しておく必要がなければ右クリックからアンインストールして下さい。
  5. モデルを個別に選択して編集することも出来るようです。

  6. モデルの描画は new Uri("ms-windows-store:PDP?PFN=" + PackageFamilyName3DBuilder); に任せているようで、 プログラムからはモデル描画のページを呼び出すだけのようです。

超初心者のプログラム入門(C# Frame Work)