Skip to main content

Zemax OpticStudio ZOS-API 2026 R1

Interface ZOSAPI::Tools::Optimization::IHammerOptimization

Last update: 13.03.2026

Definition:

Interfaces and methods for running a Hammer Optimization. This interface can be accessed via the IOpticalSystemTools interface.

Usage (see Example 03 for a full sample)

C#

            // Hammer for 10 seconds
            Console.WriteLine("Running Hammer for 10 seconds");
            IHammerOptimization HammerOpt = TheSystem.Tools.OpenHammerOptimization();
            HammerOpt.RunAndWaitWithTimeout(10); // 10s of Hammer
            HammerOpt.Cancel();
            HammerOpt.WaitForCompletion();
            HammerOpt.Close();

C++

    // Hammer for 10 seconds
    IHammerOptimizationPtr HammerOpt = TheSystem->Tools->OpenHammerOptimization();
    baseTool = HammerOpt;
    baseTool->RunAndWaitWithTimeout(10);    
    baseTool->Cancel();
    baseTool->WaitForCompletion();
    baseTool->Close();

Matlab

    % Hammer for 10 seconds
    HammerOpt = TheSystem.Tools.OpenHammerOptimization();
    HammerOpt.RunAndWaitWithTimeout(10);    
    HammerOpt.Cancel();
    HammerOpt.WaitForCompletion();
    HammerOpt.Close();

Python

    # Hammer for 10 seconds
    # need to 'import time' at the top of the file to use the pause function
    print('Running Hammer Optimization')
    HammerOpt = TheSystem.Tools.OpenHammerOptimization()
    HammerOpt.RunAndWaitWithTimeout(10)    
    HammerOpt.Cancel()
    HammerOpt.WaitForCompletion()
    HammerOpt.Close()

Inherits from:

Members

Properties

Property Algorithm

Definition:

OptimizationAlgorithm ZOSAPI.Tools.Optimization.IHammerOptimization.Algorithm

Return type: OptimizationAlgorithm

Property NumberOfCores

Definition:

int ZOSAPI.Tools.Optimization.IHammerOptimization.NumberOfCores

Return type: int

Property MaxCores

Definition:

int ZOSAPI.Tools.Optimization.IHammerOptimization.MaxCores

Return type: int

Property AutomaticOptimization

Definition:

bool ZOSAPI.Tools.Optimization.IHammerOptimization.AutomaticOptimization

Return type: bool

Property Targets

Definition:

int ZOSAPI.Tools.Optimization.IHammerOptimization.Targets

Return type: int

Property Variables

Definition:

int ZOSAPI.Tools.Optimization.IHammerOptimization.Variables

Return type: int

Property InitialMeritFunction

Definition:

double ZOSAPI.Tools.Optimization.IHammerOptimization.InitialMeritFunction

Return type: double

Property CurrentMeritFunction

Definition:

double ZOSAPI.Tools.Optimization.IHammerOptimization.CurrentMeritFunction

Return type: double

Property Systems

Definition:

long ZOSAPI.Tools.Optimization.IHammerOptimization.Systems

Return type: long

Property IsHPCEnabled

Definition:

bool ZOSAPI.Tools.Optimization.IHammerOptimization.IsHPCEnabled

Return type: bool

Property HPCEstimatedTimeS

Definition:

double ZOSAPI.Tools.Optimization.IHammerOptimization.HPCEstimatedTimeS

Return type: double

Property HPCRemainingTimeS

Definition:

double ZOSAPI.Tools.Optimization.IHammerOptimization.HPCRemainingTimeS

Return type: double

Property HPCTimeToStartS

Definition:

double ZOSAPI.Tools.Optimization.IHammerOptimization.HPCTimeToStartS

Return type: double

Property HPCQueuePosition

Definition:

int ZOSAPI.Tools.Optimization.IHammerOptimization.HPCQueuePosition

Return type: int

Property HPCState

Definition:

HPCRunState ZOSAPI.Tools.Optimization.IHammerOptimization.HPCState

Return type: HPCRunState

Property HPCHasTimeEstimate

Definition:

bool ZOSAPI.Tools.Optimization.IHammerOptimization.HPCHasTimeEstimate

Return type: bool

Property TargetRunTimeM

Definition:

double ZOSAPI.Tools.Optimization.IHammerOptimization.TargetRunTimeM

Return type: double

Public functions

Function EstimateHPCTime

bool ZOSAPI.Tools.Optimization.IHammerOptimization.EstimateHPCTime()

Return type: bool

Connect with Ansys