I want to enter a simple wedged prism in OSLO. I notice that when I make the wedge angle 1 degree or greater, the 2 optical surfaces of the prism no longer appear as a single object in OSLO drawings.
How do I get around this so that OSLO draws the entire prism object as one shape?
Synopsis
Creating Boundary Drawing Information for a simple wedged prism
Symptoms
OSLO assumes that if your wedge angle is greater than 1 degree, then you will want to specify a more complicated shape than just connecting the two optical surfaces of your wedge. OSLO allows users to specify Boundary Drawing Information (BDI) for a surface or series of surfaces. This BDI data defines how OSLO should represent complex shapes in OSLO drawings. Note that BDI data is only used for lens drawings and does not affect ray tracing or optical performance.
Solution
For an example demonstrating how to enter BDI data, we will assume that you have a wedged prism with rectangular apertures. It will have the following dimensions: height = 20 mm, width = 10 mm central thickness (between the optical surfaces) = 5 mm The surface 2 of the prism will be tilted at 20 degrees about its center, so the aperture of surface 2 will be longer in the local Y direction so that its projection matches the aperture of surface 1 (height2 = height1/cos(20 degrees)). If you go ahead and set up this model in OSLO and perform a 3D view of the optics, you will notice the problem: the first and second surfaces of the model are not connected like a prism should be. To correct this, we need to supply BDI data for the surfaces of the prism. There are 3 steps to this process:
- Define how many BDI vertices and BDI faces are to be used
- Define the BDI vertices
- Define the BDI faces using the BDI vertices
NOTE: You must close the Surface Data Spreadsheet window before issuing these commands on the command line.
STEP 1: We will define 6 BDI faces: the two optical faces and the surrounding 4 sides. This requires 8 BDI vertices to be defined. The command to specify the BDI vertices and BDI faces are: Arg1 = Surface number where the BDI information is to be placed Arg2 = Number of BDI vertices to be defined Arg3 = Number of BDI faces being defined BDI 1 8 6;
STEP 2: We will define the first 4 vertices on surface 1 with respect to the local coordinate system of surface 1. Arg1 = Surface number where the BDI information is to be placed Arg2 = Vertex number Arg3 = Local X value with respect to surface Arg6 Arg4 = Local Y value with respect to surface Arg6 Arg5 = Local Z value with respect to surface Arg6 Arg6 = Surface to which the local dimensions are referenced. This surface number is relative: 0 is the current surface, 1 is the next surface, �etc. VX 1 1 5 10 0 0; VX 1 2 -5 10 0 0; VX 1 3 -5 -10 0 0; VX 1 4 5 -10 0 0;We will define the next 4 vertices on surface 1 with respect to the local coordinate system of surface 2: VX 1 5 5 10.642 0 1; VX 1 6 -5 10.642 0 1; VX 1 7 -5 -10.642 0 1; VX 1 8 5 -10.642 0 1;
STEP 3: We will then define the 6 faces using the vertices already defined: Arg1 = Surface number where the BDI information is to be placed Arg2 = BDI face number Arg3 = 1st vertex number to be used in face definition Arg4 = 2nd vertex number to be used in face definition Arg5 = 3rd vertex number to be used in face definition Arg6 = 4th vertex number to be used in face definition PF 1 1 1 2 3 4; // Face of surface 1 PF 1 2 5 6 7 8; // Face of surface 2 PF 1 3 1 5 6 2; // +Y face PF 1 4 2 6 7 3; // -X face PF 1 5 3 7 8 4; // -Y face PF 1 6 4 8 5 1; // +X face
SIDE NOTE #1: To facilitate writing these commands, you can copy them to a CCL routine and execute the CCL routine, or you can copy the commands to the OSLO editor and execute them as a group (from the editor). When executing commands from the OSLO editor, make sure that
- There are no blank lines between the commands,
- Type <Ctrl><A> to select all the commands at once, and
- Type <Ctrl><E> to execute all commands selected.
SIDE NOTE #2: If you want to suppress the segment lines at the edges of a face (for example if you want to define two faces that make up a single, more complex face shape), refer to the vertex number as negative for that segment. As an example, change BDI faces 4 and 5 (listed above) to read: PF 1 4 2 6 7 -3; // -X face PF 1 5 3 -7 8 4; // -Y face...and now notice the difference in a 3D wire model view.
SIDE NOTE #3: To view the BDI data on all surfaces of a particular lens model, issue the following command on the command line: bda all;