XML形式のプロフォルマ

今回は開発者向けの内容です。

TRNSYS18からプロフォルマ(Proforma)にXML形式のフォーマットが加わりました。既存のProformaや新しく作成したProformaをXML形式で扱えます。

使い方

  1. 既存のコンポーネントダブルクリックして、Proformaのウィンドウを表示。
  2. この状態で、メニューから[File]-[Save As…]を選択して、保存先のフォルダを選択(この例では「C:\TRNSYS18\Studio\Proformas\MyComponents」を選択
  3. 拡張子に.xmltmfを指定して保存(この例では「MyType1a.xmltmf」)

これでXML形式で保存完了です。

XML形式のファイルはブラウザなどで中身を表示できます。下の図はFireFoxで開いてみた画面です。

Proformaの中身が構造化された形式で表示されています。

用途

で、これは何に使えるかというと。。。

XML形式のファイルはプログラムで簡単に扱うことができます。試しに簡単なスクリプトを用意して、Proformaを加工してみます。

集熱器の集熱面積を変えて新しいProformaをまとめて複数作成します。

# Example of saving Proformas.
# Create a Proforma with "Collector area" of 2,4,6,8 square meters.
# author     Yuichi Yasuda @ quattro corporate design
# copyright  2021 quattro corporate design. All right reserved.

import xml.etree.ElementTree as ET
tree = ET.parse(r'C:\TRNSYS18\Studio\Proformas\MyComponents\MyType1a.xmltmf')
root = tree.getroot()

nodes = root.findall("./variables/variable")    
for node in nodes:
    if node.find('name').text == 'Collector area':
        #集熱面積のnodeを探して新しい集熱面積を設定する
        def_value = node.find('default')
        # 集熱面積2,4,6,8㎡のプロフォルマを作成する
        for area in range(2, 10, 2):        
            def_value.text=str(area)
            fname = f'MyType1a_{area}m2.xmltmf'
            xmltmf = r'C:\TRNSYS18\Studio\Proformas\MyComponents'+'\\' + fname
            tree.write(xmltmf)

このスクリプトを実行すると2,4,6,8㎡の集熱器のProformaが作成されます。

作成された8㎡に設定したProformaを選んで配置。Parameterタブを確認すると、集熱面積が8㎡になっているのが確認できます。

今回はシンプルな例でしたが、本来は他のツールとコンポーネントの情報のインポート、エクスポートに使用する目的の機能のようです。

とはいえ、複数のParameterやInputを組み合わせてProformaを作成したいケースや、まとめて編集したいケースでも使えそうです。

動作環境

以下の環境で動作を確認しています。
Windows10 Pro(64bit, 20H2)
TRNSYS18.02.0002(64bit)
Python 3.8.5

Pocket

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です