Solved

Location of each element in a circular array of radial sources

  • 23 February 2023
  • 5 replies
  • 142 views

Badge

I generated a circular array of 16 radial sources using the Object properties in the non-sequential component editor.  It automatically generates each at distributed angles in the circle.  I need to place optical elements on each and I wanted to ask how can each source’s location be found? 

 

Thanks,

Niel McCaffrey

 

[Mod note: moved to more appropriate forum for OS-related discussions.] 

icon

Best answer by David 27 February 2023, 21:37

View original

5 replies

Userlevel 6
Badge +4

Hi Niel,

You could calculate the locations from the ring radius and the number of elements in the ring using trigonometry. But if all the optics are the same you could use an Array Ring object to place the optics in a ring matching the placement of the sources. The parent object for the optics ring could be as simple as a standard lens or as complicated as a Boolean Native or CAD combination of multiple optical elements. If desired, you could design the optics of one channel before constructing the ring.

 

Badge

Thank you David,

I did not know about creating the ring of objects and that makes perfect sense to be able to align them with the ring of sources.  The Boolean could include the source and the optical element and get it done in one step.  I will try this and thanks again!

Niel

Userlevel 6
Badge +4

Hi Niel,

The Boolean objects are restricted to creating volume objects from other volumes, so they can’t include sources. Also, the boolean object carries the material property, rather than the components. So although you could create multi-element lenses from disjoint components, when combined into a boolean they would all have the same material. But you could design a multiple element optical system and the source, and then uses an Array Ring for  the source and each element to produce a ring of similar systems.

Badge

Thanks again David and I understand the use of Boolean objects from your description.  I was able to replicate Boolean objects and align them with the sources but I have not been able to get the ray trace to respond to the glass elements within the Boolean.  As an example, I added an air object to your simple lens example (Ring.zmx) and after running the ray trace, the lens no longer converges at the detector screen.  Does the Boolean assume all the materials are made of air although the parts are clearly designated as air and N-BK7 respectively.  Thanks as the issue is likely something I am missing as a relatively new user.

 

Thanks,

Niel

Userlevel 6
Badge +4

Almost there, Niel.  :-)

The problem is that there was no material defined for the Boolean Native object. So it was made of air. The materials designated for the components don’t count. When I change the material of the Native Boolean to a glass, it refracts rays.

 

Reply