Designing a flood light with OpticStudio's Part Designer

This article will detail the construction and optimization of an LED flood light using the CAD Part: Zemax Part Designer Object. 

Authored By Kevin Ting


Article Attachments


In Non-Sequential Mode, there are several tools available to model optomechanical designs like an LED flood light. For the top of the light, a point source will be used inconjunction with 9 reflectors to illuminate an 80 x 80 mm square - represented by an absorbing detector - some distance from the flood light. The flood light casing may be modelled in a variety of ways. Because it is not an optical component and does not need to be optimized, we will use simple line segments and splines. 

In this article, we will use the above objects to model a LED flood light and will optimize for maximum flux to and uniformity across the detector. The final setup before optimization is provided as an article attachment. 

PART I: Creating the part

The LED Flood light designed in this article is similar to the model laid out in the mechanical drawing below.

Begin by opening a Part Designer window.

The Zemax Part Designer (ZPD) tool allows a sketch to be overlayed on top of an imported image.

To import an image, navigate to the Sketch Mode tab of the ZPD, and click the “Select” button in the “Background” group. 

A user may choose to import files with the extension .png, .jpg, or .bmp.  After importing an image, you can scale the image to fit the grid units on the screen.

To sketch the outer casing, create a new sketch titled “ShellSketch”. 

Use the point locations shown below to draw the sketch. It is important to remember that when a tool other than the “Selection Tool” Is selected, each subsequent mouse click will always draw a Bezier line, or arc segment from the previous point. Clicking within a certain tolerance from the first point drawn will also close a sketch using a segment defined by the current tool. 

Red arrows indicate the locations of the start/end tangent points of a Bezier Curve, which control the curvature of the segment. Bezier Segments are made using the Curve Tool by clicking twice to select a start point and an end point. Utilizing the selection tool, the user may adjust the tangent points of a Bezier segment by clicking on the point and either dragging it to a new location, or typing in new coordinates under the Sketch Mode tab. 

light measurements

Create a new sketch titled “GrooveSketch” and draw the sketch shown below.

light measurements

Finally, create a sketch titled “ReflectorSketch” and plot the values of the sketch shown below. The curved line segment between the points “ReflectorTop” and “ReflectorBottom” is an arc segments. Arc segments in ZPD are restricted to half arcs. This means that the radius of curvature must be greater than the distance between the start point and the end point. In this particular example, the radius must be greater than 5.385 units in length.

light measurements

To optimize the optical properties of this part, the reflectors radius must be exposed. Use the selection tool and click the arc segment (not the end points). The arc's control panel will appear, allowing users to rename points, set point locations, set the radius of curvature. The “Expose Radius” check box will allow OpticStudio to place the radius value into the NSC Editor window as a modifiable parameter. Similarly, clicking a point will reveal the point control panel. The point control panel also allows the user to adjust, expose, and rename points. The point control panel also allows users to constrain the behavior of curves with the “Smooth Curve” checkbox.  Checking this box will “smooth” a curve and force the two segments adjacent to the selected point to maintain the same first derivative. 


Once the sketches are finished, Navigate back to the Script Mode tab of ZPD and input the script as shown below:

PARAMETER RingRadius, 8.5
REVOLVE Shell,ShellSketch, 0,360
REVOLVE Groove,GroovesSketch,0,5
RING GrooveArray, Groove, 0.0,0.0,0.0,0.0,1.0,0.0,30
DIFFERENCE ShellFinal, Shell, GrooveArray
COLOR ShellFinal,173,173,173
REVOLVE Reflector, ReflectorSketch,0,360
MOVE Reflector, RingRadius,0.0,0.0
RING ReflectorRing, Reflector, 0.0,0.0,0.0,0.0,1.0,0.0,8
MOVE Reflector, -1*RingRadius,0.0,0.0
UNION Reflectors, ReflectorRing, Reflector
COLOR Reflectors,173,173,173
DIFFERENCE Bulb, ShellFinal, Reflectors

Information on each of these commands can be found in the OpticStudio Help System under The Part Designer Tab>Using Part Designer.

Build the file and save the file as “LED Flood Array.ZPO”.  The part is now ready for optimization in OpticStudio.

ready part

PART II: Optimizing the system

Set up the NSC system using the following Objects and parameters:

Object 1: “CAD Part: Zemax Part Designer”

File: “LED Flood Array.ZPO”
Material: MIRROR
Parameters: Set RefectorCurvature as Variable

Object 2: "Source Point"

Reference Object: 1
Y Position: 15.0 (Set as variable)
Tilt About X: 90.0
# Analysis Rays: 10000
Power (Watts): 1.0
Cone Angle: 80.0

Object 3: "Source Point"

Reference Object: 1
Y Position: 15.0 (Set as Pickup from same column in Object 2)
Tilt About X: 90.0(Set as Pickup from same column in Object 2)
# Analysis Rays: 10000
Power (Watts): 1.0
Cone Angle: 80.0 (Set as Pickup from same column in Object 2)

To create a ring array of Object 3, navigate to the "Sources" tab under the Object Properties dialog:

For more information on configuring source arrays, please refer to the Knowledgebase article titled “How to create an array of sources”.

Object 4: "Detector Rectangle"

Reference Object: 3
Z Position: -150.0 (Set as Variable)
Material: ABSORB
X/Y Half Width: 80.0
# X/Y Pixels: 100

Open the NSC Merit Function Editor and enter the data as shown below:

Operand 11 is very important because it controls the radius of curvature in the reflectors. When exposing ZPD sketches, it is important to constrain the values as to avoid creating non-physical parts. Using the value attained earlier regarding the minimum radius of curvature, the exposed radius must be greater than 5.4 units. Non-physical parts can be created through invalid parameters for commands, sketches that are not closed, sketches with intersecting line segments, or parameters that break smoothing constraints (ZPD will not allow these parameters to be exposed).  

The system should similar to the image below:

Once the Merit Function has been set up, start a local optimization by navigating to Optimize...Optimize!

For more information on NSC optimization, please refer to the article, “How to optimize Non-Sequential optical systems”.

When the merit function is satisfactory, the part may also be resaved in its current configuration. Selecting the Part Designer Object inside the NSC Editor, navigate to the edit menu and select “Save Modified Part.” Clicking this option will save and replace all parameter values and sketch parameters within the part in a new file.


Was this article helpful?
3 out of 4 found this helpful



Article is closed for comments.