CATIAのDrawingTxtオブジェクトのGetParameterOnSubStringメソッドを
使ったことが無いので、戸惑ってます。
御存知の方いらっしゃいましたらアドバイス頂けると助かります。
GetParameterOnSubStringメソッドはDrawingTxtの部分的な文字の情報を
取得するメソッドだと思ってます。
r1 DrawingText (Object)
こんな雑なコードを作りました。
'vba Sub test() Dim doc As Document Set doc = CATIA.ActiveDocument Dim sel As Object 'selection Set sel = doc.selection Dim msg$: msg = "選択して下さい : ESCキー 終了" Dim txt As Variant 'DrawingText Do Select Case sel.SelectElement2(Array("DrawingText"), msg, False) Case "Cancel", "Undo", "Redo" Exit Sub End Select Set txt = sel.Item(1).value iParam = CatTextProperty.catFontSize iFirst = 0 inbCharacter = 0 oval = txt.GetParameterOnSubString(iParam, iFirst, inbCharacter) Debug.Print "oval: " & oval Stop Loop End Sub
DrawingTextを選択し、GetParameterOnSubStringの結果をイミディエイトウィンドウに
垂れ流してます。
第一パラメータはこちらです。
r1 Enumeration CatTextProperty
フォントのサイズを取得したいのです。
こんなデータで試しました。
例えば「a11」は全てフォントサイズ3です。これを選択すると
oval: 3000
ん?単位mmで返すってHelpに書いてあるのに。
続いて「a8」を選択。こちらは全てサイズ10です。
oval: 10000
ん~単位の間違いだけなのだろう。
次は「a12」です。「a」がサイズ5で「12」はサイズ3です。
oval: 0
なるほど、0は文字列のフォントサイズが統一されていないって解釈で
良いんですかね?
分からなかったのが 、上記の「 iFirst 」「 inbCharacter 」。
試すと、「 iFirst 」で指定する文字列の先頭は1の様で、全ての場合は0かな?
文字数の「 inbCharacter 」は「 iFirst 」からの文字数で、「 iFirst 」以降全ての
場合は0で良いような・・・。
解釈合ってますかね?