2.2
3.1 SET A DETAIL
........................................................................................................................................
6
3.2
3.4 GENERATE A WALL
.............................................................................................................................
11
3.5
4 DEFORMERS
.........................................................................................................................
14
5 OPENINGS
............................................................................................................................
17
5.2
6.2 INPLACE EDITING OF DETAILS
..................................................................................................................
22
7 BRICK FORMATS
..................................................................................................................
23
7.1 BRICK FORMATS
........................................................................................................................................
23
8 LAYER GRID
..........................................................................................................................
24
9 COMPONENTS EDITOR
.......................................................................................................
25
10 PATTERNS ACTIONS
............................................................................................................
26
10.1 ACTION EDITOR
.................................................................................................................................
26
1 Introduction
BrickDesign enables the controlled design and manipulation of a
large amount of discrete
elements. The plug-in provides a parametric design environment,
which allows for a fast
build-up of brick façade geometries, which can easily be adapted to
changing design
intentions and requirements. The core concept of the software is
that the brick unit is the
basis for every action performed. Basically, a design is generated
through drawing, placing
and manipulating individual bricks. BrickDesign offers different
methods to manipulate the
individual bricks in order to map patterns on a façade. These
methods can be extended ad
libitum through an open script interface, which gives access to a
number of brick
parameters.
This manual covers the basic features of BrickDesign, for
information on the scripting
interface please refer to the separate document.
1.1
System requirements
BrickDesign is a plugin for Rhinoceros. Releases for other CAD
Systems are planned in the
future. To run BrickDesign you need to have Rhino 5.0 installed. As
the plugin is mainly
written in Python it should be Mac compatible, but we could not run
sufficient tests until
now. As soon as we have tested a Mac version we will provide you
with a Mac installer.
The free version of BrickDesign is limited to use 10’000 of bricks
and the scripting interface
is disabled. A full commercial licence can be obtained from within
the software. For non-
commercial licence, please contact
[email protected].
BrickDesign 1.1.x 3
2 BrickDesign basics
The BrickDesign Functions can be accessed through the BrickDesign
Toolbar, the
BrickDesign Menu Bar or the Rhino command line. When installing the
Plug-in the
BrickDesign Toolbar and Menu will open automatically.
BrickDesign Toolbar
BrickDesign Menu
2.1 BrickDesign editors
BrickDesign Editors open in separate windows, which can be docked
to your Rhino layout.
For easier use these editors can be viewed in a basic or an expert
mode. The basic mode
gives you an overview of the most commonly used parameters, while
in expert mode you
have access to all parameters available.
You can toggle between basic and expert mode by clicking on
the -/ -button in the
bottom left corner of the editor windows.
BrickDesign commands
BrickDesign commands start with the prefix bd
or bf . Commands starting with bd apply to
the parametric BrickDesign model, whereas the latter apply to
frozen geometry of the
BrickDesign model. When typing bd or bf in the command
line rhino will try to
autocomplete the command and a window opens giving you an overview
of all BrickDesign
commands registered with Rhino.
Throughout this tutorial the following paragraph
Command: some_command
always refers to input in the rhino command line. Commands are set
off by pressing the
ENTER button on the keyboard.
2.3 Parametric vs. frozen model
Basically, BrickDesign lets you build up a parametric model of your
brick facades. Certain
actions demand to leave the parametric model and can only be
operated on the geometry
stripped of all its parameters, which we call frozen geometry. This
applies e.g. to mapping
patterns on to the facades or performing feasibility checks.
Menu bar:
BrickDesign / Freeze Geometry
converts the parametric model into frozen geometry. You can switch
back to the parametric
model using the command
bar:
BrickDesign / Unfreeze Geometry
Changes applied to the frozen geometry are lost once you switch
back to the parametric
model. In order not to have to redo every action you performed on
the frozen geometry
after performing changes on the parametric model, you can record
actions and replay them
later on an altered instance of the geometry. Although you might
need to adjust Rhino
geometries that are linked to certain actions, e.g. you might want
to change the length of
the projection curve after you have changed the length of a wall
when applying an image
pattern.
Perspect ive of parametr ic model
Perspect ive of f rozen geometry, notice that the annotat ion dot
of the wal l , as wel l as the blue-colored bricks spanning the
parametr ic model are not v is ible anymore.
3.1 Set a detail
The basic concept of the software is that a brick wall is defined
by so called details , which
can be corners , endings or joints . The
details give you control over the dimension and
geometry of the wall . Details can be chosen from a
predefined library, but you can also
create your own individual detail and connect it to the
overall parametric model. Chapter 6
illustrates how to create a custom detail .
Toolbar:
Menu bar: BrickDesign / Commands / Add Detail
BrickDesign will show you a preview of the detail and
open the attribute editor . You can
adjust the values in the editor and will get a direct preview of
the detail in the viewport.
After positioning the detail you may continue to place
further details or end the command
by pressing ESC or the right mouse button.
BrickDesign 1.1.x 7
Each library detail is available to match different
bonds. Again you can choose from a
predefined library which contains the most commonly used bonds, or
you can define your
own custom bond. For a predictable result, the two corresponding
details that span a wall
should have the same bond type. Otherwise, the bricks within the
wall will shift to match the
end condition at each detail , which might give unexpected
results.
Corner detail
Corners details connect two walls in an angle. By
default the angle is set to 90 degrees. The
angle can be adjusted by editing the detail .
Example of a corner detai l
Ending detail
Example of an ending detai l
Joint detail
3.2 Edit a detail
All attributes of a detail are accessible and can be
adjusted. The modifiable attributes
depend on the type of detail selected.
Toolbar:
Menu bar: BrickDesign / Editors / Attributes
I f no detai l is selected you are prompted to do so.
The attribute window opens listing the attributes of the selected
detail . Gray shaded lines
indicate non editable attributes.
Object: type of object, e.g. detail , wall ,
deformer
Name: set name of detail
Facade: assign the detail to a facade to organize your
model
Standard Library: True for BrickDesign standard
details , False for custom details
Type: ending / corner / cornerInside / joint1 / joint2 /
joint3 / joint4
Interlocking: set the bond type of the
detail
Note: For a predictable result, the two corresponding details that
span a wall should
have the same bond type. Otherwise, the bricks within the wall will
shift to match the
end condition at each detail, which might give unexpected
results.
Format: set brick format
Note: The format attribute will only change the brick size of
standard details. Customs
details will remain at the same size as when they were created. To
adjust the size of
custom details you need to rebuild them.
Gap: set the gap connecting the detail to the brick wall
Int. Angle Deviation: set the internal angle of the
detail
Show Joints: display the joint directions of the
detail
Layer Grid: set the layer-grid of the detail. To set new
grids open the layer-grid editor.
Note: All connected details will be set to the same layer
grid.
Alternate Layer: set with which layer the detail should
start
Start Row: shifts the complete detail up or down within its
defined layer grid – thereby defines
were a wall connects to the detail
Rows: number of rows in the detail
Bricks: number of bricks in the detail
Move, rotate, copy, mirror and align
Arrangement of detai ls
3.4 Generate a wall
To generate a wall you need to have placed at least two
details . The wall will be generated
between the open ends of the details . The initial bond of the
wall is derived from the
details, but can be changed later on. The spline of the wall’s
footprint is defined by the
direction of the open ends of the details . If they connect in
a straight line, the resulting wall
will be straight; otherwise the details are connected by
a curved spline.
Toolbar:
bar:
BrickDesign / Commands / Make Wall
You wi l l be prompted to select at least two detai ls between
which a wal l wi l l be spanned.
Brick wal l between two detai ls .
There are six predefined bonds available in the library. The gaps
between the individual
bricks are balanced over the wall length. You can adjust the gap
size by switching the
starting row of a detail , moving the detail , changing
the brick size, or editing the wall
parameters.
3.5 Interactivity
Once set, the wall is connected to the detail . Adjusting the
attributes of a detail or moving
the detail will automatically have an effect on the wall.
Interact ive response when moving a detai l
3.6 Edit a wall
A wall , like a detail , offers certain editable
attributes. To edit the wall click on the text dot
associated with each wall or select the
wall geometry.
Toolbar:
Menu bar: BrickDesign / Editors / Attributes
The attribute window opens listing the attributes of the selected
wall . Gray shaded lines
indicate non editable attributes.
Name: set name of wall
Facade: assign the wall to a facade to organize your
model
Standard Library: True for BrickDesign standard details,
False for custom details
Bond Type: set bond type
Note: Again for a predictable result, the bond type should
correspond with the
details.
Format: set brick format
Gap Width: set the value of the desired butt joint – the
software will aim to achieve this value, but
due to brick size and wall length the actual value of the butt
joint can differ
Minimum Gap: set the minimum value allowed for the butt joint
– this is an absolute value, the butt
joint will never be less than the minimum gap
value
Effective Gap: the effective gap of the butt joints
Auto Curvature: True = control distances for curvature are
set automatically
False = control distances for curvature can be set by user
Control Distance L: distance of first spline control point
from left detail – lets you control the curvature of
the spline
Control Distance R: distance of first spline control point
from right detail – lets you control the curvature of
the spline
Curve Offset: offset the defining spline for the brick placement –
0 (default): spline runs through
center of bricks
Show Curve: display the spline defining the wall curvature
Left: defines at what open end of the detail the wall
connects on the left
Right: defines at what open end of the detail the wall
connects on the right
Show Joints: display joint directions of details defining the
wall
Alternate Layer: set starting layer of bond type
Bricks: number of bricks in the wall
4 Deformers
Deformer bricks allow you to influence and adjust the wall geometry
and curvature, or to
gain greater control over the distribution of the butt joints.
Deformer bricks are placed in
the bottom row of a wall. Similar to details their
position in space is fixed, meaning the
generating spline for the wall will always run through the deformer
brick, whereby you can
gain greater control over the wall curvature. A deformer brick can
also slide on the existing
wall curvature to adjust the butt joint. On the other hand the
distribution of the bricks and
the butt joints is calculated separately to the left and to the
right of the deformer brick.
Once set, a deformer brick can be moved with the common rhino
move command.
4.1 Add a deformer
Get Wall:
Select the wal l you would l ike to place a deformer
Choose deformer Brick on first row of a wall:
Prompt to select a deformer br ick
Note: deformer bricks can only be set in the bottom row of a wall,
if you move the mouse over the wall possible bricks for selection
wil l highlight red.
Note: An error in rhino wil l al low you to highlight any brick in
the Front- or Right-View Window. As deformers can only be set in
the bottom row, selecting a brick in any other row will result in
an error!
Deformer br icks are marked in red
BrickDesign 1.1.x 15
Adjust the geometry and/or the distr ibut ion of butt joints by
moving the deformer br ick with the common rhino move
command.
Note: Many deformer bricks on a short wall lead to intersecting
bricks
4.2 Edit a deformer
Toolbar:
Get
Object:
I f you do not have an object selected, you wi l l be prompted to
select an object, in this case select a deformer br ick.
Attr ibute window for deformer object
Name: set name of deformer
Facade: assign the deformer to a facade to organize your
model
Constrained: False = deformer will transform the wall
geometry
True = deformer will be auto aligned to the existing wall geometry
– when moved, the
deformer will slide along the wall curvature without changing the
geometry of the
wall. Thereby you can adjust the gap pattern of the wall.
Note: constrained deformers will be colored "green".
Auto Curvature: True = control distances for curvature are
set automatically
False = control distances for curvature can be set by user
Control Distance L: distance of first spline control point
left of deformer – lets you control the curvature of
the spline
Control Distance R: distance of first spline control point
right of deformer – lets you control the curvature
of the spline
Note: in order to set values for Control Distance L and Control
Distance L, Auto
Curvature has to be set to False.
Note: To get a feeling for how the values effect the wall
curvature, edit the wall
attributes and set ‘show_curve’=True.
Effect of curvature attr ibute of deformer br ick
5 Openings
It is possible to set openings in a brick wall. Openings or windows
are connected to the wall
geometry, thus changing the wall attributes or geometry will also
affect already placed
openings. Once you have defined an opening, two reveal
details are generated. An
opening can be changed or adjusted by moving the reveal
detail or editing its attributes.
5.1 Define an opening
Get Wall:
Select the wal l in which you want to create an opening
brick1_for_window:
Select the bottom left br ick of the window opening
The selected brick is highl ighted red
brick2_for_window:
5.2 Edit an opening
The opening will automatically generate two details defining the
opening. Using the
common rhino move command the details can be moved
and the size of the opening
adjusted. While moving, the detail will snap to the grid
pattern of the wall.
Move the reveal detai ls a long the wal l to change posit ion and s
ize of the opening
Further attributes can be adjusted through the editing window.
Toolbar:
Get
object:
I f you have not already selected a reveal detai l , you are
prompted to do so.
Attr ibute window of window detai l
Name: set name of reveal detail
Facade: corresponds to the wall facade
Standard Library: True = standard library detail
False = user defined detail
Interlocking: set the bond type of the
detail
Note: For a predictable result, the two corresponding details that
span a wall should have the same bond type. Otherwise, the bricks
within the wall wil l shift to match the end condition at each
detail , which might give unexpected results.
Format: set brick format
Note: The format attribute wil l only change the brick size of
standard details. Customs details wil l remain at the same size as
when they were created. To adjust the size of custom details you
need to rebuild them.
Gap: set the gap connecting the detail to the brick
wall
Int. Angle Deviation: set the internal angle of the
detail
Show Joints: display the joint directions of the
detail
Alternate Layer: set with which layer the detail should
start
Start Row: shifts the complete detail up or down within its
defined layer grid – thereby defines
were a wall connects to the detail
Rows: number of rows in the detail
Bricks: number of bricks in the detail
Auto Offset: True = Alternate Layer is set automatically by
the software
False = Alternate Layer can be set by user
Deviation: offsets the detail along the wall – to fine tune
the window position
BrickDesign 1.1.x 20
6 Custom details
Instead of choosing a predefined detail from the library
you can also create your own
custom detail. A custom detail is built from scratch through adding
single bricks, or you can
edit and rebuild existing details. (Inplace edit)
6.1 Create a new custom detail
Toolbar:
New Custom Brick
ommand : Insertion_point_brick ( format=full
format_family=default grid=default ):
Click on" format=ful l" to change the format. You can choose
between ful l , hal f , three quart br icks.
Cl ick on "format_family" to change the br ick format, you can
predefine formats in the format editor .
Cl ick on "grid" to change the Layer Grid of the br ick. You can
predefine LayerGrids in the Grid Editor.
Custom Brick Attr ibutes
Object: type of object
Format: set brick format
Main:
defines if brick should be interpreted as a main joint direction
Flipped:
flip the joint connection to the other side of brick
Side: set joint number
Copy, Mirror , Rotate the Custom bricks to bui ld your detai l .
The main s ide can only set once for each Joint Side.
Copy the brick or redo the commands above to create the amount of
bricks you need to
draw the detail .
Note: You can only use BrickDesign bricks to define details, other
geometries wil l not work
Note: The Setting "Side" of the bricks defines the amount of
joint-directions your detail is going to have. To define a detail
with the two joints, name the brick on the one side connecting the
detail ‘1’ and the brick defining the other side ‘2’.
Once you have drawn all necessary bricks that define your detail
you can add it to the
library.
Toolbar:
Pick Insert ion Point:
Define the insert ion point of the detai l by picking a point with
the mouse or type a coordinate into the rhino command l ine.
Pick the insert ion point of the detai l .
Name of Detai l:
Set the name of the detai l .
The detai l wi l l be added to the l ibrary. Notice that your def
ining br icks are now colored blue and they are mult ipl ied in the
next rows.
Note: bdlib_detail does not let you select a rotation. If you draw
the bricks directly on a real wall you should use
bdlib_detail_replace as described in the next section.
6.2 InPlace editing of details
Command: bdexplode_detail
Select Detail to explode:
Chose the detai l you would l ike to explode.
Exploding a detail will redraw the relevant bricks of the detail,
which are now unlocked for
editing.
BrickDesign 1.1.x 23
In order to add the detail to the library, call the
command
Toolbar:
bar:
BrickDesign / Commands / Add Custom Detail
This command is simpler than bdlib_detail since you do not have to
select the point of
insertion. Instead you select an existing detail for its
transform.
7 Brick formats
7.1 Brick formats
If not specifically chosen, BrickDesign applies a default brick
family for your model. A brick
family is a set of bricks based on a specific length and width; it
includes full-, half and three-
quart bricks. You can change the assigned brick format of a
detail , wall and reveal by
editing
its attributes.
bar:
BrickDesign / Editors / Formats
BrickDesign 1.1.x 24
8 Layer grid
Brickwork is a layered process. In the background all BrickDesign
objects are assigned to a
layer grid. A layer grid has a defined zero height position within
the rhino world coordinates
(default z=0) and a defined layer height (i.e. the height of the
bricks). A BrickDesign object
can only be drawn or moved within its assigned layer grid.
Therefore, BrickDesign objects
assigned to one and the same layer grid cannot intersect in
height.
Layer Grids editor .
Custom layer grids allow you to change the layer height
(automatically changes brick height)
and to position BrickDesign objects on a different z-height in the
world coordinate system.
NOTE: You can only adjust the grid attribute of details. The
spanned walls or other related details wil l be forced to the same
grid.
NOTE: Be aware that changes to the grid wil l affect al l related
BrickDesign components. The action cannot be undone.
Attributes of a grid
Height:
set layer height = height of bricks
BrickDesign 1.1.x 25
9 Components editor
The components editor provides you with an overview to all
BrickDesign objects. Selecting
an item within the editor will highlight the BrickDesign object in
the view port. The editor
displays all relevant attributes of the component.
Details / walls / deformers that
are
assigned to a facade can be filtered by turning them on/off in the
Facades-Chapter of the
component editor.
Component Editor
Name: set name of facade
Active: hide/unhide all objects assigned to that façade –
especially in large projects hiding facades can
improve performance
Note: To Hide/Show BrickDesign Objects you should use the façade
concept and not layer visibil it ies.
10 Patterns Actions
BrickDesign provides several methods to apply patterns on a façade.
Rather than having to
manipulate every single brick separately, these methods provide
tools that let you
manipulate the complete model or only specified regions in one go.
We describe two of
these methods in the next chapters.
In general patterns can only be applied to the frozen geometry of
the BrickDesign objects.
Please refer above on the difference between the parametric mode
and the frozen mode.
10.1 Action Editor
To apply a pattern you have to open the Action Editor.
Toolbar:
bar:
BrickDesign / Editors / Action Editor
BrickDesign 1.1.x 27
Action Editor with Act ion Chain "Chain 1" and Image Act ion "
Action 1"
The Action Editor toolbar on top-left lets youn access the general
functions of the Action
Editor.
Col lapse al l Chains and Actions.
.
Reset the wal l to i ts basic geometry.
BrickDesign 1.1.x 28
Each Chain can contain multiple actions that will be applied to
your wall geometry. Playing
the Chain will execute the active actions in descending order.
Within the chain bar you will
find several Pattern/ Effect/ Utility actions.
Chain bar with Play/ Pattern/ Effects/ Ut i l i t ies/ Delete
Functions.
Play wi l l run al l A ct ions within the Chain and apply them to
the wal l geometry( ies) .
Only one chain can be applied to a BrickDesign scene. A chain can
be considered like a
design variant. There are 3 types of actions: Patterns, Effects and
Utilities. Effects have to be
placed below a pattern. You can reorder the actions in a chain by
drag and drop. You can
enable/disable the activity of an action in its chain. An action
which is colored red indicates
that necessary attributes to perform the action are missing and
will not be executed.
Within the three main act ion categories you can choose from
several subcategories.
10.2 Image
The Image Pattern is one BrickDesign method to manipulate each
individual brick in the
wall, by mapping an image on the wall.
The action lets you derive a brick pattern from any image of your
choice. Image files can be
of format JPG, BMP, GIF, PNG, TIFF or ICO . The image will be
projected on the selected
facade region. The bricks in this region are manipulated according
to the pixel values at the
corresponding position in the image. The rules on how to transfer
the pixel values into
manipulation of the bricks can be set by the user.
Besides a façade that you want to manipulate you will also need a
projection curve onto
which the image will be placed. This can be a simple curve drawn in
rhino or you can use
the curve geometry assigned to a BrickDesign wall object.
Referenced curves are always
copied on the Layer “bd_links”.
BrickDesign 1.1.x 29
The image will be spanned along the selected projection curve and
from there projected
onto the wall. This means, the curve allows you to skew an image,
only project on part of a
wall, or run across multiple corners.
A project ion curve (green) spanning across a facade
Press "Show Image" to control the image locat ion and s ize.
BrickDesign supplies different possibilities to translate the pixel
values of the image. Define
the main color range of your images at "Color Channel" to e.g. map
a grayscale image. You
can move the referenced spline on the XYZ-Axis to adjust the
location of the picture on the
wall. The value "Offset Image" will offset the picture from the
wall for greater visibility.
BrickDesign 1.1.x 30
There are several possibilities on how your image is applied to the
wall. The Item
"Transformation" shows you the options rotate/ shift_x/ shift_y/
coloring.
The item "Amount" will set the maximum value of the brick
transformation. Depending on
the type of "Transformation"/ Rhino unit settings the
transformation unit ranges in
Degree(Rotation)/ cm (shift_y, shift_x)/ number of colors
(coloring).
Example of Image Pattern: Transformation set to "Rotate" at maximum
rotat ion of 30° .
Example of Image Pattern: Transformation set to "Color ing" at
Amount "3".
Image Action attributes
Name: name of the action
Projection Geometry: press on the button to select or change
the projection curve
Image File: press on the button to select or change the image
file you want to project
onto the façade
Note: BrickDesign only saves an external reference to the image fi
le. If you rename or move the original image fi le the reference
wil l be lost.
Offset/Show/Hide Image: You can preview the image in the CAD
through pressing Show image. The
offset Image helps you to show the image at the right place. The
image
geometry will be deleted every time the chain is applied.
Height: the height of the projected image
Color Channel: select what color channel of the image will be
evaluated, grey will evaluate
the average of all three color channels
Zero Amount Color: defines at what color value the
manipulation will be zero – e.g. 0 will
transform all bricks in one direction, 255 will transform all
bricks in the
opposite direction, 127 will transform bricks in both
direction.
Targets: press on the button to select or change the walls on
which to project the
image, default value is all objects
Pattern Target: select how the image will affect the bricks –
angle rotates the bricks around
their centroid, shift_x translates the bricks along the wall
curvature, shift_y
translates the bricks perpendicular to the wall curvature,
object_name will
assign different object names to the bricks, use this option to for
instance
apply different colors to the bricks
10.3
Forces
This method allows you to set points which represent sources of a
force field. Each point is
at the center of a decaying sin – Wave. The wavelength and the
decay behavior can be
adjusted.
Besides a façade that you want to manipulate you need any number of
points that will act as
force points. Draw these points using the common rhino point
command. Each point sends
out a sinus force field. The closer a point is located to the
façade the greater will be the
effect on the bricks. The more points you place the more explicit
the force field will become.
Start with a controllable amount of points to study the effect on
the brick wall.
Several force points set along a façade
Geometric pattern attributes
Name: name of the action
Force Sources: press on the button to select or change the
force points that will act upon the facade
Wave Length: set the length of the sinus wave
Decay Length: set the typical decay length of a force
source.
Decay Rate: set the decay rate of a force source. 0 means no
decay 2 means quadratic decay.
Targets: press on the button to select or change the walls on
which the force points will be
applied, default value is all objects
Pattern Target: select how the force points will affect the
bricks – angle rotates the bricks around their
centroid, shift_x translates the bricks along the wall curvature,
shift_y translates the
bricks perpendicular to the wall curvature, object_name will assign
different object
names to the bricks, use this option to for instance apply
different colors to the bricks
Code Action
A Code Action allows you to apply a custom Python-script to
transform the bricks. There are
several examples on how to write a custom script within the
BrickDesign installation folder
("\plugin_examples").
Custom scr ipt on wal l geometry.
3D Deform
The brick wall will be deformed according to some planar curves.
The source curve should
be near the floor print of the bricks. You need at least one target
curve to get a 3d-
Deformation. The last target curve will be shifted to the highest
z-Value of the target bricks.
You can also play with curve collections on the same height.
This will lead to openings in the
wall.
Source curve matching the f loor plan of the br ick wal l .
Transformation of the wal l to the target curve.
Effect Actions
The 3 effects provided help you to calm a pattern at corners,
windows or custom geometry.
To calm means that the amount of the effected pattern is reduced
near the target. The
effected pattern is the pattern that precedes the effect in the
chain.
10.7 Utility Actions
The utilities are normally appended at the end of the chain. There
are information utilities as
Count and Feasibility and utilities that
change the bricks like HorizontalGaps and
DeleteBricks .
The Feasibility utility marks all bricks which are
within a certain minimum gap and those that
fall below a predefined minimum overlap to the bricks ion the layer
below. The minimum
overlap area is given as a percentage between 0 and 1. 0.5 means
half of the surface has
overlap.
The Count utility counts the bricks of each format. So
normally this utility is at the end of the
chain.
DeleteBricks deletes bricks which are near a referenced
surfaces.
HorizontalGaps reduces the bricks in height. This is useful to
achieve visible horizontal joints
in renderings.