C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

注記のテキストプロパティ2

こちらの続きです。
注記のテキストプロパティ1 - C#ATIA

DrawingTextPropertiesのプロパティは、恐らく読み書き可能なプロパティだろう
と思い、素直に代入するようにしたところ上手く行きました。
(HelpにSetFontSizeで記載されていましたが、それを使いませんでした)

Sub CATMain()
    
    'Doc
    Dim actdoc As PartDocument
    Set actdoc = CATIA.ActiveDocument

    'part
    Dim pt As part
    Set pt = actdoc.part

    'Annotation
    Dim annoSet As AnnotationSet
    Set annoSet = pt.AnnotationSets.Item(1)
    
    Dim anno As Annotation
    Set anno = annoSet.Annotations.Item(1)

    'TextProperties
    Dim txtProp As DrawingTextProperties
    Set txtProp = anno.Text.Get2dAnnot
    
    'フォントとサイズ変更
    txtProp.FONTNAME = "Arial (TrueType)"
    txtProp.FONTSIZE = 10
    
    '更新
    'txtProp.Update '効果なし
    
    '無駄ですが、アノテーションの文字を同じ文字で
    '上書きすることで更新されました
    anno.Text.Text = anno.Text.Text

End Sub

実行するとこんな感じです。
f:id:kandennti:20200914092532p:plain

最後の

    '更新
    'txtProp.Update '効果なし
    
    '無駄ですが、アノテーションの文字を同じ文字で
    '上書きすることで更新されました
    anno.Text.Text = anno.Text.Text

だけ、すんなり分からなかったのでご説明を。

最初はフォントやサイズを変更しても反応が無く、GUI(手動)でテキストを
変更しようとすると、修正が反映されました。
’txtProp.Update' 'part.Update' で対応出来るだろうと考えたのですが効果が無く、
結果的にGUIの操作同様の文字を上書きする形で、変更が反映されました。
ひょっとしたら、もっと良い方法があるかもしれませんが、、、。