見出し画像

[PowerShell]Blenderランチャ

Windows PowerShellでBlenderのバージョンを切り替えて起動できるようにしましょう。

(動作確認したOSは Windows 10)

実行ファイル(Target)

2つのバージョンのBlenderがそれぞれ以下の場所にあるとしましょう。

・[2.82] C:\Program Files\Blender Foundation\Blender 2.82\blender.exe
・[2.83] C:\blender-2.83\blender.exe

スクリプトファイル

そして2つのファイルを同じフォルダ階層に用意します。

画像1

[b_launch.bat]

powershell -NoProfile -ExecutionPolicy Unrestricted .\b_launch.ps1

[b_launch.ps1]

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$form = New-Object System.Windows.Forms.Form
$form.Text = 'Select a Blender'
$form.Size = New-Object System.Drawing.Size(300,160)
$form.StartPosition = 'CenterScreen'

$okButton = New-Object System.Windows.Forms.Button
$okButton.Location = New-Object System.Drawing.Point(75,80)
$okButton.Size = New-Object System.Drawing.Size(75,23)
$okButton.Text = 'OK'
$okButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $okButton
$form.Controls.Add($okButton)

$cancelButton = New-Object System.Windows.Forms.Button
$cancelButton.Location = New-Object System.Drawing.Point(150,80)
$cancelButton.Size = New-Object System.Drawing.Size(75,23)
$cancelButton.Text = 'Cancel'
$cancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $cancelButton
$form.Controls.Add($cancelButton)

$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,20)
$label.Size = New-Object System.Drawing.Size(280,20)
$label.Text = 'Please select a Blender:'
$form.Controls.Add($label)

$listBox = New-Object System.Windows.Forms.ListBox
$listBox.Location = New-Object System.Drawing.Point(10,40)
$listBox.Size = New-Object System.Drawing.Size(260,20)
$listBox.Height = 40

$ble=@(
  @("2.82","C:\Program Files\Blender Foundation\Blender 2.82\blender.exe"),
  @("2.83","C:\blender-2.83\blender.exe")
  )

for( $i=0;$i -lt $ble.Length; $i++)
{
   [void] $listBox.Items.Add($ble[$i][0])
}

$form.Controls.Add($listBox)

$form.Topmost = $true

$result = $form.ShowDialog()

if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
   $x = $listBox.SelectedIndex
   if( $x -ge 0 ){
       Start-Process -FilePath $ble[$x][1]
   }

}

デスクトップあたりにショートカットを用意しておいても良いでしょう。

画像4

実行方法

b_launch.bat をダブルクリックします。

するとダイアログが表示されるので、リストから起動したいバージョンを選択して、OKボタンを押します。

画像2

画像3

指定したバージョンのBlenderが開きます。

何も指定しないで OK ボタンを押した場合、 Cancel ボタンを押した、 x でダイアログを閉じた場合には何もせずに終了します。

正直このダイアログが出るワンテンポがまどろっこしく感じるくらい Blender は起動が速いので(ここが一番言いたいところ)、個人的には多分常用はしないでしょうけれど、一つの方法として紹介しておきます。

とか言いながら同じバージョンでユーザーフォルダを2つ切り替えられるように(その3で)したことで自分的に便利になっちゃって使っている頻度高くなってます。

参照先

こちらのソースをもとにしています。

続き

2020/05/31追記:他のランチャー的なヤツ

最近 3D人 さんのところで取り上げられた、Blender Launcher がありますね。各ビルドのダウンロードと配置を自動で行ってくれるヤツ。

blenderartists.orgのスレッドはこちら。

他にもどうやら作られた方がいらっしゃるようです。

BlenderHub って名前でリリースされているようですね

2020/9/12追記:バージョンを知るためのAdd-on

複数のバージョンをインストールした環境だと「Blenderに読み込んだ .bled ファイルのバージョンっていくつだっけなあ」ということがあります。2.79から2.8xにかけて、「ファイルの互換性が無い」という状況が実は有ります。なので、それが事前にわかると嬉しい場合があります。

上のほう、その2D&D時にファイルのバージョン情報を判定するものを組み込んでいたりしますが、それもまあ非互換とかその辺を気にして、ってことです。





この記事が参加している募集

おうち時間を工夫で楽しく

お読みいただきありがとうございます。サポートいただいた分はおやつのグレードアップに使おうかと思います。スキ、SNSにシェアもよろしくお願いします!