@ebunn3 .
Probably, UserInterface.createFileDialog can only be used for local files.
The only thing I can think of is to use TableCommandInput to display a list of files and let the user select one.
https://help.autodesk.com/view/fusion360/ENU/?guid#TableCommandInput
This is a meaningless sample, but it uses TableCommandInput to display the file names in the root folder of the active data panel.

# Fusion360API Python script
import traceback
import adsk.fusion
import adsk.core
_app = None
_ui = None
_handlers = []
class MyCommandCreatedHandler(adsk.core.CommandCreatedEventHandler):
def __init__(self):
super().__init__()
def notify(self, args):
try:
global _handlers
cmd = adsk.core.Command.cast(args.command)
inputs = cmd.commandInputs
# event
onDestroy = MyCommandDestroyHandler()
cmd.destroy.add(onDestroy)
_handlers.append(onDestroy)
# get activeProject.rootFolder.dataFiles
app: adsk.core.Application = adsk.core.Application.get()
actDataFiles: adsk.core.DataFiles = app.data.activeProject.rootFolder.dataFiles.asArray()
# Table
rowCount = len(actDataFiles)
tblStyle = adsk.core.TablePresentationStyles
tbl = inputs.addTableCommandInput('table', 'Table', 0, '1:10')
tbl.hasGrid = False
tbl.tablePresentationStyle = tblStyle.itemBorderTablePresentationStyle
if rowCount > 10:
tbl.maximumVisibleRows = 10
elif rowCount > 4:
tbl.maximumVisibleRows = rowCount
for idx, dataFile in enumerate(actDataFiles):
# check box
chk = inputs.addBoolValueInput(
f'check{idx}',
'Checkbox',
True,
'',
False)
tbl.addCommandInput(chk, idx, 0)
# datafile name
dataName = inputs.addStringValueInput(
f'dataName{idx}',
'DataName',
dataFile.name)
dataName.isReadOnly = True
tbl.addCommandInput(dataName, idx, 1)
except:
_ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
class MyCommandDestroyHandler(adsk.core.CommandEventHandler):
def __init__(self):
super().__init__()
def notify(self, args):
global _ui
cmdDef: adsk.core.CommandDefinition = _ui.commandDefinitions.itemById(
'Test')
if cmdDef:
cmdDef.deleteMe()
adsk.terminate()
def run(context):
try:
global _app, _ui
_app = adsk.core.Application.get()
_ui = _app.userInterface
cmdDef = _ui.commandDefinitions.itemById('Test')
if cmdDef:
cmdDef.deleteMe()
cmdDef = _ui.commandDefinitions.addButtonDefinition(
'Test', 'Test', 'Test')
global _handlers
onCommandCreated = MyCommandCreatedHandler()
cmdDef.commandCreated.add(onCommandCreated)
_handlers.append(onCommandCreated)
cmdDef.execute()
adsk.autoTerminate(False)
except:
if _ui:
_ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
I think it would be a good idea to create a mechanism so that when the OK button is pressed, only those files whose checkboxes are checked will be processed.
I don't understand it because I've never used it, but BrowserCommandInput might do the same thing.
https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-8B9041D5-75CC-4515-B4BB-4CF2CD5BC359#Browser...