NX Journal 図面の穴寸法の追加テキストを置換する

Share on:

NX Journalで寸法の追加テキストの置換をするプログラムを作成しました。例として、旧JISで書いていた”深さ”を2010年に改訂された記号に置き換える処理を書きました。NXで深さ記号を使う場合は<#D>と記載すれば良いみたいです。処理は下記の通りです。

  • work partからDimensionsを取得
  • dimensionがHoleDimensionか判定
  • 寸法の後ろのテキストをGetAfterText()で取得
  • GetAfterText()が文字列のリストで返してくるのでリストすべての文字列を置換
  • 置換した文字列のリストをSetAfterText()でセット
  • 置換した追加テキストをSetAppendedText()でdimensionにセット

今回は寸法の後ろの追加テキストを置換するプログラムにしましたが、後ろだけでなく前や上、下などの場合は GetBeforeTextや GetAboveText、 GetBelowTextを使うといいと思います。

import NXOpen import NXOpen.Annotations

def main():

theSession  = NXOpen.Session.GetSession()
workPart = theSession.Parts.Work

# 寸法に対して処理
for dimension in workPart.Dimensions:

    # 穴寸法か
    if not type(dimension) is NXOpen.Annotations.HoleDimension:
        continue
    
    afterTexts = dimension.GetAppendedText().GetAfterText()
    replacedAfterTexts = [ s.replace("深さ", "<#D>") for s in afterTexts ]
    
    appendedText = dimension.GetAppendedText()
    appendedText.SetAfterText( replacedAfterTexts )
    dimension.SetAppendedText( appendedText )

if name == ‘main': main()

関連記事