The attached example file demonstrates how to use FRED's array feature to facilitate construction of a geometry with repeating structure on a rectilinear grid. In this example, the geometry structure is a simple, repeating pattern of a solid block with a cylindrical hole in its center.
The first step in the geometry construction is to build a "base cell" that will be replicated. As seen below, the "Base Cell" subassembly node contains two element primitive constructs; a Block and a Cylinder. Together, the block and cylinder form a solid element representing a block with a cylindrical hole in its center.
A key to this particular construction of the solid element is the use of the Aperture settings on the Block.Front Face (+Z) and Block.Back Face (-Z) surfaces to trim away the central portion of these surfaces where the cylinder resides. In this manner, a "through hole" is cut cleanly through the entire block. The image below shows the Aperture tab of the Block.Front Face (+Z) surface, where a 6.35 mm radius hole has been specified on the Trimming Volume Inner Hole portion of the Aperture tab (right hand side). Front Face (+Z) is the node selected on the object tree and it is highlighted in red in the 3D view, where the application of the inner trimming volume hole is clearly visible.
Once the base cell geometry has been defined, the Base Cell subassembly node can be arrayed into a rectilinear grid. To begin, right mouse click on the node containing the base cell structure to be arrayed and then select the "Edit/View Array Parameters" option.
A dialog will be opened that allows specification of the array parameters. At the top of the dialog, "A" and "B" vectors can be defined. In general, these vectors do not need to be orthogonal to each other. The length of these vectors defines the spacing between array elements in the directions defined by A and B. For this rectilinear grid example, A will align to the X axis and B will align to the Y axis. The cell spacings along these axes will be 25.4 mm (center to center distance between cells). The A and B vectors will be defined as shown in the image below.
Next, the number of cells in the array along each of the A and B directions needs to be defined. Consider a cell in the array as having index position given by (I, J), where the (0, 0) index position is located at the origin of the node being arrayed. A cell in the array has physical coordinates given by (I*A, J*B) The array cells will be populated in the region between (I_min, J_min) to (I_max, J_max). Our rectilinear grid example will be centered on the (0, 0) position of the base cell and extend +/- 5 cells in the A direction (X axis) and +/- 10 cells in the B direction (Y axis). The configuration of the I and J Min/Max indices is shown below.
At the bottom of the array dialog, various options for rendering (or not) the contents of the array cells are provided. Rendering does not affect the raytrace calculations. If an array contains a large number of cells, the 3D view may become less responsive and it may not be desirable to render the contents of every cell. In this example, the "Draw cell contents" option is being used.
After completing the array configuration, press OK on the array dialog. Note that in the image above, the "Base Cell" icon on the object tree shows a set of blue dots in the upper left of the icon. This indicates that the cell is currently arrayed. To remove an array specification, right mouse click on the arrayed node in the object tree and select, "Delete Array Parameters".
FRED File: arrayedHoles.frd