NX Journal 図面の穴寸法の追加テキストを置換する
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()
記事の共有
関連記事
- NX Journal アセンブリのリストをcsvで保存
- NX Journal コンポーネントを選択するダイアログ
- NX Journal 子部品を取得する
- NX Journal モデルを新規作成
- NX Journal 子部品の属性をテキスト出力