新規作成テンプレートファイル設定ファイルな日々

直接テンプレートファイルを操作する方法では、既存の内容を上書きすることしかできません。
今回は、設定ファイルから自分専用のタブを作ってみたいと思います。

まとめ 

いつものことですが、暇に任せて書いている→これ...忙しい人には怒られるだろ...というくらい長くなってしまったので、まずまとめを書いておきます。それぞれの詳細は、読み進めていただくとどこかにあります。

目標

NX新規作成ダイアログに俺仕様テンプレートタブを作る。こんな↓感じになりました。


サマリー

  1. テンプレートにしたいパートファイルを作る
  2. 既存のpaxファイルをコピーする
  3. コピーしたpaxファイルを俺仕様に修正する

ファイル&設定

作成したファイルをzipにまとめました(※macrojournalも含まれています)。
https://sites.google.com/site/nxgate/nxgate20100525.zip

zipを解凍してできるnxgateフォルダをCドライブの直下に保存します(C:\nxgateとなるようにする)。
NXインストールフォルダ\UGII\menus\custom_dirs.datにパス書き込み
詳細→http://nxgatetbr.blogspot.com/2010/05/blog-post.html

これで新規作成ダイアログに、新規タブが現れるはずです。詳細は以下読み進めてください。

 

新規作成ダイアログの設定ファイルを調べる

わかりにくいとか文字化けするとか参考画像をWindows版にしろよなど、いろいろ文句を言ってしまいますが、やっぱり最初に頼るのはヘルプです。新規作成で検索するとテンプレートの作成やタブの作り方がでてきました。 
newf0 
きっとわざと難しく書いてあるのだと思いますが、要するに.paxというXMLファイルが新規作成タブの定義ファイルのようです。とりあえず、今の定義ファイルを探して中身を見てみることにします。
フェイクにひっかかったり英語版を修正したりして時間がかかりましたが、定義ファイルは、NXインストールフォルダ¥LOCALIZATIONフォルダにありました。LOCALIZATIONフォルダは、各言語版のpaxファイルが保存されているようです。

テンプレートファイルの保存先NXインストールフォルダ¥UGII¥templatesフォルダにある.paxファイルが定義ファイルだと思って、説明を変えるなどしてみたのですが一向に変化せず、フェイク英語版だと気付くまでに随分時間がかかりました...orz
モデルタブの定義ファイルであろうugs_model_templates_japanese.paxをメモ帳で開いてみます。
<?xml version="1.0" encoding="UTF-8"?>

<Palette xmlns="http://www.ugsolutions.com/Schemas/2001/UGPalettes" schemaVersion="1.0">

  <Presentation name="Master Model Templates (Inch)" bitmap="sheet_and_block.bmp" FileNewTab="モデル" application="All" UsesMasterModel="No"/>

  <PaletteEntry id="d1">
    <References/>
    <Presentation name="モデル" description="データム座標系でのNXの例">
        <PreviewImage type="UGPart" location="model_template.jpg"/>
    </Presentation>
    <ObjectData class="ModelTemplate">
        <Filename>model-plain-1-inch-template.prt</Filename>
    <Units>English</Units>
    </ObjectData>
  </PaletteEntry>

………
id="d1"はinch用(またひっかかった...orz)なので、id="d2"のdescriptionを以下のように変えてみます。
<PaletteEntry id="d2">
  <References/>
  <Presentation name="モデル" description="データム座標系でのNXの例">



<PaletteEntry id="d2">
  <References/>
  <Presentation name="モデル" description="変わるかな?">

そしてNXを起動すると...
newf1  
か、変わってるよ(((( ;゚Д゚)))

ということで、新規作成ダイアログの定義ファイルは以下にありました。

NXインストールフォルダ¥LOCALIZATIONフォルダ
例:モデルタブの定義ファイル
NXインストールフォルダ¥LOCALIZATION¥ugs_model_templates_japanese.pax


新規作成タブ用のパートファイルを作る

これをテンプレートにするんだ!と自分で思えば良いだけなのでどんなファイルでも構わないのですが、わかりやすく直方体、円筒、球の3ファイルを以下の保存先、ファイル名として作成しました。

    1. 直方体
      C:\nxgate\templates\nxGateTemp1.prt
      newprt1 
    2. 円筒
      C:\nxgate\templates\nxGateTemp2.prt
      newprt2

    3. C:\nxgate\templates\nxGateTemp3.prt
      newprt3 

各テンプレート用のプレビュー画像も作ります。
上のモデル画像でも良いのですが、調子に乗ってmicasukeを入れた画像を作ってみました(*^_^*)

  1. 直方体のプレビュー画像
    C:\nxgate\templates\nxgate_model_block.tif
    nxgate_model_block
  2. 円筒のプレビュー画像
    C:\nxgate\templates\nxgate_model_cylinder.tif
    nxgate_model_cylinder
  3. 球のプレビュー画像
    C:\nxgate\templates\nxgate_model_sphere.tif
    nxgate_model_sphere 
ヘルプには、bmp以外はOKと書いてありましたが、pngも表示されませんでした。
gif、jpg、tifはOKでした。

 

paxファイルの作成

ヘルプに定義があるので一から作ることもできると思いますが、基本なまけものですから、ugs_model_templates_japanese.pax をコピーして修正していきます。

  • コピー元:NXインストールフォルダ¥LOCALIZATION¥ugs_model_templates_japanese.pax
  • コピー先:C:\nxgate\startup\nxGate_templates.pax

    newpax1 
C:\nxgate\templatesにコピーして、ツールバーの定義の時のようにcustom_dirs.datファイルに追記すれば良いだろう、と思っていたのですが、C:\nxgate\templatesを追記しても反応しませんでした。
いろいろ試してみて、custom_dirs.datに指定したフォルダの中にstartupというフォルダを作らないとダメみたいです。C:\nxgate\templates\startupを作成しても良かったのですが、今回はツールバーの時に作ったC:\nxgate\startupに保存することにしました。

定義ファイルの中身はヘルプと実際のファイルを参考に以下のようにしました。

C:\nxgate\startup\nxGate_templates.pax

<?xml version="1.0" encoding="UTF-8"?>

<Palette xmlns="http://www.ugsolutions.com/Schemas/2001/UGPalettes" schemaVersion="1.0">

  <Presentation name="新規作成では不要" bitmap="新規作成では不要.bmp" FileNewTab="NXGate" application="新規作成では不要" UsesMasterModel="No"/>

  <PaletteEntry id="d1">
    <References/>
    <Presentation name="" description="直方体を置いてみた">
        <PreviewImage type="UGPart" location="C:\nxgate\templates\nxgate_model_block.tif"/>
    </Presentation>
    <ObjectData class="ModelTemplate">
        <Filename>C:\nxgate\templates\nxGateTemp1.prt</Filename>
    <Units>Metric</Units>
    </ObjectData>
  </PaletteEntry>

  <PaletteEntry id="d2">
    <References/>
    <Presentation name="" description="円筒を置いてみた">
        <PreviewImage type="UGPart" location="C:\nxgate\templates\nxgate_model_cylinder.tif"/>
    </Presentation>
    <ObjectData class="ModelTemplate">
        <Filename>C:\nxgate\templates\nxGateTemp2.prt</Filename>
    <Units>Metric</Units>
    </ObjectData>
  </PaletteEntry>

  <PaletteEntry id="d3">
    <References/>
    <Presentation name="" description="球を置いてみた">
        <PreviewImage type="UGPart" location="C:\nxgate\templates\nxgate_model_sphere.tif"/>
    </Presentation>
    <ObjectData class="ModelTemplate">
        <Filename>C:\nxgate\templates\nxGateTemp3.prt</Filename>
    <Units>Metric</Units>
    </ObjectData>
  </PaletteEntry>

</Palette>

変更した箇所は

  1. 最初のPresentationタグの中のFileNewTab=タブの名前
  2. PaletteEntryタグの中のPresentationタグの中の
    name=リストに表示される名前
    description=説明欄
  3. PreviewImageタグの中のlocation=プレビュー画像ファイルパス
  4. Filenameタグ=テンプレートファイルパス

文字だとさっぱりわからないのでpaxファイルとダイアログの対比を強引な画像にしてみました。

newpax2 

長くなりましたが、これで新規作成ダイアログの俺仕様タブを作ることができました。結果は最初の動画を見てください。

0 件のコメント:

コメントを投稿