C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA(最近はPMillマクロとFusion360APIが多い)

DMUスペースアナリシスのセッション

「DMUスペースアナリシスのセッションを利用して、多くの断面を取得したい」
と御相談を頂きました。
が、当方にはDMUスペースアナリシスのライセンスが無い為、手も足も出ないのが
本音なのですが、過去にこちらを試した事があったため
出来る限りのことは記載しておきます。
技術的なオブジェクト?1 - C#ATIA

こんな感じのコードを作りました。

'vba
'DMUスペースアナリシスのセッションのテスト

Sub CATMain()
    'プロダクト
    Dim Prod As Product
    Set Prod = CATIA.ActiveDocument.Product
    
    'セクションコレクション
    Dim Sects As Object 'Sections
    Set Sects = Prod.GetTechnologicalObject("Sections")
    
    'セクション追加
    Call Sects.Add
    Dim Sect As Object 'Section
    Set Sect = Sects.Item(Sects.Count)
    
    'モード変更
    '0-catSectionBehaviorManual
    '1-catSectionBehaviorAutomatic
    '2-catSectionBehaviorFreeze
    Sect.Behavior = 1
    
    '0-without clipping  1-clipping
    Sect.CutMode = 1
    
    'マトリックス
    Dim Mat(11) As Variant ' Double
    Call Sect.GetPosition(Mat)
    
    Stop
    
    'マトリックス変更
    Mat(11) = Mat(11) + 1#
    Call Sect.SetPosition(Mat)

    'エクスポート
    '何処に何をエクスポートしているのか不明
    'Call Sec.Export

    Stop
End Sub

このマクロを実行すると、ライセンスが無いにも関わらずTree部分に
セクションが残ります。(使い道は無いのですが)
f:id:kandennti:20180516161755p:plain

Exportが全くの謎で、ライセンスがあれば可能だと思うのですが
手動操作も良くわかっていないため、この辺が限界です。

SetPositionで断面位置調節し、Exportをジャンジャン行えば良いの
だろうとは思うのですが・・・。