I have created a large elliptical reflector with focal length 1 = 100,000 mm, focal length 2 = 10,000 mm, and z position = 55,000 mm. The reflector has approximately 200 surfaces.

When I perform a ray-trace, the Audit gives a Defective Object warning message, but the ray-trace appears to be correct. Next, I tried Healing the reflector, and this resulted in rays transmitting right through the mirror.

Synopsis

Defective Object Warning Message


Solution

TracePro uses a third-party CAD kernel to model and store b-rep solid geometry. Geometry is modeled with double-precision floating-point numbers, so the limit for good spatial accuracy of the modeler is from 10E-6 to 10E+6 mm. The z-position in this model is approaching this limit, but still within it.

The Defective Object Warning Message is a warning, but not a fatal error. The geometry may have small gaps or overlaps due to these tolerance limitations, but a successful ray trace can still be performed with this geometry. As long as the rays are not incident on these points of the ambiguity of geometry, the ray trace results are accurate. In TracePro, if an ambiguity is detected in the geometry, then the ray is terminated and an error message is provided.

Healing attempts to correct ambiguities in the geometry, but the healing algorithm is making assumptions, so they may not always be correct. In your model, it sounds like the Healer created holes in the reflector that permitted "ray leaks" to occur. It is fortunate that these ray leaks are obvious with a totally reflecting surface, but they can occur in a transmitting surface as well (omitting the refraction, for example).

NOTE: Healing is not available in TracePro 2022.1 and later releases of TracePro. Healing was mainly a tool to overcome errors or loose tolerances in an imported file. The KCM modeler used in TracePro 2022.1 and later has superior algorithms for remedying shortcomings in imported files, i.e. "healing" them automatically. The need for a separate healing feature is moot.

The bottom line is that Defective Object Warning Messages need to be taken seriously, as they can produce erroneous results. TracePro provides a message when a ray is terminated, but it cannot provide a message for a "ray leak" as there is no intersection of the ray to "raise the flag" that something is wrong. If the anomalous geometry can be corrected in the CAD Model prior to importing into TracePro, that is the best solution. In most cases, it is acceptable to run the ray trace with the Defective Object Warning. The areas of ambiguous geometry are small, so the probability of a ray intersecting at these locations is also small. Terminated rays will be indicated by an error message, so the only potential "unknown" errors are ray leaks, which can be spotted easily in many models.