SPrint
A Chrome extension that allows batch-print PDFs from BIM360 and ACC platforms.
Install / Use
/learn @PerkinsAndWill-IO/SPrintREADME
sPrint 🏃♂️
Printing PDF's from Autodesk Cloud (BIM360/ACC) used to be a time consuming task. Going through all drawings and requesting .PDF's took a while and BIM managers need to quality assurance large drawing sets. sPrint is a Chrome extension that allows batch-print PDFs and download things (derivatives) from Autodesk Cloud Platforms.
<br/><br/>
Get Started 🚀
Deploy Lambda Function
- Create AWS account
- Create AWS IAM
- In AWS security credentials params, add access key, It will provide you with aws_key_id, aws_secret, aws_region
- donwload AWS CLI from https://awscli.amazonaws.com/AWSCLIV2.msi
- Configure AWS credentials with the
aws configurecommand - Enter credentials from #3
- Install SAM CLI from https://github.com/aws/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi
- cd in lambda folder then run
sam build(you may have to install esbuild) - then
sam package - finally
sam deploy - Change the name of the FunctionName variable in \src\services\aws.ts to your own lambda function
To run locally 🧑💻:
-
Navigate to ./extension folder
-
Create .env file
-
Setup environmental variables:
AWS access keys guide APS app creation guide
VITE_AWS_REGION=******* VITE_AWS_ACCESS_KEY_ID=******* VITE_AWS_SECRET_ACCESS_KEY=******* VITE_APS_CLIENT_ID=******* VITE_APS_CLIENT_SECRET=******* -
Run
npm run build -
Run Chrome and go to
chrome://extensions/ -
Toggle the Developer mode and Load unpacked <img width="635" alt="Screenshot 2023-10-31 212944" src="https://github.com/PerkinsAndWill-IO/sPrint/assets/62248969/05d24552-91a3-463f-bbb5-f426ee82ae6c">
-
Load
./extension/distfolder -
Check the extension console (right click on the extension in the chrome toolbar) and copy the callback URL, then set it in the APS app that you created.
<br/><br/>
App (Nuxt) — Local Setup
Important: run postinstall (Nuxt prepare) after install. This generates .nuxt types and avoids dev server issues.
cd ./apppnpm installpnpm run postinstall(runsnuxt prepare)pnpm run dev --port 3000
<br/><br/>
Plugin Architecture 🏛️
The plugin consist of 2 parts:
- Chrome Extension:
- Popup
- Background Script - listen to Tab and status changes.
- Content Script - extends a UI of ACC/BIM360
- Backend:
- Lambda Function - holds export logic.
<br/><br/>
