Project Metadata¶
GetProjectVariables¶
Retrieve project metadata from the external system.
When is this called?
Called before output functions and on file open.
Capability: getProjectVariables
Request¶
| Field | Type | Required | Description |
|---|---|---|---|
projectPath |
string |
✅ | Full path to the project file. |
projectId |
string |
Project identifier, if known. |
Response¶
| Field | Type | Required | Description |
|---|---|---|---|
variables |
map |
✅ | Key-value pairs of project variables. |
Example¶
```json { "method": "GetProjectVariables", "request": {
"projectPath": "C:\Projects\valve-assembly.hsc", "projectId": "PRJ-2025-0042" } } ```
```json { "result": "OK", "response": {
"variables": {"CustomerName": "Bosch Rexroth", "Revision": "C", "DrawingNo": "VA-2025-0042"} } } ```
C# Override¶
public override GetProjectVariablesResponse GetProjectVariables(GetProjectVariablesRequest request)
{
// return new GetProjectVariablesResponse { Variables = ... };
throw new NotImplementedException();
}
JSON Schemas: Request · Response
SetProjectVariables¶
Push project metadata to the external system.
When is this called?
Called when closing a file or after changing variables.
Capability: setProjectVariables
Request¶
| Field | Type | Required | Description |
|---|---|---|---|
projectPath |
string |
✅ | Full path to the project file. |
projectId |
string |
Project identifier, if known. | |
variables |
map |
✅ | Key-value pairs to set. |
Response¶
This method returns no data on success.
Example¶
```json { "method": "SetProjectVariables", "request": {
"projectPath": "C:\Projects\valve-assembly.hsc", "projectId": "PRJ-2025-0042", "variables": {"CustomerName": "Bosch Rexroth", "Revision": "C", "DrawingNo": "VA-2025-0042"} } } ```
C# Override¶
public override EmptyResponse SetProjectVariables(SetProjectVariablesRequest request)
{
// nothing to return
throw new NotImplementedException();
}
JSON Schemas: Request · Response
GetProjectId¶
Request a project identifier from the external system.
Capability: getProjectId
Request¶
| Field | Type | Required | Description |
|---|---|---|---|
projectPath |
string |
✅ | Full path to the project file. |
projectName |
string |
Human-readable project name. |
Response¶
| Field | Type | Required | Description |
|---|---|---|---|
projectId |
string |
✅ | Unique identifier in the external system. |
articleCode |
string |
Article code, if different from projectId. |
Example¶
```json { "method": "GetProjectId", "request": {
"projectPath": "C:\Projects\valve-assembly.hsc", "projectName": "Valve Assembly Block A" } } ```
```json { "result": "OK", "response": {
"projectId": "PRJ-2025-0042", "articleCode": "HV-301" } } ```
C# Override¶
public override GetProjectIdResponse GetProjectId(GetProjectIdRequest request)
{
// return new GetProjectIdResponse { ProjectId = ... };
throw new NotImplementedException();
}
JSON Schemas: Request · Response