C#ATIA

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

ToolLibraryへのアクセス2

こちらの続きです。
ToolLibraryへのアクセス1 - C#ATIA

"Local"へのアクセスが分からなかったのですが、こんな感じで
アクセス用のURLのパスが取得出来るようです。

# Fusion360API Python script

import traceback
import adsk.core as core
import adsk.cam as cam

def run(context):
    ui: core.UserInterface = None
    try:
        app: core.Application = core.Application.get()
        ui = app.userInterface

        LL: cam.LibraryLocations = cam.LibraryLocations
        locations = (
            ('LocalLibraryLocation', LL.LocalLibraryLocation),
            ('CloudLibraryLocation', LL.CloudLibraryLocation),
            ('NetworkLibraryLocation', LL.NetworkLibraryLocation),
            ('OnlineSamplesLibraryLocation', LL.OnlineSamplesLibraryLocation),
            ('ExternalLibraryLocation', LL.ExternalLibraryLocation),
            ('Fusion360LibraryLocation', LL.Fusion360LibraryLocation),
        )

        camManager: cam.CAMManager = cam.CAMManager.get()
        libraryManager: cam.CAMLibraryManager = camManager.libraryManager
        toolLibraries: cam.ToolLibraries = libraryManager.toolLibraries

        for name, location in locations:
            print('{}\t: {}'.format(
                name,
                toolLibraries.urlByLocation(location).toString()
            ))

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))

結果はこんな感じです。

LocalLibraryLocation	: toollibraryroot://Local
CloudLibraryLocation	: cloud://
NetworkLibraryLocation	:
OnlineSamplesLibraryLocation	:
ExternalLibraryLocation	: custom://
Fusion360LibraryLocation	: systemlibraryroot://Samples

取得出来ていない物は、僕が使ったいないからだと思います。

各ドキュメントのツールライブラリは前回試した
”documentToolLibrary”プロパティだけだと思われます。