ricaun.Autodesk.Forge.Oss.DesignAutomation
3.1.1
Prefix Reserved
dotnet add package ricaun.Autodesk.Forge.Oss.DesignAutomation --version 3.1.1
NuGet\Install-Package ricaun.Autodesk.Forge.Oss.DesignAutomation -Version 3.1.1
<PackageReference Include="ricaun.Autodesk.Forge.Oss.DesignAutomation" Version="3.1.1" />
<PackageVersion Include="ricaun.Autodesk.Forge.Oss.DesignAutomation" Version="3.1.1" />
<PackageReference Include="ricaun.Autodesk.Forge.Oss.DesignAutomation" />
paket add ricaun.Autodesk.Forge.Oss.DesignAutomation --version 3.1.1
#r "nuget: ricaun.Autodesk.Forge.Oss.DesignAutomation, 3.1.1"
#:package ricaun.Autodesk.Forge.Oss.DesignAutomation@3.1.1
#addin nuget:?package=ricaun.Autodesk.Forge.Oss.DesignAutomation&version=3.1.1
#tool nuget:?package=ricaun.Autodesk.Forge.Oss.DesignAutomation&version=3.1.1
Autodesk.Forge.Oss.DesignAutomation
PackageReference
<PackageReference Include="ricaun.Autodesk.Forge.Oss.DesignAutomation" Version="*" />
Requirements
- .NET 6 or later
- A registered app on the Autodesk Platform Service.
Dependencies
Configuration
By default the Forge credentials could be defined with the following environment variables:
APS_CLIENT_ID=<your client id>
APS_CLIENT_SECRET=<your client secret>
or
FORGE_CLIENT_ID=<your client id>
FORGE_CLIENT_SECRET=<your client secret>
Region
You can define the region of the bucket. Available regions
APS_CLIENT_BUCKET_REGION=<region>
or
FORGE_CLIENT_BUCKET_REGION=<region>
Custom
You can define a custom header to be sent with each Design Automation requests to the Forge API. The custom header is only enabled if the engine is deprecated.
APS_CLIENT_CUSTOM_HEADER_VALUE=<your custom header>
or
FORGE_CLIENT_CUSTOM_HEADER_VALUE=<your custom header>
The custom header follow pattern x-my-custom-header: engine value is {0}. (The value {0} is replaced with the engine+version.)
The header gonna be x-my-custom-header and the value engine value is Autodesk.Revit+2023 when using the engine Autodesk.Revit+2023.
Samples
This repository contains each sample of the Autodesk Step-by-Step Tutorial.
- Autodesk Tutorial for 3dsmax - DA_3dMax.cs
- Autodesk Tutorial for Autocad - DA_AutoCAD.cs
- Autodesk Tutorial for Inventor - DA_Inventor.cs
- Autodesk Tutorial for Revit - DA_Revit.cs
API Reference
The package use the namespace Autodesk.Forge.Oss.DesignAutomation.
DesignAutomationService
DesignAutomationService class contain the methods to interact with the Oss and Design Automation API.
Internally uses the ParameterArgumentService to convert a class with Attributes to convert in the Activity and WorkItem to send the request to the Design Automation API.
MaxDesignAutomationService
IDesignAutomationService designAutomationService = new MaxDesignAutomationService("AppName")
{
EngineVersions = new[] { "2021" },
};
AutoCADDesignAutomationService
IDesignAutomationService designAutomationService = new AutoCADDesignAutomationService("AppName")
{
EngineVersions = new[] { "24" },
};
InventorDesignAutomationService
IDesignAutomationService designAutomationService = new InventorDesignAutomationService("AppName")
{
EngineVersions = new[] { "2021" },
};
RevitDesignAutomationService
IDesignAutomationService designAutomationService = new RevitDesignAutomationService("AppName")
{
EngineVersions = new[] { "2021" },
};
Initialize
Initialize AppBundle by creating and uploading the zip file to the Design Automation.
await designAutomationService.Initialize("Path/AppBundle.zip");
Run
Create the Activity and run the WorkItem and wait for the result, use the Parameters class to define the parameters of the Activity and WorkItem.
bool result = await designAutomationService.Run<Parameters>();
bool result = await designAutomationService.Run<Parameters>((parameters) => {});
Parameters parameters;
bool result = await designAutomationService.Run<Parameters>(parameters);
Delete
Delete all the resources created by the Initialize and Run.
AppBundle and Activity gonna be deleted if exists.
await designAutomationService.Delete();
Parameters
The Parameters class is used to define the parameters of the Activity and WorkItem using the Attributes.
ParameterInputAttribute- Define the input parameter of theActivityandWorkItem.ParameterOutputAttribute- Define the output parameter of theActivityandWorkItem.
ParameterInputAttribute
Base class ParameterActivityAttribute is used to update the Activity before send the request to the Design Automation API.
ParameterActivityClearBundleAttribute- Clear theAppBundlebefore update theActivity.ParameterActivityInputArgumentAttribute- Define the input argument of theActivity.ParameterActivityInputAttribute- Define the input parameter of theActivity.ParameterActivityInputOpenAttribute- Define the input parameter of theActivitywithOpenfile.ParameterActivityLanguageAttribute- Define the language of theActivity.ParameterActivityScriptAttribute- Define the script of theActivity.
ParameterWorkItemAttribute
Base class ParameterWorkItemAttribute is used to update the WorkItem before send the request to the Design Automation API.
ParameterWorkItemTimeSecAttribute- Define the timeout of theWorkItem.ParameterWorkItemStringAttribute- Define the string input in theWorkItem.ParameterWorkItemXrefTreeAttribute- Define theXrefTreeinput in theWorkItem.ParameterWorkItem3LeggedTokenAttribute- Define theadsk3LeggedTokentoken input in theWorkItem. (tokenis masked in the log.)
License
This project is licensed under the MIT License.
Do you like this project? Please star this project on GitHub!
| Product | Versions 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 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Autodesk.Forge.DesignAutomation (>= 5.1.2)
- ricaun.Autodesk.Forge.Oss (>= 3.0.0)
-
net8.0
- Autodesk.Forge.DesignAutomation (>= 6.0.2)
- ricaun.Autodesk.Forge.Oss (>= 3.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 3.1.1 | 214 | 2/21/2025 | |
| 3.1.0 | 169 | 1/24/2025 | |
| 3.0.0 | 196 | 12/18/2024 | |
| 2.1.0 | 164 | 12/13/2024 | |
| 2.0.0 | 279 | 8/20/2024 | |
| 1.0.8 | 394 | 12/7/2023 | |
| 1.0.7 | 244 | 10/4/2023 | |
| 1.0.6 | 276 | 8/26/2023 | |
| 1.0.5 | 315 | 8/9/2023 | |
| 1.0.4 | 333 | 6/30/2023 | |
| 1.0.3 | 312 | 6/17/2023 | |
| 1.0.2 | 317 | 5/31/2023 | |
| 1.0.1 | 293 | 5/31/2023 | |
| 1.0.0 | 279 | 5/30/2023 |