Skip to content

paulgovan/AutoDeskR

Repository files navigation

output github_document

AutoDeskR AutoDeskR website

Lifecycle: stable CRAN status R-CMD-check Codecov test coverage

Introduction

AutoDeskR is an R package that provides an interface to the:

  • Authentication API — obtain OAuth2 tokens with expiry tracking via the aps_token class.
  • Data Management API — manage buckets and objects across the platform's cloud services.
  • Design Automation API — run automated tasks on design files in the cloud.
  • Model Derivative API — translate design files into SVF, SVF2, OBJ, and STL formats and extract model data.
  • Reality Capture API — generate 3D models from photogrammetry image sets.
  • Viewer — render 2D and 3D models in Shiny applications.
  • MCP Tools — expose AutoDeskR functions to AI models via the Model Context Protocol using ellmer and mcptools.

Learn more in the Companion Book.

Quick Start

To install AutoDeskR in R:

install.packages("AutoDeskR")

Or to install the development version:

devtools::install_github("paulgovan/AutoDeskR")

Basic workflow

library(AutoDeskR)

# 1. Authenticate
tok <- getToken(id = Sys.getenv("APS_CLIENT_ID"), secret = Sys.getenv("APS_CLIENT_SECRET"))
is_expired(tok)  # FALSE

# 2. Upload a file
makeBucket(token = tok, bucket = "mybucket")
uploadFile(file = "aerial.dwg", token = tok, bucket = "mybucket")

# 3. Translate and wait
resp <- translateSvf2(urn = myEncodedUrn, token = tok)
done <- waitForFile(urn = myEncodedUrn, token = tok)

# 4. Tidy output (requires tibble)
library(tibble)
listBuckets(token = tok) |> as_tibble()

MCP Tools

AutoDeskR exposes its functions to AI models via the Model Context Protocol (MCP). Use autodeskr_mcp_tools() to start an MCP server that AI assistants can call directly — no token argument required; credentials are read from the APS_CLIENT_ID and APS_CLIENT_SECRET environment variables.

# Requires the ellmer and mcptools packages
install.packages(c("ellmer", "mcptools"))

Sys.setenv(APS_CLIENT_ID = "your_id", APS_CLIENT_SECRET = "your_secret")
tools <- autodeskr_mcp_tools()
mcptools::mcp_server(tools = tools)

The server exposes tools for all five APIs: Authentication, Data Management, Model Derivative, Design Automation, and Reality Capture.

Code of Conduct

Please note that the AutoDeskR project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Acknowledgements

Many thanks to the developers at AutoDesk for providing this great set of tools and for the support needed to learn and implement these APIs.

About

An R Interface to the AutoDesk Platform

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors