We’ve introduced an Off-Axis Mirror object in nonsequential mode. It has some advantages for users:
- The object has a coordinate system that is at the center of the off-axis part. (See sketch below.)
- This makes tolerancing and moving the part easier, because there’s no need to define motions with respect to the parent vertex.
- It also means that the edges of the part’s substrate are perpendicular to the surface slope at the vertex. This is more realistic for parts that are polished directly onto a blank (versus small parts that can be cut out of a parent part).
- It is simpler to define the off-axis apertures. The part supports native elliptical and rectangular apertures (including circular and square).
- The object simplifies the nonsequential editor, since a Boolean is not required to define the aperture.
Will there be a sequential equivalent?
The sequential equivalent is the Off-Axis Conic Freeform. This is an off-axis part with the vertex at the center of the geometric aperture, and sides parallel to the vertex. The user just specifies the conic constant and the off-axis distance. It’s handy!
Jose Sasian at the University of Arizona did this work and helped with implementation:
Dmitry Reshidko, Jose Sasian, "A method for the design of unsymmetrical optical systems using freeform surfaces," Proc. SPIE 10590, International Optical Design Conference 2017, 105900V (27 November 2017); https://doi.org/10.1117/12.2285134
We’ve gotten a lot of enthusiasm from users about the nonsequential Off-Axis Mirror so far. They especially appreciate that we have implemented User-Defined Apertures (UDAs) for the part. In the telescope world, there’s no such thing as a standard mirror shape, because you have to trim the part around the beam to reduce mass and size.
Is that in the code now? Wow, sorry I missed it!
I had the same question as Mark. It would be useful to have the off-axis conic freeform extended to include the even radial asphere terms (r^4,r^6,r^8, etc.)--for the same ease of use in tolerancing as with conics. Or potentially have a way to use the convert asphere tool to include converting to off-axis conic freeform. I was hoping that the user-defined tolerance operands would do this, but that is not how they are constructed.
Assuming that I haven’t missed this capability somewhere, is there a graceful way of implementing a tilt tolerance on an off-axis even asphere? I’m hoping not to have to figure out a brute-force method.