Skip to content

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"} } } ```

{
  "result": "OK",
  "response": {}
}

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