Reduce

The Reduce command is intended to prepare a volume identified as a bolt for analysis by simplifying its geometry, fitting to overlapping geometry, creating blocks and groups, etc.

Syntax:

 Reduce {volume <ids>} [fit_volume] [webcut [{Head|Shank|BOTH}]] [imprint] [merge] [qtri] [increment_block_ids] [summary] [diameter <value>] [group_id {<value>|Default}] [group_name {<string>|Default}] [head_block_id {<value>|Default}] [head_block_name {<string>|Default}] [shank_block_id {<value>|Default}] [shank_block_name {<string>|Default}] [plug_block_id {<value>|Default}] [plug_block_name {<string>|Default}] [bolt_block_id {<value>|Default}] [bolt_block_name {<string>|Default}]

Discussion:

The primary use case for the reduce command is currently preparing bolts for analysis. One way to identify all bolts in an assembly is to use the Machine Learning Classification tools in the Geometry Power Tool. The intent of the reduce command is to quickly simplify the bolt geometry to its simplest form. If the bolt is overlapping the part to which the bolt is to be fastened, the bolt can be automatically webcut into three parts: head, shank and plug as shown in figure 1. The resulting webcut volumes can in turn be assigned to blocks or groups and the diameter of the shank can be altered. The plug can also be merged or contiguously meshed with the fastened geometry. The following outlines the options for the reduce command.

Figure 1. Parts of bolt following webcut

volume ids: In its simplest form, the reduce command will take one or more volume ids. Without additional arguments, the command will attempt to simplify the geometry by regularizing, removing cavities and threads as well as chamfers and rounds. In many cases the bolt can be reduced to two connected cylinders as shown in figures 2 and 3.

Figure 2. Bolt geometry prior to reduce operation.

Figure 3. Bolt after reduce operation.

Optional Arguments

fit_volume: If the bolt volume is partially overlapping the volume to which it is fastened, as shown in figure 4, the fit_volume option will remove the bolt hole from the volume and perform a boolean subtract operation to ensure that the bolt exactly fits the volume the bolt is fastened to. Figure 5 shows the result of the fit_volume operation. Note that the hole beneath the bolt has also been filled in.

Figure 4. Bolt geometry prior to reduce operation showing nearby volumes.

Figure 5. Bolt after reduce operation using fit_volume, webcut and block assignment options.

webcut [{Head|Shank|BOTH}]: When using fit_volume option with webcut, the bolt can be cut into up to 3 different volumes as shown in figure 1. Using the optional Head or Shank options a single webcut can be executed separating just the head from the shank or just the shank from the plug respectively. If no arguments are used to the webcut option, or the both option is used, both webcuts will be performed resulting in three volumes. The resulting volumes will be merged together. The location of the webcut on the shank will be where the bolt exits the volume to which it is fastened.

imprint: If the webcut option is not used, the imprint option can be used to imprint the volume to which the bolt is fastened onto the bolt. This would normally be where the shank was separated from the plug if the webcut option was used.

merge: When the merge option is used the plug will be automatically marged with the volume to which the bolt is fastened.

qtri: Sometimes it may be useful to pre-mesh the interface defined by the cylindrical surface of the plug. This can be used if contact is to be simulated. The qtri option will apply a qtri mesh at the surface of the plug volume. The mesh size will be defiend by the size set on the bolt volume.

diameter <value>: Use the diameter option to alter the diameter of the bolt shank. If no value is specified for diameter, the existing diameter of the bolt will be used.

summary: The summary option will report areas and volume of the bolt before and after performing the reduce operation.

group_id {<value>|Default}, group_name {<string>|Default}: When the webcut option is used, since up to three volumes will result, it may be useful to assign the resulting volumes to a group. The group may be defined by either a group_name or group_id. If the group does not yet exist, a new one will be created. The Default option will automatically select an id or name.

When the webcut option is used, the resulting volumes may be assigned to a block. The following options may be used to assign to blocks based on an ID or a block name:

The blocks may be defined by either a block_name or block_id. If the block does not yet exist, a new one will be created. The Default option will automatically select an id or name.

If webcut is not used, the resulting reduced bolt volume may still be assigned to a block id using either the bolt_block_id {<value>|Default} or bolt_block_name {<string>|Default} options.

increment_block_ids: When assigning new webcut volumes to blocks, the block ID can be automatically generated by incrementing from a specified block_id. For example, if head_block_id is defined as 100, and the increment_block_ids option is used, each new head volume generated will be assigned to a new unique block id starting with 100, followed by 101, 102, 103, etc.