Intermediate Tutorial: Use Grasshopper to Create a Revolved Surface
This Grasshopper definition produces a revolved faceted surface given an input polyline profile. The profile can be manually drawn or created with Photopia’s parametric reflector or lens design tools (PODT). The benefit of using this definition with a PODT profile is that the surface properties will maintain their association with the profile as the PODT parameters are changed. The revolve axis is assumed to be centered at the origin and along the world Z axis, so the profile should be created in the Front or Right Views. The surface has facets that can be flat or curved. The horizontal and vertical curvatures are independently defined.
1. Download and Open the Grasshopper File
Download and save the Grasshopper file listed above in the Downloads section.
Open an existing or new Rhino model.
Choose Tools > Grasshopper and browse to the location where you saved the .gh file.
Open the Photopia-Revolved-Faceted-Surface.gh file.
Tip : Save Location
We recommend saving all of your grasshopper files in an easy location to find later since you'll continue to add to your set of grasshopper files as you continue to use Photopia for Rhino.
It’s best to open the Grasshopper definition on a second screen if you have one. This will allow you to see it along with your Rhino CAD model. To move around the canvas showing the components in the definition, right click your mouse over the canvas area to pan. Scroll your mouse wheel to zoom in and out. The general flow of information and logic is from left to right. You can also click on the drop-down arrow of the "eye" icon (shown below) and click the options to zoom in on the input parameters or the component to “bake” (save the surface).
2. Associating Polyline Profile
Once the polyline profile is created either via Photopia’s PODT or manually, right click on the “Base Polyline” component and choose “Set one Curve” and then pick the polyline in the Rhino CAD view. You can also pre-select the profile before doing this step and the profile will automatically be associated after choosing “Set one Curve.”
You will then see a preview of the extruded surface in your cad model. This red transparent surface is just a preview until you Bake it into the model in a future step.
3. Defining Input Parameters
Use the slider & toggle controls to define all input parameters. You can enter exact values by double clicking on the number in the slider bar. If you need to change the range of values allowed in the slider, then select the control with a single left click, then right click and choose “Edit…” from the pop-up menu.
- # of Segments - The number of segments around the circumference of the revolved surface.
- Horizontal Arc Tangent - The angle away from a straight line on one end of the arc. The angle can be positive or negative, depending on if the curvature is desired inward or outward and depending on which end of the profile, top or bottom, was the start point. The arc full angle is twice this value. Entering 0° results in a flat facet.
- Vertical Arc Tangent - The angle away from a straight line on one end of the arc. Since the vertical curvature can cause undercuts in the reflector geometry, the curvature of each row is independently limited to avoid undercuts.
- Draft Angle - The draft angle is the angle away from the tool pull direction, assumed to be along the world Z-axis. This angle is subtracted from the maximum Vertical Arc Tangent angle determined to avoid part undercuts.
4. Baking the Output Surface
To save the surface the definition has created to your Rhino CAD model, right click on the “B” output parameter of the “Join” component on the far right of the definition.
You’ll have the choice of the layer on which it is created, but it will default to the current layer.
The reflector should import as a single polysurface, with the surface normals pointed inward. You can flip the orientation if necessary, via Rhino’s “Show object direction” tool.
You can turn off the red preview of the Grasshopper surface by clicking on the left most icon below in the upper right-hand corner of your Grasshopper screen.
5. Photopia Simulation Notes
When using curved facets, be sure to set appropriate mesh resolution parameters using the “PhotopiaMeshSettings” command. For small amounts of curvature, you’ll need a small “Maximum angle” value to represent the curved facets. Also choose a reasonable “Minimum edge length” and preview the mesh to ensure it’s acceptable.
When raytracing this model in Rhino, you’ll need to reassign the Photopia material each time a new surface is baked from the Grasshopper definition since the Photopia materials are assigned to objects. This can quickly be done by selecting the surfaces and then selecting your previous material in the “Recently Used” section at the top of the Materials panel.