機械系CADのカスタム化紹介

始めてみました。

A3-5:コマンドの表示場所変更②

 「A3-4」で作った「messageBox」コマンドの表示場所を変更します。
 2、UIレイアウトのリスト作成
  2-1、スクリプトの入手
  2-2、リスト作成
  2-3、「MessageBox」の設定値を確認
  2-4、コマンドIDの捜索

 

2、UIレイアウトのリスト作成

 表示場所を指示するためにUIレイアウトのリストを作成します。
 リストの作成には米国のユーザフォーラムで紹介されたスクリプトを使用します。スクリプトの入手、実行は自己責任でお願いします。

 2-1、スクリプトの入手

Fusion360の右上のヘルプメニューの「コミュニティ」から「フォーラム」を選択すると、ウェブブラウザが起動して「日本語 Community」が表示されます。

  

②上側の「Knowledge Network」の右にある「Community」プルダウンメニューから「Forums」を選択します。

  

③「Welcome to the Autodesk Forums」が表示されたら、以下の文字で検索を行います。

   Feedback on my take on "Write userinterface to file"

   

④検索リストに表示された以下の投稿に移動します。

⑤記事の中にあるリンク先に移動します。

  

⑥右上の「Code」プルダウンメニューから「Download ZIP」を選択して必要なファイルをダウンロードします。 

  

⑦ダウンロードしたZIPファイルを解凍します。

  
          ⇓
 

⑧解凍したフォルダの名前を「WriteFusionUI」に変更し、「基本設定」の「スクリプトおよびアドインの既定パス」で指定したフォルダーの下にある「Scripts」フォルダーにコピーします。

  

 2-2、リスト作成

①「MessageBox」の情報を得るために、Fusion360の「スクリプトとアドイン」窓を開き、「アドイン」タブから「NewAddin1」を実行します。

  

② リストを作成するために、「スクリプト」タブから「WriteFusionUI」を実行します。

  

③「UI Report Type」が表示されるので「いいえ」(minimal report作成を選択します)をクリックします。

  

④レポートの保管先、ファイル名を指定して「保存」をクリックします。

  

⑤成功のメッセージが表示されたら「OK」をクリックします。

  

 2-3、「MessageBox」の設定値を確認

エクスプローラで2-2の④で保存したフォルダに移動し、テキストエディタでファイルを開きます。

テキストエディタの検索機能で「MessageBox」の情報を探します。

  

class ACME_NewAddIn1_MessageBox:
 class名はコマンドIDから自動作成

 ID = "ACME_NewAddIn1_MessageBox"
 messageBoxフォルダのentry.pyで設定するコマンドID
  命名規則:COMPANY_NAME_ADDIN_NAME_コマンド名
   COMPANY_NAME:NewAddIn1フォルダにあるconfig.pyで設定
   ADDIN_NAME:アドインのフォルダ名(NewAddIn1)を利用
   コマンド名:messageBoxフォルダのentry.pyで設定

 Index = 4 4行目

 isPromoted = True
 パネルへのコマンド表示有無。messageBoxフォルダのentry.pyで設定

 isPromotedByDefault = False
 UIリセット時に使用する設定らしいが詳細不明。

 2-4、コマンドIDの捜索

  UIレイアウトのリストからコマンドIDを見つける手順のサンプルです。

① UIレイアウトのリストをテキストエディタで開きます。

②「class WorkSpaces」を検索して移動します。

③ 作業スペースのリストから名称を予測し、検索して移動します。
「デザイン」の場合は「class FusionSolidEnvironment」

④ タブのリストから名称を予測し、検索して移動します。

ツールバーパネルのリストから名称を予測し、検索して移動します。

⑥ コマンドIDのリストとFusion360のドロップダウンを比較して、パネルIDとコマンドIDの値を得ます。

⑦「MessageBox」等の「PANEL_ID」、「COMMAND_BESIDE_ID」を上記のIDに変更して、正しいか確認します。

 

この項目は終了です。