C#ATIA

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

Period

また書きかけているのに放置してますね・・・。

ちょっと疑問に思った事がありまして、試しました。

まず、このような円や円弧をDrawで描きます。

続いてこんなマクロ(VBA)を作成しました。

'vba
Option Explicit

Sub CATMain()

    Dim sel As Variant 'Selection
    Set sel = CATIA.ActiveDocument.Selection

    Dim msg As String
    msg = "選択して下さい : ESCキー 終了"

    Dim selectObj As AnyObject
    Do
        sel.Clear
        Select Case sel.SelectElement2(Array("AnyObject"), msg, False)
            Case "Cancel", "Undo", "Redo"
                Exit Sub
        End Select

        Set selectObj = sel.Item2(1).value

        Stop
    Loop
End Sub

何かを選択してストップするだけです。

これで左の円を選択し、ローカルウィンドウを見ると見覚えのない
プロパティが。

Period・・・言葉の意味がわからないので調べると"期間""周期"って
出てきます。

ドキュメントのCircle2Dを見ても出てこないプロパティです。
r1 Circle2D (Object)

と思ったら、Curve2Dに有りました。
r1 Curve2D (Object)


但し、数値の"6.28318530717959"には見覚えがあります。
これは2π(円周率)ですね。つまりパラメータです。
右の円弧を調べても同じでした。

こんな感じでもう少し線を追加しました。

それぞれ試してみると
・楕円:6.28318530717959
・スプライン:それなりに大きな数値
・直線:0
楕円も6.28318530717959なんですね。まぁ確かに。
と考えるとPeriodだけでは円とは判断できないですね。

唯一直線の判断は出来ますが・・・それ調べなくてもわかるかな。