The Packer object is the key element for parametric object modeling. It arranges its child objects into a row and scales
them to fill the space of the packer using a variety f options. 2D and 3D object arrays can be built by stacking
packers hierarchically.
The property gadget of packer has the options listed below.
Drag And Drop Snapping options define what happens, when a packer object is dragged from the object browser window
and dropped to a view window. The packer object has an ability to search closest other objects and snap into them. Snapping is based on
collision detection. You can use the Hit Invisible property of geometric primitives to control and optimize snapping.
- Dir2: The optional secondary snapping direction, which takes place after the primary snapping has been processed. For example,
a kitchen wall cabinet can first snap to a nearest wall and then move side by side to a closest other cabinet. Note that if snapping space
is set to Object, the secondary snapping happens in already rotated object space (see the Rotate option below).
- Dir3: The optional third snapping direction. For example, a kitchen cabinet designed to stand on a floor can first snap to the closest
wall, then snap to the floor level and finally snap to the nearest other cabinet.
- Rotate: The packer can be rotated to match the surface tangent at the snapping position. For example, a kitchen cabinet should turn its
backside against the wall to which it snaps. Rotate options define the 'route' of rotation as follows:
- Axis: The axis which is rotated to match the surface tangent. The 8 main axis directions +-X, +-Y, +-Z of the selected snapping
space are available. The option Any selects the axis that matches the tangent initially best i.e. selects the minimal required
rotation automatically.
- Fit: Defines what is snapped to the found target point.
- Range: A distance threshold for snapping. Surfaces further than this are not considered in snapping.
- Sampling: Defines how many directions are examined in 2D and 3D snapping cases. For example, if Dir1=XZ and sampling
is at the minimal level 1, four directions X, X-, Z and Z- are examined. If level is 2, 8 directions at 45-degree intervals are examined.
Geometry Managing options:
- Width: The current width (x dimension) of the packer object
- Height: The height (y dimension) of the packer
- Depth: The depth (z dimension) of the packer
- Min. Width, Min. Height, Min. Depth: You can set a minimal size for the packer object using these controls.
For example, a kitchen cabinet assembled from 16 mm plate must be at least 32 mm wide (in practice at least 10 cm wide).
The minimal size is initialized to the size of the packer at its creation time.
- X, Y, Z Modulo: If X modulo is nonzero, Width of the packer is automatically rounded to a multiply of the modulo value. Y and Z
dimension work in a similar way. In other words, Modulo values define an object specific snapping grid for the size. The feature is useful
when resizing the object manually using the edit handles of the packer. For example, allowed standard width values of kitchen cabinets
can be multiplies of 10 cm.
Packing options:
- Orientation: Defines the direction in which the packer arranges its child objects.
- Target: Selects a child object whose packing is controlled using the options below. If target=All, you can set packing options to
all child objects at once.
- Expand: Expand the packing space reserved for the selected target to fill the packer.
- Unmanage: Disables packer management for the selected target. For example, material map objects are
usually unmanaged children.
- IPad X, IPad Y, IPad Z: Expands the packing space reserved for the selected target.
- Anchor: The position of the selected target inside the packing space. Not relevant when the packing space is as large as the size of
the target (Expand disabled or Fill options enabled to fill a dimension)