Shade3D Help (Contents)

Boolean Character Types

In addition to the basic union, difference, and intersection Boolean effects, Shade3D offers several other Boolean characters for greater control over Boolean rendering. Boolean effects require closed solids or parts containing closed solids.

Boolean effects are specified using special characters at the beginning of individual object or part names. More than one Boolean character may be added to any given object name.

Note that the characters used to specify Boolean effects do not correspond with their meanings in mathematical or other contexts.

Caution Flat objects with no thickness, such as disks and rectangles, should not be used with Boolean rendering.

Difference: - (Minus Sign)

An object with a - (minus sign) added to the beginning of its name in the Browser will cut away an intersecting object. The difference object itself is not rendered.

Two intersecting spheres. No Boolean characters are used here.

The result of placing a "-" (minus sign) at the beginning of the metallic sphere's name in the Browser. The marbled sphere is cut away by the metallic sphere.

Union: \ (Backward Slash)

An object with the "\" (backward slash) character added to the beginning of its name in the Browser will be combined with an intersecting object.

The combined object's outside appearance does not change, but the internal intersection area will no longer show. A compound object created in this way can be used in further Boolean operations. The individual surface attributes of each object will be retained.

Two intersecting, transparent extruded disks. No Boolean characters are used here. Part of the thin disk can be seen inside the thick disk.

The two disks are combined, and the intersecting part of the thin disk disappears.

Difference with Surface Attributes: * (Asterisk)

An object with an * (asterisk) added to the beginning of its name in the Browser will cut away an intersecting object, replacing the original attributes of the intersecting surface with those of the "*" object. The "*" object itself is not rendered.

Two intersecting spheres. No Boolean characters are used here.

Part of the marbled sphere is cut away by the metallic sphere, and the intersecting surface takes the texture of the metallic sphere.

A case in which a part containing two intersecting spheres cuts out another object. In the above example, the intersection of the two spheres is preserved.

Here the union character "\" is used to combine the intersecting spheres. The metallic sphere is also combined with the curved surface base, and is rendered--not what we want.

By adding the & character to the union object (in this case the metallic sphere), the union Boolean effect is restricted to the current hierarchy in the Browser.

Intersection: "$" (Dollar Sign)

When an object with the "$" (dollar sign) character added to the beginning of its name in the Browser intersects another object, only the intersection (i.e., the shared volume) is shown. The surface attributes are retained by each object.

Here two translucent objects are intersecting.

When the "$" character is added to the sphere, only the intersection of the two objects is displayed. Notice also the "&" (ampersand) character; it is used to localize the Boolean effect to sibling or child parts. If the "&" character is not used, any parent parts that intersect will also be affected.

This example shows two pairs of compound objects side by side. Although the original objects intersect, the "&" character localizes the Boolean calculation to sibling and child parts only, preventing unwanted effects.

Replacing Surface Attributes: "=" (Equal Sign)

An object with a "=" (equal sign) added to the beginning of its name in the Browser will replace the attributes of intersecting surfaces with its own surface attributes. The "=" object itself is not rendered.

Two overlapping objects. No Boolean characters are used here.

The sphere's marbled texture is replaced with the metallic texture of the "=" object at the intersections.

The surface attributes of the "=" object cannot use image wrap mapping. Wrap mapping is only defined for an object surface; it cannot be defined for intersections.

By combining multiple mappings using masks, a very useful technique called sticker mapping can be used.

In sticker mapping, an image on a black or white background is mapped, a "=" object specified as a sticker by switching on the White Key Mask or Black Key Mask checkbox is prepared, and the surface attributes of the object to be mapped are set for the part containing both the object to be mapped and the sticker object. Changing the location of the sticker object enables you to paste the image anywhere you wish within the object to be mapped. The surface attribute settings of the object to be mapped will show through as the base color of the image.

Here let's use sticker mapping to place the above logo on a metallic sphere. This logo is a black and white binary image with no anti-aliasing.

The projection mapping of the black letters on a white background appears on the object with the “ = ” character, and the White Key Mask checkbox in the More Shading Attributes dialog box is on. The metallic texture is inherited from the parent part.

Restricting Effects: & (Ampersand)

Combining the & character with another Boolean character will restrict, or localize, the Boolean effect to the local part and any child parts in the Browser hierarchy. These are called local effects.
Without the & character, objects throughout the Browser hierarchy are affected. These are called global effects.
Using the & character by itself will locally apply a function equivalent to that of the = (equal sign) character.

One large sphere and five smaller spheres.

The large sphere is hollowed out by the smaller spheres when the * (asterisk) character is added to a part containing the smaller spheres. Our end goal here is to create a female mold, using Boolean rendering. The larger sphere with "dimples" will be the male mold.

A box (the extruded closed line) is used as the starting point for the female mold. Simply adding the * (asterisk) character to a part containing the male mold (the large dimpled sphere) does not result in a correct female mold, because the smaller spheres also interact with the box.

To restrict the Boolean effects of the smaller spheres to the large sphere only, we can add the & character to the part containing the male mold. Now the female mold renders correctly.

Canceling Effects: + (Plus Sign)

The + (plus) character cancels effects of the * (asterisk) and - (minus) characters.

In this example we have a sphere surrounded by a ring. The ring is itself created from two concentric spheres, which are then sliced into a thin ring using two extruded solids with the Boolean difference character * (asterisk) added.

The internal image was created by synthesizing a wireframe-rendered image several times using the backdrop function.

When the + (plus) character is added to the center sphere, the Boolean difference effect is canceled, leaving the sphere whole.

Canceling Effects: ^ (Caret or Circumflex)

The ^ (caret or circumflex) character cancels effects of the = (equal sign) character.

As in the above example, here we have a sphere surrounded by a ring, but this time the sphere is sticker-mapped using the = (equal sign) character.

By adding the ^ (caret) character to the ring, the Boolean effect of the = character is canceled, and the ring does not receive the sticker map.

Canceling Effects: ! (Exclamation Mark)

The ! (exclamation mark) character cancels effects of the * (asterisk), - (minus), and = (equal sign) characters.

Continuing the previous example, now we have added a wire frame around the sticker-mapped sphere.

By adding the ! (exclamation mark) character to the wire frame part, the Boolean effects of the * and = characters are canceled, and the whole wire is rendered.


Related Topics

Copyright © 1986-2024 FORUM8 Co., Ltd.