Previous post in series [AECLineworkDivide].
The AecLineworkSubtract command is available on the Home ribbon tab, on the Modify panel flyout, by selecting the Subtract tool from the Merge/Subtract flyout. If the Subtract tool is not the displayed tool on the Merge/Subtract flyout, select the right side of the split button (down arrow icon) to deploy the flyout and choose the Subtract tool. Or, with no command active, you can right click in the drawing window, and choose AEC Modify Tools > Subtract from the context menu.
The AecLineworkSubtract command can be used to subtract (delete) parts of linework, AEC Polygons, Mass Element Extrusions that have an embedded profile, Spaces and Hatches as well as from Block References which contain any of these objects. There are two options for specifying the extents of the subtraction area:
- Select one or more items in the drawing, which form at least one closed loop. Any single closed item will work (closed Polyline, Circle, Ellipse, AEC Polygon, Mass Element or Space), as will any combination of objects that, combined, form at least one closed loop.
- Press the ENTER key when prompted to select items to subtract, and then define a subtraction rectangle by selecting opposite corners of a rectangle. The rectangle will have sides parallel to the X- and Y-axes of the current UCS.
Here are some additional notes regarding the AecLineworkSubtract command:
- MText, Text, Ellipses and Ellipse Arcs cannot be added to the selection set of objects from which to subtract a portion.
- Ellipses and Ellipse Arcs can be selected as (part of) a boundary defining the area to subtract.
- Mass Elements with a shape other than "Extrusion" and Mass Element Extrusions that have an external Profile can be selected as objects from which to subtract, but will not affected by the AecLineworkSubtract command. These types of Mass Elements can be used to define the area to subtract.
- If a Block Reference is selected as an object from which to subtract, only those nested objects within the block on which the AecLineworkSubtract command works will be affected.
- Attributes within a Block Reference will not be affected by the AecLineworkSubtract command.
- If a Block Reference is selected as an object from which to subtract, it has subtractable nested elements and it is the only instance of that Block Reference in the drawing, then the original block definition will be redefined to include the effects of the subtraction. If at least one instance of the Block Reference remains unaffected by the subtraction, then the original block definition will remain unchanged and the affected instance(s) will become instance(s) of new, anonymous block definition(s).
- Multi-View Blocks can be selected as an object to have a part subtracted, but will not be affected by the command.
- If the area to subtract effectively splits an object into two or more separate pieces, the result depends upon the selected object. Closed Polylines and Circles will result in two (or more) separate Closed Polylines. Hatches, Mass Element Extrusions (embedded Profiles), AEC Polygons and Spaces will result in one object, with two (or more) separate, non-contiguous regions.
- Associative Spaces, Walls, Doors, Windows and Door/Window Assemblies can be selected as items from which to subtract, but will not be affected by the command. Non-associative Spaces do work with the AecLineworkSubtract command.
- Subtracting from an associative Hatch will result in a non-associative Hatch, regardless of whether or not the boundary of the Hatch is included in the subtraction.
- If an object in the subtract selection set is entirely within the subtraction boundary, it will be deleted.
As with the AecLineworkDivide command, there are object types and combinations of objects within a Block Reference that I did not test. If you are thinking of using the AecLineworkSubtract command in a situation that you have not done so previously, you may want to use the Mark option of the UNDO command to place one or more UNDO Marks prior to using the command, so that you can easily UNDO Back to the point before the command was used if you get unexpected results.
Next post in series [AECLineworkObscure].