Add Autodesk cloud sync connector

Initial implementation of the ifcviewer-autodesk connector — a separate process that bridges the IfcViewer to Autodesk APS (BIM 360 / ACC). Speaks JSON-RPC 2.0 over stdio per CLOUD_SYNC_PROTOCOL.md (also added). PKCE OAuth with keyring-backed token storage, customtkinter browse/picker UI, and PyInstaller packaging.

Implements both interactive and non-interactive variants of each push/pull (pull_ifcfed[_interactive], pull_models[_interactive], push_ifcfed[_interactive], push_model[_interactive]) so the viewer can offer both "Save"/"Open from Cloud" and "Save As"/"Add Model from Cloud" entry points. File transfers report progress through a dialog with per-byte updates; pull_models shows "(i/N)" for batches.

Generated with the assistance of an AI coding tool.
This commit is contained in:
Dion Moult
2026-05-19 23:33:03 +10:00
parent 6ca38f8bf6
commit 95c62cc70e
16 changed files with 3045 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
[build-system]
requires = ["setuptools>=69", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "ifcviewer-autodesk"
version = "0.1.0"
description = "Autodesk cloud connector for IfcViewer"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"customtkinter>=5.2",
"httpx>=0.27",
"keyring>=25.2"
]
[project.optional-dependencies]
build = ["pyinstaller>=6.0"]
[tool.setuptools]
include-package-data = true
[tool.setuptools.packages.find]
where = ["."]
[project.scripts]
ifcviewer-autodesk = "ifcviewer_autodesk.__main__:main"