The Lay command and all other AVC commands that require part dimensions operate according to the same solid layout rules. It's important to understand how the layout algorithm works and what settings affect it. Incorrectly configured layout and solid measurement results in incorrect part dimensions, erroneous joining of different parts, and errors in searching for mirrored parts.
All AVC programs strive to obtain the correct part dimensions, regardless of the solid's shape or orientation. For any orientation, the measurement must produce the same numbers, the same solid metric.
To achieve this, the measurement program first calls the LAY program and then, having received a correctly nested solid, measures the maximum part dimensions and takes the metric.
The main task of the nesting program is to find the front face of the part. The program assumes that this surface should be in the XY plane after nesting, i.e., with the front side down.
AVC programs are primarily used for sheet metal parts (chipboard, plywood, steel, etc.). Therefore, the front is usually considered to be the largest plane of the solid. Keep in mind that grooves (dadoes) can cut a large part face into pieces, and the program may make an incorrect selection.
When selecting a front face, they are prioritized in the following order:
Flat faces. If the program ignores a face, make sure that it is converted to a Region and not a Surface when exploded.
Faces with oppositely directed pairs. This eliminates any inclined edges.
Colored surface (even if small). This allows you to force the program to select the desired face. Checkbox "Color face priority".
Maximum area. This eliminates faces with blind holes and grooves.
The coating material has been assigned. You can assign a material to laminated or painted faces, and they will be considered front faces. However, this will only work if you select one of two identical large faces. This way, you can safely assign materials to edges; the part will not stand on its end when laid out.
Initially, it is facing upward. This will help you correctly lay out podium and floor parts. This also only works for identical, largest faces. Checkbox "Top-side priority".
If the program makes an error in selecting a front, you can force it to correctly select the desired solid surface. You can force the program to consider any flat face as a front by marking the surface with a color. Indexed orange color #30 is typically used for this marking. You can disable this feature or select a different color. You can also consider any surface color as a front marking. All of this can be configured in the Common Options under "Solid Measure Priorities."
It's convenient to assign a font using the AVC Properties Palette. If you select a solid surface (for example, by CTRL-clicking), the palette will display the properties of that surface. It will also include a checkbox labeled "Front Mark." Checking this box will change the surface color to #30. You can select one surface at a time on multiple solids and assign the front mark to them all at once—it's faster. After setting this mark, you should re-run the SolSize measurement procedure or the layout command.
After selecting a front face, the program makes a temporary copy of the solid and rotates it so that the front is in the XY plane. This means that each part lies flat on the floor. This makes measuring easier, but it's not enough. The part is then rotated around the Z axis so that the longest edge of the solid extends along the X axis. For most non-complex parts, this ensures that the part's length will extend along the X axis.
You can reconfigure the LAY layout program to rotate all parts along the Y axis. This is convenient for CNC machines, where the sheet material is laid with the long edge along the Y axis.
You can force individual parts to rotate with the long edge along the Y axis. For example, if laminated chipboard has a wood grain pattern and you want the part to have the grain along the short side, rather than the long side, use the AVC Properties Palette and toggle Texture = Across in the part's properties.
Note that the program will reset this setting if the Grain|Texture checkbox is not enabled for the part's material.
When searching for the longest edge, right angles (90°) are taken into account. This means that a right triangle will not be laid along the hypotenuse. However, the "Right-angle priority" option can be disabled. The program will attempt to rotate the right angle in the part to the origin so you can use it as a base point for all dimensions.
The program can also measure round pipes. If you're working with round pipes and rods, you should, of course, have the length of the pipe, not its diameter, be considered the part's length. For the program to measure a solid as a pipe, you must first assign a material to the solid. In this material's properties, specify the material using type as Rod or Volume. The program will then compare the surface areas, and if the largest surface (or marked surface) is a closed convex cylinder or a closed convex torus, the solid will be measured as a round pipe. The program will also search for transverse holes and grooves in the pipe and attempt to align them upward in the Z-axis. For extremely short pipe pieces, the cylinder surface must be marked as a face.
For curved pipes, the largest surface area will be a torus. The length of the torus will be calculated as the arc length along the torus axis, and the width and thickness will be the minor diameter of the torus.
For this measurement method to work, each tube segment must be a separate solid with a single, unified surface of a cylinder or torus. Pipes with varying bending radii must be cut into separate segments. NURBS surfaces are not measured. For cylindrical pipes, the "SWEEP" property is cleared, while for tori pipes, it is forced.
Mirror solids are two different solids that can be converted from each other using the _Mirror command. They differ from each other as a right hand from a left hand. For symmetrical parts, the _Mirror command produces the same solid. AVC programs can verify that solids are identical in all metric data, but the direction of asymmetry differs along at least one axis. Such solids are considered mirrored. There's no need to create separate drawings for them or record them as a separate row in tables; simply count them separately. You can manually mark some (even symmetrical) solids as "Mirror." All parts in mirrored blocks are treated as if they were manually marked as mirrored. You may even end up with zero "right" parts and some mirrored ones. Therefore, never use mirrored assembly blocks; replace them with regular blocks using the AsmNew command. A separate vertex hash is calculated for mirrored solids.
The program is designed for use in designing sheet parts. Such parts always have a base plane, which determines how the part is laid out. This algorithm will not work for spheres, tori, shafts, or sculpted parts.
If you notice that the program is reporting incorrect part dimensions or mistakenly combining different parts into one, check all the "Solid Measure Priorities."
Run a test LAY to see the position in which the measurements are taken.