Skip to main content

Zemax OpticStudio ZOS-API 2026 R1

Interface ZOSAPI::Analysis::RayTracing::IAS_PathAnalysis

Last update: 13.03.2026

Definition:

Usage (see Example 10 for a full sample)

C#

            // Save Ray Path Analysis to Text File
            if (TheApplication.LicenseStatus == ZOSAPI.LicenseStatusType.PremiumEdition)
            {
                IA_ RayPath = TheSystem.Analyses.New_Analysis(AnalysisIDM.PathAnalysis);
                ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis RayPath_settings = RayPath.GetSettings() as ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis;
                RayPath_settings.RayDatabaseFile = "e10_API_RayTrace.ZRD";
                RayPath.ApplyAndWaitForCompletion();
                IAR_ Rays = RayPath.GetResults();
                Rays.GetTextFile(TheApplication.SamplesDir + "\\API\\CS\\e10_RayPathAnalysis.txt");
            }
            else
            {
                Console.Write("\nThe RayPathAnalysis is a premium feature only\n\nPress any key to continue\n");
                Console.ReadKey();
            }

C++

    // Save Ray Path Analysis to Text File
    if (TheApplication->LicenseStatus == ZOSAPI_Interfaces::LicenseStatusType::LicenseStatusType_PremiumEdition) {
        IA_Ptr RayPath = TheSystem->Analyses->New_Analysis(AnalysisIDM_PathAnalysis);
        ZOSAPI_Interfaces::IAS_PathAnalysisPtr RayPath_settings = RayPath->GetSettings();
        RayPath_settings->RayDatabaseFile = "e10_API_RayTrace.ZRD";
        RayPath->ApplyAndWaitForCompletion();

        IAR_Ptr Rays = RayPath->GetResults();
        Rays->GetTextFile(TheApplication->SamplesDir + "\\API\\CPP\\e10_RayPathAnalysis.txt");
    }

Matlab

    % Save Ray Path Analysis to Text File
    if TheApplication.LicenseStatus == ZOSAPI.LicenseStatusType.PremiumEdition
        RayPath = TheSystem.Analyses.New_Analysis(ZOSAPI.Analysis.AnalysisIDM.PathAnalysis);
        RayPath_settings = RayPath.GetSettings();
        RayPath_settings.RayDatabaseFile = 'e10_API_Raytrace.ZRD';
        RayPath.ApplyAndWaitForCompletion();
        Rays = RayPath.GetResults();
        Rays.GetTextFile(System.String.Concat(TheApplication.SamplesDir, '\API\Matlab\e10_RayPathAnalysis.txt'));
    else
        fprintf('\nThe RayPathAnalysis is a premium feature only\n');
    end

Python

    # Save Ray Path Analysis to Text File
    if (TheApplication.LicenseStatus == ZOSAPI.LicenseStatusType.PremiumEdition):
        # there is a bug in ZOS16.5 SP4 with COM; need to use ZOS16.5 SP5 or higher to run this code successfully
        RayPath = TheSystem.Analyses.New_Analysis(ZOSAPI.Analysis.AnalysisIDM.PathAnalysis)
        RayPath_settings = RayPath.GetSettings()
        zrd = "e10_API_RayTrace.ZRD"
        RayPath_settings.RayDatabaseFile = zrd
        RayPath.ApplyAndWaitForCompletion()

        Rays = RayPath.GetResults()
        Rays.GetTextFile(TheApplication.SamplesDir + "\\API\\Python\\e10_RayPathAnalysis.txt")

Inherits from:

Members

Properties

Property RayDatabaseFile

Definition:

string ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis.RayDatabaseFile

Return type: string

Property AvailableRayDatabaseFiles

Definition:

string [] ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis.AvailableRayDatabaseFiles

Return type: string[]

Property FirstRay

Definition:

int ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis.FirstRay

Return type: int

Property LastRay

Definition:

int ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis.LastRay

Return type: int

Property FilterString

Definition:

string ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis.FilterString

Return type: string

Property GeneratePathFilters

Definition:

bool ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis.GeneratePathFilters

Return type: bool

Property RelativeMinimumFlux

Definition:

double ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis.RelativeMinimumFlux

Return type: double

Property SortBy

Definition:

PathAnalysisSortType ZOSAPI.Analysis.RayTracing.IAS_PathAnalysis.SortBy

Return type: PathAnalysisSortType

Connect with Ansys