Skip to main content

Zemax OpticStudio ZOS-API 2026 R1

Interface ZOSAPI::SystemData::IField

Last update: 13.03.2026

Definition:

System field data. This interface can be accessed via the IFields interface.

Usage (see Example 12 for a full example)

C#

            // Change field 1 to be X=1.0 and Y=2.0
            ZOSAPI.SystemData.IField field1 = sysField.GetField(1);
            field1.X = 1.0;
            field1.Y = 2.0;

C++

    // Change field 1 to be X=1.0 and Y=2.0
    ZOSAPI_Interfaces::IFieldPtr field1 = sysField->GetField(1);
    field1->X = 1.0;
    field1->Y = 2.0;

Matlab

    % Change field 1 to be X=1.0 and Y=2.0
    field1 = sysField.GetField(1);
    field1.X = 1.0;
    field1.Y = 2.0;

Python

    # Change field 1 to be x=1.0 and y=2.0
    field1 = sysField.GetField(1)
    field1.X = 1.0
    field1.Y = 2.0

Members

Properties

Property IsActive

Definition:

bool ZOSAPI.SystemData.IField.IsActive

Return type: bool

Property FieldNumber

Definition:

int ZOSAPI.SystemData.IField.FieldNumber

Return type: int

Property X

Definition:

double ZOSAPI.SystemData.IField.X

Return type: double

Property Y

Definition:

double ZOSAPI.SystemData.IField.Y

Usage (see Example 22 for a full sample)

C#

            // Determine maximum field in Y only
            double max_field = 0.0;
            for (int i = 1; i <= num_fields; i++)
            {
                if (TheSystem.SystemData.Fields.GetField(i).Y > max_field)
                {
                    max_field = TheSystem.SystemData.Fields.GetField(i).Y;
                }
            }

C++

    // Determine maximum field in Y only
    double max_field = 0.0;
    for (int i = 1; i <= num_fields; i++) {
        if (TheSystem->SystemData->Fields->GetField(i)->Y > max_field) {
            max_field = TheSystem->SystemData->Fields->GetField(i)->Y;
        }
    }

Matlab

    % determine maximum field in Y only
    max_field = 0;
    for i=1:TheSystem.SystemData.Fields.NumberOfFields
        if TheSystem.SystemData.Fields.GetField(i).Y > max_field; max_field = TheSystem.SystemData.Fields.GetField(i).Y ; end;
    end

Python

    # Determine maximum field in Y only
    max_field = 0.0
    for i in range(1, num_fields + 1):
        if (TheSystem.SystemData.Fields.GetField(i).Y > max_field):
            max_field = TheSystem.SystemData.Fields.GetField(i).Y

Return type: double

Property Weight

Definition:

double ZOSAPI.SystemData.IField.Weight

Return type: double

Property VDX

Definition:

double ZOSAPI.SystemData.IField.VDX

Return type: double

Property VDY

Definition:

double ZOSAPI.SystemData.IField.VDY

Return type: double

Property VCX

Definition:

double ZOSAPI.SystemData.IField.VCX

Return type: double

Property VCY

Definition:

double ZOSAPI.SystemData.IField.VCY

Return type: double

Property VAN

Definition:

double ZOSAPI.SystemData.IField.VAN

Return type: double

Property TAN

Definition:

double ZOSAPI.SystemData.IField.TAN

Return type: double

Property Comment

Definition:

string ZOSAPI.SystemData.IField.Comment

Return type: string

Property XSolve

Definition:

SolveType ZOSAPI.SystemData.IField.XSolve

Return type: SolveType

Property YSolve

Definition:

SolveType ZOSAPI.SystemData.IField.YSolve

Return type: SolveType

Property Ignore

Definition:

bool ZOSAPI.SystemData.IField.Ignore

Return type: bool

Public functions

Function GetXSolveData

ISolveData ZOSAPI.SystemData.IField.GetXSolveData()

Return type: ISolveData

Function SetXPickup

SolveStatus ZOSAPI.SystemData.IField.SetXPickup(int fromField, FieldColumn fromColumn, double scale, double offset)

Parameters:

  • int fromField
  • FieldColumn fromColumn
  • double scale
  • double offset

Return type: SolveStatus

Function SetXFixed

SolveStatus ZOSAPI.SystemData.IField.SetXFixed()

Return type: SolveStatus

Function GetYSolveData

ISolveData ZOSAPI.SystemData.IField.GetYSolveData()

Return type: ISolveData

Function SetYPickup

SolveStatus ZOSAPI.SystemData.IField.SetYPickup(int fromField, FieldColumn fromColumn, double scale, double offset)

Parameters:

  • int fromField
  • FieldColumn fromColumn
  • double scale
  • double offset

Return type: SolveStatus

Function SetYFixed

SolveStatus ZOSAPI.SystemData.IField.SetYFixed()

Return type: SolveStatus

Function GetSolveData

ISolveData ZOSAPI.SystemData.IField.GetSolveData(FieldColumn forColumn)

Parameters:

Return type: ISolveData

Function SetPickup

SolveStatus ZOSAPI.SystemData.IField.SetPickup(FieldColumn forColumn, int fromField, FieldColumn fromColumn, double scale, double offset)

Parameters:

Return type: SolveStatus

Function SetFixed

SolveStatus ZOSAPI.SystemData.IField.SetFixed(FieldColumn forColumn)

Parameters:

Return type: SolveStatus

Connect with Ansys