APSToolkit 1.2.0

dotnet add package APSToolkit --version 1.2.0                
NuGet\Install-Package APSToolkit -Version 1.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="APSToolkit" Version="1.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add APSToolkit --version 1.2.0                
#r "nuget: APSToolkit, 1.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install APSToolkit as a Cake Addin
#addin nuget:?package=APSToolkit&version=1.2.0

// Install APSToolkit as a Cake Tool
#tool nuget:?package=APSToolkit&version=1.2.0                

Platform License: GNU v3

ReSharper Rider Visual Studio 2022 .NET Framework

Publish Nuget Version NuGet Downloads

PyPI PyPI - Downloads

<a href="https://twitter.com/intent/follow?screen_name=chuongmep"> <img src="https://img.shields.io/twitter/follow/chuongmep?style=social&logo=twitter" alt="follow on Twitter"></a>

🔩 APS Toolkit

APS Toolkit (Former is Forge) is powerful tool for developer,software enginner, AI engineer to explore Autodesk Platform Services(APS). It's built on top of Autodesk.Forge and Newtonsoft.Json. Forge Toolkit includes some features allow you to read, download and write data from Autodesk Platform Services and export to CSV, Excel, JSON, XML, etc.

APSToolkit

⚡ Features

  • Read/Download SVF Model
  • Read/Query Properties Database SQLite
  • Read/Download Properties Without Viewer
  • Read Geometry Data
  • Read Metadata
  • Read Fragments
  • Read MeshPacks
  • Read Images
  • Export Data to CSV
  • Export Data to Excel
  • Export Data to Parquet

⚙ Installation

.NET

Please follow latest update at APSToolkit Nuget

<PackageReference Include="APSToolkit" Version="1.*" />

Python

Please follow latest update at APSToolkit Python

pip install aps-toolkit --upgrade

Before start you need setup your environment:

APS_CLIENT_ID = <your client id>
APS_CLIENT_SECRET = <your client secret>

Advanced setup for APS Toolkit environment:

APS_REFRESH_TOKEN = <your refresh token>
APS_ACCESS_TOKEN = <your access token>
APS_CLIENT_PKCE_ID = <your client id>

⭐ Getting Started

I want export Revit Data To Excel 👇

.NET

using APSToolkit;
using Autodesk.Forge;
using APSToolkit.Database;
using APSToolkit.Auth;
var token = Authentication.Get2LeggedToken().Result;
string urn = "<Derivative URN>";
var RevitPropDbReader = new PropDbReaderRevit(urn, token);
RevitPropDbReader.ExportAllDataToExcel("result.xlsx");

Python

from aps_toolkit import Auth
from aps_toolkit import PropDbReaderRevit
auth = Auth()
token = auth.auth2leg()
urn = "<Derivative URN>"
prop_reader = PropDbReaderRevit(urn, token)
df = prop_reader.get_data_by_category("Ducts")
df.save_to_excel("result.xlsx")

📚 Tutorials

.NET

All Tutorials are available under Jupyter Notebook at .NET Tutorials

Python

All Tutorials are available under Jupyter Notebook at Python Tutorials

License

Many source codes here are collected from open-source authors under the MIT License. Without their sharing and contributions, I wouldn't be able to do this. I am deeply grateful to them, and therefore, I hope that if you are using this tool, please thank them before thanking me and follow their licenses.

This project is licensed under the terms of the gnu-gpl-v3.0. Some part of the project base on the licese follow the original project :

Dependencies

  • Autodesk.Forge - The .NET SDK for Autodesk Forge.
  • Newtonsoft.Json - Json.NET is a popular high-performance JSON framework for .NET.
  • CsvHelper - Library to help reading and writing CSV files.
  • EPPlus - EPPlus is a .NET library that reads and writes Excel files using the Office Open XML format (xlsx).
  • ChoETL - Cinchoo ETL is a code-based ETL framework for extracting data from multiple sources, transforming, and loading into your very own data warehouse in .NET environment. You can have data in your data warehouse in no time.
  • SharpZipLib - SharpZipLib (#ziplib, formerly NZipLib) is a compression library for Zip, GZip, BZip2.
  • Pandas - Pandas is a fast, powerful, flexible and easy to use open source data analysis and data manipulation library built on top of the Python programming language.
  • Nuke - Nuke is a cross-platform build automation system with C# DSL for tasks such as compiling code, copying files and folders, running unit tests, compressing files and building NuGet packages.

👨‍🏫 Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

🎁 Sponsors

alternate text is missing from this package README image

Thanks JetBrains for providing a free All product IDE for this project.


Disclaimer

This is not an official Autodesk product to support for Autodesk Platform Services. Use it at your own risk.

I'm not responsible for any data loss or any other issues caused by using this library, some features need require cost for using. Please read carefully the Autodesk Forge and Autodesk Platform Services terms of use. I'm just doing, testing , maintaining in free time, so feel free to contribute and make it better.

Update : There is a new, official Node.js/TypeScript SDK that's currently in beta but will be stabilized soon. That SDK will offer various benefits over forge-server-utils, for example, it will be easier to maintain and extend in the future as it's being auto-generated from OpenAPI specs. As soon as it's ready to use (which should be really soon), I would archive this project and point to the official SDK instead.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on APSToolkit:

Package Downloads
APSToolkitApp

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.0 109 9/25/2024
1.1.9 83 9/23/2024
1.1.8 92 9/20/2024
1.1.7 87 9/19/2024
1.1.6 115 9/18/2024
1.1.5 155 3/25/2024
1.1.4 122 3/15/2024
1.1.3 125 3/12/2024
1.1.2 144 3/9/2024
1.1.1 126 3/7/2024
1.1.0 139 3/5/2024
1.0.9 139 3/3/2024
1.0.8 118 2/28/2024
1.0.8-beta 83 2/28/2024
1.0.7 132 2/28/2024
1.0.6 126 2/28/2024
1.0.5 142 2/27/2024
1.0.4 134 2/26/2024
1.0.3 128 2/26/2024
1.0.2 128 2/26/2024
1.0.2-beta 100 2/26/2024
1.0.1 131 2/26/2024
1.0.1-alpha 104 2/23/2024
1.0.0 127 2/22/2024