Guide to Rib Design

Summary:

This article demonstrates the three new methods of rib mapping. Each method has pros and cons based on the intended design and starting geometry, so we recommend reviewing all possible methods. The last section shows how to combine rib mapping with field-driven design. Each method has an example file at the end of the section.

Common use-cases:

We define ribs as a pattern of 3D thin-walled structures that add support and rigidity to parts. Ribs are often applied to thin-walled components such as housings, panels, manifolds, piping, and more.

Glossary:

  • Lattice: A lattice is a 3D structure with thickness made from a pattern of material and air.
  • Graph: A line-based pattern representing rib centerlines. In nTop, graphs store connectivity information between a network of line segments and are also used for lattices.
  • Rib: Ribs are a pattern of 3D thin-walled shapes of a specified thickness in a specified direction on the contour of an existing part.

Methods:

Graph Projection Mapping

  • Best used when the shape of the surfaces can be approximated by simple guide shapes. These guide shapes include planes, cylinders, and tubes.
  • Compatible with periodic rib patterns such as rectangular, triangular, and hexagonal. Custom patterns can also be created by defining a 2D unit cell.
  • Example parts: panels, housings, chassis, etc.
GPM Cover.png

Graph Projection mapping is a method of creating ribbing patterns that approximate a target shape using a simple guide shape. For the initial release, these guide shapes are Planes, Cylinders, and Tubes (Swept cylinders). This technique should be used when mapping across many CAD faces or small surface details and when the target shape resembles one of the guide shapes. Multiple projection mapping steps can be performed if there are multiple regions of a part. Additionally, it should be used when periodic patterns are desired.

Graph by Planar Projection

1. Start by creating an implicit body. This body will act as the target for projection mapping; the rib pattern will be projected to this body. In this case, it’s a CAD face converted to an implicit body, but CAD geometry is unnecessary for this workflow.

PP S1.PNG

2. Due to the shape of this part, Planar mapping results in a pattern with minimal distortion. Create a plane positioned with its normal facing the part and select a unit cell using the 2D Unit Cell (BETA) block. Use the Graph by Planar Projection (BETA) block to project the pattern to the surface with the desired rib centerline spacing. This block will project from the plane to the first intersection point along the plane’s normal direction. The Tolerance input controls how beams are subdivided to capture surface detail and boundaries.

PP S2.PNG

3. Due to the direction we will be extruding the ribs, we want to prevent gaps from appearing between the ribs and the side walls of the part. To accomplish this, we can use the Extend Open Lattice Beams  block to modify the graph. Once done, extract the Lattice -> Thick Graph -> Graph property and use this as the graph for the remaining steps.

PP S3.PNG

4. Use this graph in the Ribs from Graph (BETA) block to create solid ribs. To define a custom direction of extrusion (instead of just using the normal of the target, which is often acceptable), we will use another CAD face (“Back Face” in this example). This is because it is larger and smoother and will have consistent normals around the boundary of the projected Graph. Create a vector field from its gradient, which will become the extrusion direction. At this point, we can also specify the ribs' Thickness, Height, and Draft angle.

PP S4.PNG

5. Perform a Boolean Union to join the ribs to the base part geometry (in this case, converted from a CAD body to an Implicit Body). At this stage, a Blend Radius at the base of the ribs can be applied.

PP S5.PNG

Graph by Cylindrical Projection

1. In this example, the projection target is an implicit body with no CAD conversions created entirely in nTop. Start by defining a Frame using the Plane from Normal block. This will position an axis (corresponding with the Z axis of the Frame/Plane) to define cylindrical projection.

CP S1.PNG

2. The Graph by Cylindrical Projection (BETA) block will project the pattern from infinitely far away toward the central axis and stop at the first point of intersection. If the pattern needs to be on the inside of the part, toggle the “reverse” input, and the pattern will be projected away from the axis.

CP S2.PNG

3. To create the solid ribs, follow the same steps as the Planar example. In this case, a height ramp was created to decrease the height of the ribs from the ends of the body.

CP S3.PNG

Graph by Swept Projection

Swept Projection is similar to Cylinder mapping. However, instead of a central axis, a centerline defines the projection mapping.

1. Like the Planar example, the projection target is defined by converting CAD faces into an implicit body. In this case, the Get Cad Faces by Color block was filtered down to the red faces.

SP S1.PNG

2. Define a centerline for projection mapping. This single curve centerline can either be imported or created directly in nTop. In this example, it was made in nTop.

SP S2.PNG

3. Use the Graph by Swept Projection (BETA) block to project the pattern to the target. The projection logic is otherwise the same as Graph by Cylindrical Projection (BETA) block.

SP S3.PNG

4. From here, the steps for creating solid ribs are the same as previous methods.

SP S4.PNG

Example File:

Back to top

Conformal Graph Mapping

  • Best used when the surface is complex with branching or highly organic curvature
  • Compatible with two rib patterns:
    • Quad Mesh: Periodic layouts of unit cells with rotational symmetry
    • Stochastic (Voronoi): A random rib layout that supports field-driven cell sizing
  • Example parts: manifolds, piping, designs from topology optimization
  • Note: this method uses lattice blocks
CGM Cover.png

Projection mapping works for many types of parts, but not every part. Parts with complex curvature or branching geometry benefit from a more adaptive, organic approach. The tradeoff with this is that it is not always possible to align unit cells, so using a unit cell with rotational symmetry (such as “Rectangular”) is suggested. To accomplish this, a Quad Mesh is created on the part, and then a Graph is generated on the mesh.

Quad Mesh

1. Create a mesh of the region where the ribs should be located. In this case, a mesh generated from CAD faces was used, but an alternate approach would be to mesh the whole part and use Filter Mesh by Flood Fill block if no CAD faces are available.

CGM S1.PNG

2. Use the Quadrangulate Mesh block to generate a quad mesh.

CGM S2.PNG

3. Select a 2D unit cell and use Graph on Quad Mesh (BETA) block to create the rib pattern.

CGM S3.PNG

4. Finalize the ribs using Ribs from Graph (BETA) and implicit boolean blocks. Even though the graph on the quad mesh may deviate from the implicit body, the Ribs from Graph (BETA) block will conform the centerlines to the part.

CGM S4.PNG

Voronoi Surface Graph

An alternative to Quad Mesh mapping is the Voronoi Surface Graph block. This approach allows field-driven spacing, though the layout will be stochastic, not periodic.

VSG.PNG

Example File:

Back to top

CAD Face Mapping

  • Best used when the layout is isolated to a single CAD face.
  • Compatible with periodic rib patterns such as rectangular, triangular, and hexagonal. Custom patterns can also be created by defining a custom 2D unit cell.
CFM Cover.png

In some circumstances, the layout of the ribs can be fully defined by a single CAD face. In this scenario, use the Graph on CAD Face (BETA) block to generate the rib pattern.

CAD Face Mapping.png

Example File:

Back to top

Field Driven Rib Geometry

  • Recommend method for optimizing your rib designs
  • Compatible with all three rib mapping methods above
  • Note: Rib geometry can be created with constant or spatially varying parameters.
  • Parameters that can be driven with fields:
    • Rib height
    • Rib thickness
    • Rib orientation (extrusion direction)
    • Draft angle
  • Examples of fields include:
    • Distance from features
    • Simulation data
    • Build compensation data
FDRD Cover.png

This section will demonstrate how to use simulation data to specify the height of ribs.

Simulation Driven Ribs

1. In this example, a rib pattern is projected following the same steps as in the previous section, "Graph by Swept Projection."

SDR S1.PNG

2. Rib geometry can be Field-Driven. In this example, we will run a Static Analysis to generate the field. Torsion is applied using displacement and point restraints. In the following steps, we will use the mid-principal strain field.

SDR S2.PNG

3. To find the maximum and minimum values, evaluate the absolute value of the mid principal strain field at the vertices of the surface mesh. These vertices can be found in the properties of the FE Volume Mesh from CAD block. Then, calculate the max and min values using Max and Min blocks.

SDR S3.PNG

4. As shown in the image below, use a Ramp block to create a height ramp from the strain field. This will map the minimum value to the minimum height and the maximum value to the maximum height.

SDR S4.PNG

5. Simulation fields can tend to be a bit noisy, so it’s helpful to smoothen the field to create smooth ribs.

SDR S5.PNG

6. Use this field in the Height input of the Ribs from Graph (BETA) block. The rib height will now vary with the simulation data.

SDR S6.PNG

Designing Ribs with Manufacturability Constraints

This section will show how to create a custom extrusion direction, add a draft to the ribs, and add blend radii to the ribs' intersections.

1. Start by creating a graph and, in this case, using planar projection.

MC S1.png

2. We want to create a height ramp that tapers off toward the perimeter. To do this, use Section Body and extract the Polygon -> Body property. This will provide a distance field to the boundary.

MC S2.png

3. Use a Ramp block to turn this distance field into a height ramp.

MC S3.png

4. Insert this Ramp into the Height input of a Ribs from Graph (BETA) block to create variable height ribs.

MC S4.png

5. The Draft angle input will add a draft from the base of the ribs to the tops. Additionally, the Direction input can override the default extrusion direction (normal to the Body), ensuring a constant extrusion in the Z direction.

MC S5.png

6. Use the Blend Intersections (BETA) block to add blends where ribs intersect. This will create a bulge on the top and bottom, which must be trimmed off.

MC S6.png

7. Offset the body using the same height ramp used for the ribs.

MC S7.png

8. Intersect this trimming tool with the ribs to create ribs with flat tops at the specified height. Then, a union with the desired base geometry is performed.

MC S8.png

Example File:

Back to top

More on this topic:

Was this article helpful?