Coating an STL object?

  • 18 November 2021
  • 3 replies

I am building a simple Sequential ray trace using a single Non-Sequential element (NSE). The NSE is an STL object generated in Blender. It is a simple thin rectangular plate (with a finite depth). The NSE is coated with  coated with a high-reflection coating for 633 nm.

The source has two wavelengths (both enabled), 0.633 and 0.450 micrometers.  Given the coating on the NSE, I expect my ray trace to show most of the 0.633 micrometer rays reflected, and the 0.450 micrometer rays transmit through the plate. I’ve experienced this issue with other STL shapes generated in Blender.

Why are the rays not splitting properly? The plate has a base glass material (FK3), and “Split NSC Rays” is turned on.


Best answer by Jeff.Wilde 18 November 2021, 19:37

View original

3 replies

Userlevel 3
Badge +2

Hi Aaron,

Your current model is running in hybrid model (sequential with an NSC object included).  In this case, the sequential rays coming in through the entry port cannot split:

However, if I make your STL plate reflective, then the sequential rays make it out of the NSC group:


I think the best way to model your system may be full NSC mode.  If needed, you can optimize a lens train in sequential mode, and then convert it to NSC using the built-in conversion tool.  At that point you can add one or more sources, along with other objects as needed, and then utilize all of the ray tracing features provided in NSC mode.

That being said, if you are only interested in rays that reflect from the plate (and don’t really need ray splitting per se), then you can just use a fully sequential model in which a tilted plate surface has a material setting of “mirror” (so propagation space becomes negative after reflection), and whatever coating you like can be included on this reflective surface.


Thank you, this appears to answer my base question. Although for such a capable software, it still seems somewhat limiting. In the case of a Sequential / Non-Sequential hybrid, it seems like coatings should not be able to be applied to Non-Sequential components when inserted into a Sequential simulation for this very reason. Thank you for the clarification! I’ll go ahead and pursue the full Non-Sequential version.

Edit: It’s nice to know there’s no unexpected problems due to the STL being created in Blender!

Userlevel 3
Badge +2

The hybrid mode of operation is designed to allow NSC objects be part of an otherwise sequential path. In the spirit of sequential ray tracing, it's not surprising then that ray splitting and scattering (which are really best handled in a 3D NSC model) aren't supported in hybrid mode.

However, in hybrid mode, you can still add a coating to a reflective face of an NSC object -- same as with a mirror surface in sequential mode.