-
-
Notifications
You must be signed in to change notification settings - Fork 4
Carver: Shape Properties
Carver tool design is made of three steps:
- Two-dimensional shape is created in the viewport by the user.
- Mesh plane is created from that shape and is extruded to form a 3D object.
- Boolean modifier is added on object(s) with new object as cutter (and optionally applied).
Since the second and third parts are fairly straightforward, most of the important stuff happens in the shape-creation process. By keeping shapes 2D (and practically abstract) up until they need to be extruded, the tool can deliver the best performance and make maintenance and adding new features easier. This page describes properties in "Shape" dropdown menu in tool properties, and how each of the primitive shapes (Box
, Circle
, Polyline
) utilize them.
Aspect and origin properties define where and how the shape is drawn. They're modeled after properties with same names in "Add Primitive" tools found in Blender (above Carver tools in object and edit modes). Aspect and Origin properties do not exist for Polyline
tool.
-
by default shape is drawn from the initial mouse position to the last mouse position, meaning that the origin point of the drawing is the top-left corner, or Edge. The origin point can also be changed to Center, in which case the initial cursor position becomes the central point of the drawing, and the shape gets equally larger on both sides as cursor moves away from that center (both on the X and Y axes). Holding down the
Alt
key during the operator will flip the behavior. -
by default shape follows the mouse position on both the X and Y axes, which define width and height. That is called Free aspect. By switching to Fixed, user can disregard the mouse movement on Y axis and let height always equal to the width. This can create perfect squares and circles.
This property only exists for the Circle
tool and defines how many vertices will circular shape have, which will then be extruded into a cylinder. Number of vertices can be a minimum of 3 which forms a triangle (having 4 vertices results in a rectangle rotated at 45°, which in fact is exactly the same as Box
primitive, except for the bevel feature).
As expected, it rotates the shape. While rotation can be changed during the operation by holding down the R
key, it is recommended to pre-define exact rotation values and start drawing already rotated shapes, as they are much easier to control.
NOTE: There are multiple known issues and limitations with the current implementation of rotation.
They're not easy to control during modal and don't play well with other features. Improvements, as well as rotation snapping are planned.
Bevel is currently only available for the Box
tool and controls the beveling (or rounding) of corner vertices. Bevel can be enabled before the operator runs from the dropdown menu, or during modal by pressing the B
key. If B
is held down and not released it allows changing the remaining two bevel properties (also available in dropdown):
-
Bevel Radius: defines how rounded, or beveled corners are (similar to 'Amount' in a bevel modifier). (holding
B
and moving the cursor). -
Bevel Segments: defines how many vertices will be in each corner, and therefore smoothness (holding
B
and scrolling the mouse wheel).
When the bevel radius is adjusted during modal pushing it to the extreme left and sharpening the corners will fully disable the bevel to avoid unnecessary extra vertices in a cutter mesh.
Bevel radius also has clamping hard-coded to avoid overlapping vertices, that means there is a maximum limit of how round shape can be, and if shape starts getting too narrow or thin (and therefore bevel can no longer fit without overlapping) radius automatically starts to reduce, just like in bevel modifier when clamping is enabled.
This property exists only for the Polyline
tool and is currently the only shape property that tool has.
- Enabled by default, Closed Polygon means that the polygon created by mouse-clicks is drawn filled and always closed at the current mouse position, because when executed last mouse position is converted into the last vertice, which is connected to the first one.
- By disabling that user creates Open Polygon, in which current mouse position is ignored and only vertices which were created by clicks are taken into account. In this mode last drawn point will always connect to the first one no matter where the mouse is.
NOTE: There is currently a bug in closed polygon drawing: points are not subtracted from the shape when the mouse is moved inside an existing shape.
That doesn't mean that shape is invalid, or will not be created correctly. As long as lines are not intersecting cutter will be created.