An example of tracing 2 rays by using the following method.
1OpenBatchRayTrace
An example of tracing 2 rays by using the following method.
1OpenBatchRayTrace
Best answer by Julia
Here is a code snippet that traces single ray twice and read ray data
1from System import Enum,Int32, Double23toSurf=10max_rays=2int_val=Int32(1)4double_val=Double(1)5type_format=[int_val,int_val,int_val,double_val,double_val,double_val,double_val,double_val,double_val,6 double_val,double_val,double_val,double_val,double_val]78raytrace2 = TheSystem.Tools.OpenBatchRayTrace();9RayTraceData = raytrace2.CreateNormUnpol(max_rays, Enum.Parse(ZOSAPI.Tools.RayTrace.RaysType, "Real"), toSurf);10RayTraceData.AddRay(2, 0.0, 0.1, 0.0, 0.0, Enum.Parse(ZOSAPI.Tools.RayTrace.OPDMode, "None"))11RayTraceData.AddRay(2, 0.0, 0.0, 0.0, 0.0, Enum.Parse(ZOSAPI.Tools.RayTrace.OPDMode, "None"))12raytrace2.RunAndWaitForCompletion()13RayTraceData.StartReadingResults()14RayTraceData.StartReadingResults()15ray_data1=RayTraceData.ReadNextResult(*type_format)16ray_data2=RayTraceData.ReadNextResult(*type_format)17X1_surf10=ray_data1[4]18Y1_surf10=ray_data1[5]1920X2_surf10=ray_data2[4]21Y2_surf10=ray_data2[5]22raytrace2.Close()
For results, please check the ZOS-API syntax help file to determine the meaning of each index.
Note that ray_data1[0] is the returned boolean value that indicates whether the ray was successfully traced.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.